Browse Source

add link to project from gives on front page

starred-projects
Trent Larson 11 months ago
parent
commit
31a7752168
  1. 12
      project.task.yaml
  2. 27
      src/libs/endorserServer.ts
  3. 37
      src/views/HomeView.vue
  4. 2
      src/views/ProjectViewView.vue

12
project.task.yaml

@ -1,18 +1,18 @@
tasks: tasks:
- check that 'show more contacts' from the contact-give-list on the project screen includes project ID
- supply the projectId to the OfferDialog just like we do with the offerId - supply the projectId to the OfferDialog just like we do with the offerId
- the confirm button on each give on the ProjectViewView page doesn't have all the context of the ClaimView page, so it can show sometimes inappropriately; consider consolidation - the confirm button on each give on the ProjectViewView page doesn't have all the context of the ClaimView page, so it can show sometimes inappropriately; consider consolidation
- choose an agent via a contact chooser (not just copy-paste a DID) - choose an agent via a contact chooser (not just copy-paste a DID)
- make the "give" on contact screen work like other give (allowing donation vs current blank) - make the "give" on contact screen work like other give (allowing donation vs current blank)
- check that 'show more contacts' from the contact-give-list on the project screen includes project ID
- on ClaimView, the "ask someone" should refer to "visible" IDs, or to confirmations only if confirmations are visible - on ClaimView, the "ask someone" should refer to "visible" IDs, or to confirmations only if confirmations are visible
- give feedback when import is completed - notify user when import is completed
- "send them to this page" on ClaimView should be a link for installed app - "send them to this page" on ClaimView should be a link (for installed app)
- show VC details... somehow: - 01 show my VCs - most interesting, or via search
- 01 show my VCs - most interesting, or via search - 04 allow user to download & prove chains of VCs, mine + ones I can see about me from others
- 04 allow user to download & prove chains of VCs, mine + ones I can see about me from others
- on gives feed - link to project - on gives feed - link to project
- show feed of offers, new projects, etc -- maybe limited to my search area - show feed of offers, new projects, etc -- maybe limited to my search area

27
src/libs/endorserServer.ts

@ -66,6 +66,7 @@ export interface GiveServerRecord {
amountConfirmed: number; amountConfirmed: number;
description: string; description: string;
fullClaim: GiveVerifiableCredential; fullClaim: GiveVerifiableCredential;
fulfillsPlanHandleId: string;
handleId: string; handleId: string;
issuedAt: string; issuedAt: string;
jwtId: string; jwtId: string;
@ -77,6 +78,7 @@ export interface OfferServerRecord {
amount: number; amount: number;
amountGiven: number; amountGiven: number;
fullClaim: OfferVerifiableCredential; fullClaim: OfferVerifiableCredential;
fulfillsPlanHandleId: string;
handleId: string; handleId: string;
offeredByDid: string; offeredByDid: string;
recipientDid: string; recipientDid: string;
@ -85,6 +87,19 @@ export interface OfferServerRecord {
validThrough: string; validThrough: string;
} }
export interface PlanServerRecord {
agentDid?: string; // optional, if the issuer wants someone else to manage as well
description: string;
endTime?: string;
fulfillsPlanHandleId: string;
issuerDid: string;
handleId: string;
locLat?: number;
locLon?: number;
startTime?: string;
url?: string;
}
// Note that previous VCs may have additional fields. // Note that previous VCs may have additional fields.
// https://endorser.ch/doc/html/transactions.html#id4 // https://endorser.ch/doc/html/transactions.html#id4
export interface GiveVerifiableCredential { export interface GiveVerifiableCredential {
@ -127,18 +142,6 @@ export interface PlanVerifiableCredential {
}; };
} }
export interface PlanServerRecord {
agentDid?: string; // optional, if the issuer wants someone else to manage as well
description: string;
endTime?: string;
issuerDid: string;
handleId: string;
locLat?: number;
locLon?: number;
startTime?: string;
url?: string;
}
export interface RegisterVerifiableCredential { export interface RegisterVerifiableCredential {
"@context": string; "@context": string;
"@type": string; "@type": string;

37
src/views/HomeView.vue

@ -179,12 +179,35 @@
You've seen all the following before You've seen all the following before
</div> </div>
<div class="flex"> <div class="grid grid-cols-12">
<fa icon="gift" class="pt-1 pr-2 text-slate-500"></fa> <span class="col-span-11 justify-self-start">
<span class="">{{ this.giveDescription(record) }}</span> <fa
<a @click="onClickLoadClaim(record.jwtId)"> icon="gift"
<fa icon="circle-info" class="pl-2 pt-1 text-slate-500"></fa> class="col-span-1 pt-1 pr-2 text-slate-500"
</a> ></fa>
{{ this.giveDescription(record) }}
<a @click="onClickLoadClaim(record.jwtId)">
<fa
icon="circle-info"
class="pl-2 text-blue-500 cursor-pointer"
></fa>
</a>
</span>
<span class="col-span-1 justify-self-end shrink">
<router-link
v-if="record.fulfillsPlanHandleId"
:to="
'/project/' +
encodeURIComponent(record.fulfillsPlanHandleId)
"
class="justify-end"
>
<fa
icon="hand-holding-heart"
class="ml-4 pl-2 text-blue-500"
></fa>
</router-link>
</span>
</div> </div>
</li> </li>
</ul> </ul>
@ -243,7 +266,7 @@ export default class HomeView extends Vue {
allContacts: Array<Contact> = []; allContacts: Array<Contact> = [];
allMyDids: Array<string> = []; allMyDids: Array<string> = [];
apiServer = ""; apiServer = "";
feedData = []; feedData: GiveServerRecord[] = [];
feedPreviousOldestId?: string; feedPreviousOldestId?: string;
feedLastViewedClaimId?: string; feedLastViewedClaimId?: string;
isCreatingIdentifier = false; isCreatingIdentifier = false;

2
src/views/ProjectViewView.vue

@ -314,7 +314,7 @@
<div v-if="fulfilledByThis" class="bg-slate-100 px-4 py-3 rounded-md"> <div v-if="fulfilledByThis" class="bg-slate-100 px-4 py-3 rounded-md">
<h3 class="text-sm uppercase font-semibold mb-3"> <h3 class="text-sm uppercase font-semibold mb-3">
Contributions By This Idea Contributions From This Idea
</h3> </h3>
<!-- centering because long, wrapped project names didn't left align with blank or "text-left" --> <!-- centering because long, wrapped project names didn't left align with blank or "text-left" -->
<div class="text-center"> <div class="text-center">

Loading…
Cancel
Save