diff --git a/src/components/OfferDialog.vue b/src/components/OfferDialog.vue index 47064a9..c625952 100644 --- a/src/components/OfferDialog.vue +++ b/src/components/OfferDialog.vue @@ -207,9 +207,9 @@ export default class OfferDialog extends Vue { group: "alert", type: "danger", title: "Error", - text: "You must select an identifier before you can record an offer.", + text: "You must select an identity before you can record an offer.", }, - -1, + 7000, ); return; } @@ -264,7 +264,7 @@ export default class OfferDialog extends Vue { title: "Success", text: "That offer was recorded.", }, - 10000, + 5000, ); } // eslint-disable-next-line @typescript-eslint/no-explicit-any diff --git a/src/db/tables/settings.ts b/src/db/tables/settings.ts index 517a4d0..22832b6 100644 --- a/src/db/tables/settings.ts +++ b/src/db/tables/settings.ts @@ -31,8 +31,13 @@ export type Settings = { isRegistered?: boolean; imageServer?: string; lastName?: string; // deprecated - put all names in firstName + + lastAckedOfferToUserJwtId?: string; // the last JWT ID for offer-to-user that they've acknowledged + + // The claim list has a most recent one used in notifications that's separate from the last viewed lastNotifiedClaimId?: string; lastViewedClaimId?: string; + passkeyExpirationMinutes?: number; // passkey access token time-to-live in minutes profileImageUrl?: string; // may be null if unwanted for a particular account reminderTime?: number; // Time in milliseconds since UNIX epoch for reminders @@ -53,7 +58,7 @@ export type Settings = { webPushServer?: string; // Web Push server URL }; -export function isAnyFeedFilterOn(settings: Settings): boolean { +export function checkIsAnyFeedFilterOn(settings: Settings): boolean { return !!(settings?.filterFeedByNearby || settings?.filterFeedByVisible); } diff --git a/src/libs/endorserServer.ts b/src/libs/endorserServer.ts index 767245b..3dfb815 100644 --- a/src/libs/endorserServer.ts +++ b/src/libs/endorserServer.ts @@ -587,6 +587,17 @@ export async function setPlanInCache( planCache.set(handleId, planSummary); } +export async function getNewOffersToUser(axios: Axios, apiServer: string, activeDid: string, lastAckedOfferToUserJwtId?: string) { + let url = `${apiServer}/api/v2/report/offers?recipientDid=${activeDid}`; + if (lastAckedOfferToUserJwtId) { + url += "&afterId=" + lastAckedOfferToUserJwtId; + } + const headers = await getHeaders(activeDid); + const response = await axios.get(url, { headers }); + const offers = response.data.data; + return offers; +} + /** * Construct GiveAction VC for submission to server * diff --git a/src/router/index.ts b/src/router/index.ts index 3ceda6a..9b81a14 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -133,6 +133,11 @@ const routes: Array = [ name: "invite-one", component: () => import("../views/InviteOneView.vue"), }, + { + path: "/new-activity", + name: "new-activity", + component: () => import("../views/NewActivityView.vue"), + }, { path: "/new-edit-account", name: "new-edit-account", diff --git a/src/views/ContactGiftingView.vue b/src/views/ContactGiftingView.vue index 2a64249..07a00ac 100644 --- a/src/views/ContactGiftingView.vue +++ b/src/views/ContactGiftingView.vue @@ -123,7 +123,7 @@ export default class ContactGiftingView extends Vue { err.message || "There was an error retrieving your settings or contacts.", }, - -1, + 5000, ); } } diff --git a/src/views/ContactsView.vue b/src/views/ContactsView.vue index 5fc815d..838a19e 100644 --- a/src/views/ContactsView.vue +++ b/src/views/ContactsView.vue @@ -88,7 +88,7 @@ @click="toggleShowContactAmounts()" > {{ - showGiveNumbers ? "Hide Given Hours etc" : "Show Given Hours etc" + showGiveNumbers ? "Hide Given Hours, etc" : "Show Given Hours, etc" }} @@ -182,44 +182,40 @@ > + + +