|
|
@ -14,19 +14,29 @@ |
|
|
|
class="flex items-center justify-between gap-2 text-lg bg-slate-200 border border-slate-300 border-b-0 rounded-t-md px-3 sm:px-4 py-1 sm:py-2" |
|
|
|
> |
|
|
|
<div class="flex items-center gap-2"> |
|
|
|
<EntityIcon |
|
|
|
<router-link |
|
|
|
v-if="record.issuerDid && !isHiddenDid(record.issuerDid)" |
|
|
|
:entity-id="record.issuerDid" |
|
|
|
class="rounded-full bg-white overflow-hidden !size-[2rem] object-cover" |
|
|
|
/> |
|
|
|
:to="{ |
|
|
|
path: '/did/' + encodeURIComponent(record.issuerDid), |
|
|
|
}" |
|
|
|
title="More details about this person" |
|
|
|
> |
|
|
|
<EntityIcon |
|
|
|
:entity-id="record.issuerDid" |
|
|
|
class="rounded-full bg-white overflow-hidden !size-[2rem] object-cover" |
|
|
|
/> |
|
|
|
</router-link> |
|
|
|
<font-awesome |
|
|
|
v-else-if="isHiddenDid(record.issuerDid)" |
|
|
|
icon="eye-slash" |
|
|
|
class="text-slate-400 !size-[2rem]" |
|
|
|
class="text-slate-400 !size-[2rem] cursor-pointer" |
|
|
|
@click="notifyHiddenPerson" |
|
|
|
/> |
|
|
|
<font-awesome v-else |
|
|
|
<font-awesome |
|
|
|
v-else |
|
|
|
icon="person-circle-question" |
|
|
|
class="text-slate-400 !size-[2rem]" |
|
|
|
class="text-slate-400 !size-[2rem] cursor-pointer" |
|
|
|
@click="notifyUnknownPerson" |
|
|
|
/> |
|
|
|
|
|
|
|
<div> |
|
|
@ -78,22 +88,37 @@ |
|
|
|
<div> |
|
|
|
<!-- Project Icon --> |
|
|
|
<div v-if="record.providerPlanName"> |
|
|
|
<ProjectIcon |
|
|
|
:entity-id="record.providerPlanName" |
|
|
|
:icon-size="48" |
|
|
|
class="rounded size-[3rem] sm:size-[4rem] *:w-full *:h-full" |
|
|
|
/> |
|
|
|
<router-link |
|
|
|
:to="{ |
|
|
|
path: '/project/' + encodeURIComponent(record.providerPlanHandleId || ''), |
|
|
|
}" |
|
|
|
title="View project details" |
|
|
|
> |
|
|
|
<ProjectIcon |
|
|
|
:entity-id="record.providerPlanHandleId || ''" |
|
|
|
:icon-size="48" |
|
|
|
class="rounded size-[3rem] sm:size-[4rem] *:w-full *:h-full" |
|
|
|
/> |
|
|
|
</router-link> |
|
|
|
</div> |
|
|
|
<!-- Identicon for DIDs --> |
|
|
|
<div v-else-if="record.agentDid"> |
|
|
|
<EntityIcon |
|
|
|
<router-link |
|
|
|
v-if="!isHiddenDid(record.agentDid)" |
|
|
|
:entity-id="record.agentDid" |
|
|
|
:profile-image-url="record.issuer.profileImageUrl" |
|
|
|
class="rounded-full bg-slate-100 overflow-hidden !size-[3rem] sm:!size-[4rem]" |
|
|
|
/> |
|
|
|
:to="{ |
|
|
|
path: '/did/' + encodeURIComponent(record.agentDid), |
|
|
|
}" |
|
|
|
title="More details about this person" |
|
|
|
> |
|
|
|
<EntityIcon |
|
|
|
:entity-id="record.agentDid" |
|
|
|
:profile-image-url="record.issuer.profileImageUrl" |
|
|
|
class="rounded-full bg-slate-100 overflow-hidden !size-[3rem] sm:!size-[4rem]" |
|
|
|
/> |
|
|
|
</router-link> |
|
|
|
<font-awesome |
|
|
|
v-else |
|
|
|
@click="notifyHiddenPerson" |
|
|
|
icon="eye-slash" |
|
|
|
class="text-slate-300 !size-[3rem] sm:!size-[4rem]" |
|
|
|
/> |
|
|
@ -101,6 +126,7 @@ |
|
|
|
<!-- Unknown Person --> |
|
|
|
<div v-else> |
|
|
|
<font-awesome |
|
|
|
@click="notifyUnknownPerson" |
|
|
|
icon="person-circle-question" |
|
|
|
class="text-slate-300 text-[3rem] sm:text-[4rem]" |
|
|
|
/> |
|
|
@ -146,22 +172,37 @@ |
|
|
|
<div> |
|
|
|
<!-- Project Icon --> |
|
|
|
<div v-if="record.recipientProjectName"> |
|
|
|
<ProjectIcon |
|
|
|
:entity-id="record.recipientProjectName" |
|
|
|
:icon-size="48" |
|
|
|
class="rounded size-[3rem] sm:size-[4rem] *:w-full *:h-full" |
|
|
|
/> |
|
|
|
<router-link |
|
|
|
:to="{ |
|
|
|
path: '/project/' + encodeURIComponent(record.fulfillsPlanHandleId || ''), |
|
|
|
}" |
|
|
|
title="View project details" |
|
|
|
> |
|
|
|
<ProjectIcon |
|
|
|
:entity-id="record.fulfillsPlanHandleId || ''" |
|
|
|
:icon-size="48" |
|
|
|
class="rounded size-[3rem] sm:size-[4rem] *:w-full *:h-full" |
|
|
|
/> |
|
|
|
</router-link> |
|
|
|
</div> |
|
|
|
<!-- Identicon for DIDs --> |
|
|
|
<div v-else-if="record.recipientDid"> |
|
|
|
<EntityIcon |
|
|
|
<router-link |
|
|
|
v-if="!isHiddenDid(record.recipientDid)" |
|
|
|
:entity-id="record.recipientDid" |
|
|
|
:profile-image-url="record.receiver.profileImageUrl" |
|
|
|
class="rounded-full bg-slate-100 overflow-hidden !size-[3rem] sm:!size-[4rem]" |
|
|
|
/> |
|
|
|
:to="{ |
|
|
|
path: '/did/' + encodeURIComponent(record.recipientDid), |
|
|
|
}" |
|
|
|
title="More details about this person" |
|
|
|
> |
|
|
|
<EntityIcon |
|
|
|
:entity-id="record.recipientDid" |
|
|
|
:profile-image-url="record.receiver.profileImageUrl" |
|
|
|
class="rounded-full bg-slate-100 overflow-hidden !size-[3rem] sm:!size-[4rem]" |
|
|
|
/> |
|
|
|
</router-link> |
|
|
|
<font-awesome |
|
|
|
v-else |
|
|
|
@click="notifyHiddenPerson" |
|
|
|
icon="eye-slash" |
|
|
|
class="text-slate-300 !size-[3rem] sm:!size-[4rem]" |
|
|
|
/> |
|
|
@ -169,6 +210,7 @@ |
|
|
|
<!-- Unknown Person --> |
|
|
|
<div v-else> |
|
|
|
<font-awesome |
|
|
|
@click="notifyUnknownPerson" |
|
|
|
icon="person-circle-question" |
|
|
|
class="text-slate-300 text-[3rem] sm:text-[4rem]" |
|
|
|
/> |
|
|
@ -205,6 +247,7 @@ import EntityIcon from "./EntityIcon.vue"; |
|
|
|
import { isGiveClaimType, notifyWhyCannotConfirm } from "../libs/util"; |
|
|
|
import { containsHiddenDid, isHiddenDid } from "../libs/endorserServer"; |
|
|
|
import ProjectIcon from "./ProjectIcon.vue"; |
|
|
|
import { NotificationIface } from "../constants/app"; |
|
|
|
|
|
|
|
@Component({ |
|
|
|
components: { |
|
|
@ -220,6 +263,31 @@ export default class ActivityListItem extends Vue { |
|
|
|
@Prop() confirmerIdList?: string[]; |
|
|
|
|
|
|
|
isHiddenDid = isHiddenDid; |
|
|
|
$notify!: (notification: NotificationIface, timeout?: number) => void; |
|
|
|
|
|
|
|
notifyHiddenPerson() { |
|
|
|
this.$notify( |
|
|
|
{ |
|
|
|
group: "alert", |
|
|
|
type: "warning", |
|
|
|
title: "Hidden Person", |
|
|
|
text: "This person is not visible to you.", |
|
|
|
}, |
|
|
|
3000 |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
notifyUnknownPerson() { |
|
|
|
this.$notify( |
|
|
|
{ |
|
|
|
group: "alert", |
|
|
|
type: "warning", |
|
|
|
title: "Unknown Person", |
|
|
|
text: "This person is not known.", |
|
|
|
}, |
|
|
|
3000 |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
@Emit() |
|
|
|
cacheImage(image: string) { |
|
|
|