|
@ -1,5 +1,6 @@ |
|
|
<template> |
|
|
<template> |
|
|
<QuickNav /> |
|
|
<QuickNav /> |
|
|
|
|
|
<TopMessage /> |
|
|
<!-- CONTENT --> |
|
|
<!-- CONTENT --> |
|
|
<section id="Content" class="p-6 pb-24 max-w-3xl mx-auto"> |
|
|
<section id="Content" class="p-6 pb-24 max-w-3xl mx-auto"> |
|
|
<!-- Breadcrumb --> |
|
|
<!-- Breadcrumb --> |
|
@ -148,10 +149,10 @@ |
|
|
|
|
|
|
|
|
<span v-if="totalConfirmers() === 0">Nobody has confirmed this.</span> |
|
|
<span v-if="totalConfirmers() === 0">Nobody has confirmed this.</span> |
|
|
<span v-else-if="totalConfirmers() === 1"> |
|
|
<span v-else-if="totalConfirmers() === 1"> |
|
|
One person has confirmed this. |
|
|
One person confirmed this. |
|
|
</span> |
|
|
</span> |
|
|
<span v-else> |
|
|
<span v-else> |
|
|
{{ totalConfirmers() }} people have confirmed this. |
|
|
{{ totalConfirmers() }} people confirmed this. |
|
|
</span> |
|
|
</span> |
|
|
|
|
|
|
|
|
<div v-if="totalConfirmers() > 0"> |
|
|
<div v-if="totalConfirmers() > 0"> |
|
@ -170,10 +171,10 @@ |
|
|
" |
|
|
" |
|
|
> |
|
|
> |
|
|
<!-- Only show if this person has links to confirmers (below). --> |
|
|
<!-- Only show if this person has links to confirmers (below). --> |
|
|
Nobody that you know has issued or confirmed this claim. |
|
|
Nobody that you know issued or confirmed this claim. |
|
|
</div> |
|
|
</div> |
|
|
<div v-if="confirmerIdList.length > 0"> |
|
|
<div v-if="confirmerIdList.length > 0"> |
|
|
The following people have issued or confirmed this claim. |
|
|
The following people issued or confirmed this claim. |
|
|
<ul class="ml-4"> |
|
|
<ul class="ml-4"> |
|
|
<li |
|
|
<li |
|
|
v-for="confirmerId in confirmerIdList" |
|
|
v-for="confirmerId in confirmerIdList" |
|
@ -205,7 +206,7 @@ |
|
|
|
|
|
|
|
|
<!-- |
|
|
<!-- |
|
|
Never need to show this message: |
|
|
Never need to show this message: |
|
|
"Nobody that you know can see someone who has confirmed this claim." |
|
|
"Nobody that you know can see someone who confirmed this claim." |
|
|
|
|
|
|
|
|
If there is nobody in the confirmerIdList then we'll show the combined "nobody" message. |
|
|
If there is nobody in the confirmerIdList then we'll show the combined "nobody" message. |
|
|
If there is somebody in the confirmerIdList then that's all they need to show. |
|
|
If there is somebody in the confirmerIdList then that's all they need to show. |
|
@ -213,7 +214,7 @@ |
|
|
|
|
|
|
|
|
<!-- Now show anyone linked to confirmers. --> |
|
|
<!-- Now show anyone linked to confirmers. --> |
|
|
<div v-if="confsVisibleToIdList.length > 0"> |
|
|
<div v-if="confsVisibleToIdList.length > 0"> |
|
|
The following people can connect you with people who have issued or |
|
|
The following people can connect you with people who issued or |
|
|
confirmed this claim. |
|
|
confirmed this claim. |
|
|
<ul class="ml-4"> |
|
|
<ul class="ml-4"> |
|
|
<li |
|
|
<li |
|
@ -249,10 +250,11 @@ |
|
|
|
|
|
|
|
|
<!-- explain if user cannot confirm --> |
|
|
<!-- explain if user cannot confirm --> |
|
|
<!-- Note that these conditions are mirrored in userCanConfirm(). --> |
|
|
<!-- Note that these conditions are mirrored in userCanConfirm(). --> |
|
|
<div v-if="confirmerIdList.includes(activeDid)"> |
|
|
<div v-if="!isRegistered"> |
|
|
You have confirmed this claim. |
|
|
You cannot confirm this because you are not registered. Find someone |
|
|
|
|
|
to register you, maybe on the Help page. |
|
|
</div> |
|
|
</div> |
|
|
<div v-else-if="giveDetails.agentDid == activeDid"> |
|
|
<div v-else-if="giveDetails.issuerDid == activeDid"> |
|
|
You cannot confirm this because you issued this claim, so you already |
|
|
You cannot confirm this because you issued this claim, so you already |
|
|
count as confirming it. |
|
|
count as confirming it. |
|
|
</div> |
|
|
</div> |
|
@ -410,13 +412,14 @@ import { Account } from "@/db/tables/accounts"; |
|
|
import { Contact } from "@/db/tables/contacts"; |
|
|
import { Contact } from "@/db/tables/contacts"; |
|
|
import { MASTER_SETTINGS_KEY, Settings } from "@/db/tables/settings"; |
|
|
import { MASTER_SETTINGS_KEY, Settings } from "@/db/tables/settings"; |
|
|
import * as serverUtil from "@/libs/endorserServer"; |
|
|
import * as serverUtil from "@/libs/endorserServer"; |
|
|
import { displayAmount } from "@/libs/endorserServer"; |
|
|
import {displayAmount, GiveSummaryRecord} from "@/libs/endorserServer"; |
|
|
import * as libsUtil from "@/libs/util"; |
|
|
import * as libsUtil from "@/libs/util"; |
|
|
import { isGiveAction } from "@/libs/util"; |
|
|
import { isGiveAction } from "@/libs/util"; |
|
|
|
|
|
import TopMessage from "@/components/TopMessage.vue"; |
|
|
|
|
|
|
|
|
@Component({ |
|
|
@Component({ |
|
|
methods: { displayAmount }, |
|
|
methods: { displayAmount }, |
|
|
components: { QuickNav }, |
|
|
components: { TopMessage, QuickNav }, |
|
|
}) |
|
|
}) |
|
|
export default class ClaimView extends Vue { |
|
|
export default class ClaimView extends Vue { |
|
|
$notify!: (notification: NotificationIface, timeout?: number) => void; |
|
|
$notify!: (notification: NotificationIface, timeout?: number) => void; |
|
@ -430,7 +433,7 @@ export default class ClaimView extends Vue { |
|
|
confirmerIdList: string[] = []; // list of DIDs that have confirmed this claim excluding the issuer |
|
|
confirmerIdList: string[] = []; // list of DIDs that have confirmed this claim excluding the issuer |
|
|
confsVisibleErrorMessage = ""; |
|
|
confsVisibleErrorMessage = ""; |
|
|
confsVisibleToIdList: string[] = []; // list of DIDs that can see any confirmer |
|
|
confsVisibleToIdList: string[] = []; // list of DIDs that can see any confirmer |
|
|
giveDetails = null; |
|
|
giveDetails?: GiveSummaryRecord; |
|
|
giverName = ""; |
|
|
giverName = ""; |
|
|
issuerName = ""; |
|
|
issuerName = ""; |
|
|
isLoading = false; |
|
|
isLoading = false; |
|
@ -453,7 +456,7 @@ export default class ClaimView extends Vue { |
|
|
this.confirmerIdList = []; |
|
|
this.confirmerIdList = []; |
|
|
this.confsVisibleErrorMessage = ""; |
|
|
this.confsVisibleErrorMessage = ""; |
|
|
this.confsVisibleToIdList = []; |
|
|
this.confsVisibleToIdList = []; |
|
|
this.giveDetails = null; |
|
|
this.giveDetails = undefined; |
|
|
this.isRegistered = false; |
|
|
this.isRegistered = false; |
|
|
this.numConfsNotVisible = 0; |
|
|
this.numConfsNotVisible = 0; |
|
|
this.urlForNewGive = ""; |
|
|
this.urlForNewGive = ""; |
|
@ -605,6 +608,12 @@ export default class ClaimView extends Vue { |
|
|
}, |
|
|
}, |
|
|
3000, |
|
|
3000, |
|
|
); |
|
|
); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// the logic already stops earlier if the claim doesn't exist but this helps with typechecking |
|
|
|
|
|
if (!this.giveDetails) { |
|
|
|
|
|
return; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
this.urlForNewGive = "/gifted-details?"; |
|
|
this.urlForNewGive = "/gifted-details?"; |
|
@ -645,7 +654,8 @@ export default class ClaimView extends Vue { |
|
|
this.giveDetails.fulfillsHandleId |
|
|
this.giveDetails.fulfillsHandleId |
|
|
) { |
|
|
) { |
|
|
this.urlForNewGive += |
|
|
this.urlForNewGive += |
|
|
"&offerId=" + encodeURIComponent(this.giveDetails.fulfillsHandleId); |
|
|
"&offerId=" + |
|
|
|
|
|
encodeURIComponent(this.giveDetails?.fulfillsHandleId as string); |
|
|
} |
|
|
} |
|
|
if (this.giveDetails.fulfillsPlanHandleId) { |
|
|
if (this.giveDetails.fulfillsPlanHandleId) { |
|
|
this.urlForNewGive += |
|
|
this.urlForNewGive += |
|
@ -666,9 +676,11 @@ export default class ClaimView extends Vue { |
|
|
const resultList1 = response.data.result || []; |
|
|
const resultList1 = response.data.result || []; |
|
|
//const publicUrls = resultList.publicUrls || []; |
|
|
//const publicUrls = resultList.publicUrls || []; |
|
|
delete resultList1.publicUrls; |
|
|
delete resultList1.publicUrls; |
|
|
|
|
|
// remove any hidden DIDs |
|
|
const resultList2 = R.reject(serverUtil.isHiddenDid, resultList1); |
|
|
const resultList2 = R.reject(serverUtil.isHiddenDid, resultList1); |
|
|
|
|
|
// remove confirmations by this user |
|
|
const resultList3 = R.reject( |
|
|
const resultList3 = R.reject( |
|
|
(did: string) => did === this.giveDetails.agentDid, |
|
|
(did: string) => did === this.giveDetails?.issuerDid, |
|
|
resultList2, |
|
|
resultList2, |
|
|
); |
|
|
); |
|
|
this.confirmerIdList = resultList3; |
|
|
this.confirmerIdList = resultList3; |
|
@ -814,11 +826,11 @@ export default class ClaimView extends Vue { |
|
|
group: "alert", |
|
|
group: "alert", |
|
|
type: "info", |
|
|
type: "info", |
|
|
title: "Already Confirmed", |
|
|
title: "Already Confirmed", |
|
|
text: "You have already confirmed this claim.", |
|
|
text: "You already confirmed this claim.", |
|
|
}, |
|
|
}, |
|
|
3000, |
|
|
3000, |
|
|
); |
|
|
); |
|
|
} else if (this.giveDetails.agentDid == this.activeDid) { |
|
|
} else if (this.giveDetails?.issuerDid == this.activeDid) { |
|
|
this.$notify( |
|
|
this.$notify( |
|
|
{ |
|
|
{ |
|
|
group: "alert", |
|
|
group: "alert", |
|
@ -828,7 +840,7 @@ export default class ClaimView extends Vue { |
|
|
}, |
|
|
}, |
|
|
3000, |
|
|
3000, |
|
|
); |
|
|
); |
|
|
} else if (serverUtil.containsHiddenDid(this.giveDetails.fullClaim)) { |
|
|
} else if (serverUtil.containsHiddenDid(this.giveDetails?.fullClaim)) { |
|
|
this.$notify( |
|
|
this.$notify( |
|
|
{ |
|
|
{ |
|
|
group: "alert", |
|
|
group: "alert", |
|
|