forked from jsnbuchanan/crowd-funder-for-time-pwa
add new projects to front page
This commit is contained in:
@@ -197,14 +197,14 @@
|
||||
</div>
|
||||
|
||||
<div
|
||||
v-if="numNewOffersToUser"
|
||||
v-if="numNewOffersToUser || numNewOffersToUserProjects"
|
||||
@click="goToActivityToUserPage()"
|
||||
class="border-t p-2 border-slate-300"
|
||||
>
|
||||
<div class="flex justify-center">
|
||||
<div
|
||||
v-if="numNewOffersToUser"
|
||||
class="bg-gradient-to-b from-green-400 to-green-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] px-4 py-4 rounded-md text-white"
|
||||
class="bg-gradient-to-b from-green-400 to-green-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] m-1 px-4 py-4 rounded-md text-white"
|
||||
>
|
||||
<span
|
||||
class="block text-center text-6xl"
|
||||
@@ -214,6 +214,21 @@
|
||||
</span>
|
||||
<p>new offer{{ numNewOffersToUser === 1 ? "" : "s" }} to you</p>
|
||||
</div>
|
||||
<div
|
||||
v-if="numNewOffersToUserProjects"
|
||||
class="bg-gradient-to-b from-green-400 to-green-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] m-1 px-4 py-4 rounded-md text-white"
|
||||
>
|
||||
<span
|
||||
class="block text-center text-6xl"
|
||||
data-testId="newOffersToUserProjectsActivityNumber"
|
||||
>
|
||||
{{ numNewOffersToUserProjects }}
|
||||
</span>
|
||||
<p>
|
||||
new offer{{ numNewOffersToUserProjects === 1 ? "" : "s" }} to your
|
||||
projects
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex justify-end mt-2">
|
||||
<button class="text-blue-500">View All New Activity For You</button>
|
||||
@@ -379,6 +394,7 @@ import {
|
||||
fetchEndorserRateLimits,
|
||||
getHeaders,
|
||||
getNewOffersToUser,
|
||||
getNewOffersToUserProjects,
|
||||
getPlanFromCache,
|
||||
GiveSummaryRecord,
|
||||
} from "@/libs/endorserServer";
|
||||
@@ -443,8 +459,10 @@ export default class HomeView extends Vue {
|
||||
isFeedFilteredByNearby = false;
|
||||
isFeedLoading = true;
|
||||
isRegistered = false;
|
||||
lastAckedOfferToUserJwtId?: string; // the last JWT ID for offer-to-user that they've acknowledged
|
||||
lastAckedOfferToUserJwtId?: string; // the last JWT ID for offer-to-user that they've acknowledged seeing
|
||||
lastAckedOfferToUserProjectsJwtId?: string; // the last JWT ID for offers-to-user's-projects that they've acknowledged seeing
|
||||
numNewOffersToUser: number = 0; // number of new offers-to-user
|
||||
numNewOffersToUserProjects: number = 0; // number of new offers-to-user's-projects
|
||||
searchBoxes: Array<{
|
||||
name: string;
|
||||
bbox: BoundingBox;
|
||||
@@ -475,6 +493,8 @@ export default class HomeView extends Vue {
|
||||
this.isFeedFilteredByNearby = !!settings.filterFeedByNearby;
|
||||
this.isRegistered = !!settings.isRegistered;
|
||||
this.lastAckedOfferToUserJwtId = settings.lastAckedOfferToUserJwtId;
|
||||
this.lastAckedOfferToUserProjectsJwtId =
|
||||
settings.lastAckedOfferToUserProjectsJwtId;
|
||||
this.searchBoxes = settings.searchBoxes || [];
|
||||
this.showShortcutBvc = !!settings.showShortcutBvc;
|
||||
|
||||
@@ -519,6 +539,17 @@ export default class HomeView extends Vue {
|
||||
).length;
|
||||
}
|
||||
|
||||
if (this.activeDid) {
|
||||
this.numNewOffersToUserProjects = (
|
||||
await getNewOffersToUserProjects(
|
||||
this.axios,
|
||||
this.apiServer,
|
||||
this.activeDid,
|
||||
this.lastAckedOfferToUserProjectsJwtId,
|
||||
)
|
||||
).length;
|
||||
}
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
} catch (err: any) {
|
||||
console.error("Error retrieving settings or feed.", err);
|
||||
|
||||
Reference in New Issue
Block a user