diff --git a/src/interfaces/claims-result.ts b/src/interfaces/claims-result.ts index 30b524ec..d8f60f0c 100644 --- a/src/interfaces/claims-result.ts +++ b/src/interfaces/claims-result.ts @@ -37,6 +37,17 @@ export interface WorldProperties { endTime?: string; } +export interface ProviderInfo { + /** + * Could be a DID or a handleId that identifies the provider + */ + identifier: string; + /** + * Indicates if the provider link has been confirmed + */ + linkConfirmed: boolean; +} + // Type for createAndSubmitClaim result export type CreateAndSubmitClaimResult = SuccessResult | ErrorResult; diff --git a/src/main.capacitor.ts b/src/main.capacitor.ts index bc662144..3dcfd6ed 100644 --- a/src/main.capacitor.ts +++ b/src/main.capacitor.ts @@ -97,15 +97,15 @@ const handleDeepLink = async (data: { url: string }) => { const paramRoutes = { "claim-add-raw": /^claim-add-raw\/(.+)$/, "claim-cert": /^claim-cert\/(.+)$/, - claim: /^claim\/(.+)$/, + "claim": /^claim\/(.+)$/, "confirm-gift": /^confirm-gift\/(.+)$/, "contact-edit": /^contact-edit\/(.+)$/, "contact-import": /^contact-import\/(.+)$/, - did: /^did\/(.+)$/, + "did": /^did\/(.+)$/, "invite-one-accept": /^invite-one-accept\/(.+)$/, "offer-details": /^offer-details\/(.+)$/, - project: /^project\/(.+)$/, - userProfile: /^userProfile\/(.+)$/, + "project": /^project\/(.+)$/, + "user-profile": /^user-profile\/(.+)$/, }; // Match route pattern and extract parameter diff --git a/src/router/index.ts b/src/router/index.ts index 3d077e69..94b4ff51 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -276,8 +276,8 @@ const routes: Array = [ component: () => import("../views/TestView.vue"), }, { - path: "/userProfile/:id?", - name: "userProfile", + path: "/user-profile/:id?", + name: "user-profile", component: () => import("../views/UserProfileView.vue"), }, ]; diff --git a/src/views/ClaimView.vue b/src/views/ClaimView.vue index 2a2ebe43..ad51b09d 100644 --- a/src/views/ClaimView.vue +++ b/src/views/ClaimView.vue @@ -505,7 +505,7 @@ import { AxiosError } from "axios"; import * as yaml from "js-yaml"; import * as R from "ramda"; import { Component, Vue } from "vue-facing-decorator"; -import { Router } from "vue-router"; +import { Router, RouteLocationNormalizedLoaded } from "vue-router"; import { useClipboard } from "@vueuse/core"; import GiftedDialog from "../components/GiftedDialog.vue"; @@ -518,22 +518,20 @@ import { } from "../db/index"; import { Contact } from "../db/tables/contacts"; import * as serverUtil from "../libs/endorserServer"; -import { - GenericCredWrapper, +import { + GenericCredWrapper, OfferVerifiableCredential, -} from "../libs/endorserServer"; + ProviderInfo +} from '../interfaces'; import * as libsUtil from "../libs/util"; -interface ProviderInfo { - identifier: string; // could be a DID or a handleId - linkConfirmed: boolean; -} - @Component({ components: { GiftedDialog, QuickNav }, }) export default class ClaimView extends Vue { $notify!: (notification: NotificationIface, timeout?: number) => void; + $route!: RouteLocationNormalizedLoaded; + $router!: Router; activeDid = ""; allMyDids: Array = []; @@ -595,41 +593,30 @@ export default class ClaimView extends Vue { try { this.allMyDids = await libsUtil.retrieveAccountDids(); } catch (error) { - // continue because we want to see claims, even anonymously logConsoleAndDb( "Error retrieving all account DIDs on home page:" + error, true, ); - this.$notify( - { - group: "alert", - type: "danger", - title: "Error Loading Profile", - text: "See the Help page for problems with your personal data.", - }, - 5000, - ); + this.$notify({ + group: "alert", + type: "danger", + title: "Error Loading Profile", + text: "See the Help page for problems with your personal data.", + }, 5000); } - const pathParam = window.location.pathname.substring("/claim/".length); - let claimId; - if (pathParam) { - claimId = decodeURIComponent(pathParam); + const claimId = this.$route.params.id as string; + if (claimId) { await this.loadClaim(claimId, this.activeDid); } else { - this.$notify( - { - group: "alert", - type: "danger", - title: "Error", - text: "No claim ID was provided.", - }, - 5000, - ); + this.$notify({ + group: "alert", + type: "danger", + title: "Error", + text: "No claim ID was provided.", + }, 5000); } - // When Chrome compatibility is fixed https://developer.mozilla.org/en-US/docs/Web/API/Web_Share_API#api.navigator.canshare - // then use this truer check: navigator.canShare && navigator.canShare() this.canShare = !!navigator.share; }