forked from trent_larson/crowd-funder-for-time-pwa
Compare commits
5 Commits
notiwind-a
...
ui-fix
| Author | SHA1 | Date | |
|---|---|---|---|
| f09684d7cd | |||
| 1767a48a7f | |||
| 4866416aae | |||
| e48a4ed05b | |||
| 87cfead094 |
@@ -24,6 +24,7 @@ tasks:
|
|||||||
|
|
||||||
- 24 Move to Vite
|
- 24 Move to Vite
|
||||||
|
|
||||||
|
- .5 add link to further project / people when a project pays ahead
|
||||||
- .5 add project ID to the URL, to make a project publicly-accessible
|
- .5 add project ID to the URL, to make a project publicly-accessible
|
||||||
- .5 remove edit from project page for projects owned by others
|
- .5 remove edit from project page for projects owned by others
|
||||||
- .5 fix where user 0 sees no txns from user 1 on contacts page but sees them on list page
|
- .5 fix where user 0 sees no txns from user 1 on contacts page but sees them on list page
|
||||||
|
|||||||
@@ -82,10 +82,15 @@ export function isHiddenDid(did) {
|
|||||||
/**
|
/**
|
||||||
always returns text, maybe UNNAMED_VISIBLE or UNKNOWN_ENTITY
|
always returns text, maybe UNNAMED_VISIBLE or UNKNOWN_ENTITY
|
||||||
**/
|
**/
|
||||||
export function didInfo(did, activeDid, allMyDids, contacts) {
|
export function didInfo(
|
||||||
const myId: string | undefined = R.find(R.identity, allMyDids);
|
did: string,
|
||||||
|
activeDid: string,
|
||||||
|
allMyDids: Array<string>,
|
||||||
|
contacts: Array<Contact>,
|
||||||
|
): string {
|
||||||
|
const myId: string | undefined = R.find(R.equals(did), allMyDids, did);
|
||||||
if (myId) {
|
if (myId) {
|
||||||
return "You" + (myId.did !== activeDid ? " (Alt ID)" : "");
|
return "You" + (myId !== activeDid ? " (Alt ID)" : "");
|
||||||
} else {
|
} else {
|
||||||
const contact: Contact | undefined = R.find((c) => c.did === did, contacts);
|
const contact: Contact | undefined = R.find((c) => c.did === did, contacts);
|
||||||
if (contact) {
|
if (contact) {
|
||||||
|
|||||||
@@ -135,7 +135,7 @@
|
|||||||
<fa icon="trash-can" class="fa-fw" />
|
<fa icon="trash-can" class="fa-fw" />
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<div v-if="!showGiveNumbers" class="ml-auto flex gap-1.5">
|
<div v-if="showGiveNumbers" class="ml-auto flex gap-1.5">
|
||||||
<button
|
<button
|
||||||
class="text-sm uppercase bg-blue-600 text-white px-2 py-1.5 rounded-md"
|
class="text-sm uppercase bg-blue-600 text-white px-2 py-1.5 rounded-md"
|
||||||
@click="onClickAddGive(activeDid, contact.did)"
|
@click="onClickAddGive(activeDid, contact.did)"
|
||||||
|
|||||||
@@ -90,10 +90,12 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="grow">
|
<div class="grow">
|
||||||
<h2 class="text-base font-semibold">Canyon cleanup</h2>
|
<h2 class="text-base font-semibold">{{ project.name }}</h2>
|
||||||
<div class="text-sm">
|
<div class="text-sm">
|
||||||
<fa icon="user" class="fa-fw text-slate-400"></fa>
|
<fa icon="user" class="fa-fw text-slate-400"></fa>
|
||||||
{{ project.name }}
|
{{
|
||||||
|
didInfo(project.issuerDid, activeDid, allMyDids, allContacts)
|
||||||
|
}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
@@ -111,8 +113,10 @@
|
|||||||
import { Component, Vue } from "vue-facing-decorator";
|
import { Component, Vue } from "vue-facing-decorator";
|
||||||
|
|
||||||
import { accountsDB, db } from "@/db";
|
import { accountsDB, db } from "@/db";
|
||||||
|
import { Contact } from "@/db/tables/contacts";
|
||||||
import { MASTER_SETTINGS_KEY } from "@/db/tables/settings";
|
import { MASTER_SETTINGS_KEY } from "@/db/tables/settings";
|
||||||
import { accessToken } from "@/libs/crypto";
|
import { accessToken } from "@/libs/crypto";
|
||||||
|
import { didInfo } from "@/libs/endorserServer";
|
||||||
import AlertMessage from "@/components/AlertMessage";
|
import AlertMessage from "@/components/AlertMessage";
|
||||||
import QuickNav from "@/components/QuickNav";
|
import QuickNav from "@/components/QuickNav";
|
||||||
import InfiniteScroll from "@/components/InfiniteScroll";
|
import InfiniteScroll from "@/components/InfiniteScroll";
|
||||||
@@ -122,6 +126,8 @@ import InfiniteScroll from "@/components/InfiniteScroll";
|
|||||||
})
|
})
|
||||||
export default class DiscoverView extends Vue {
|
export default class DiscoverView extends Vue {
|
||||||
activeDid = "";
|
activeDid = "";
|
||||||
|
allContacts: Array<Contact> = [];
|
||||||
|
allMyDids: Array<string> = [];
|
||||||
apiServer = "";
|
apiServer = "";
|
||||||
searchTerms = "";
|
searchTerms = "";
|
||||||
alertMessage = "";
|
alertMessage = "";
|
||||||
@@ -133,11 +139,20 @@ export default class DiscoverView extends Vue {
|
|||||||
remoteCount = 0;
|
remoteCount = 0;
|
||||||
isLoading = false;
|
isLoading = false;
|
||||||
|
|
||||||
|
// make this function available to the Vue template
|
||||||
|
didInfo = didInfo;
|
||||||
|
|
||||||
async mounted() {
|
async mounted() {
|
||||||
await db.open();
|
await db.open();
|
||||||
const settings = await db.settings.get(MASTER_SETTINGS_KEY);
|
const settings = await db.settings.get(MASTER_SETTINGS_KEY);
|
||||||
this.activeDid = settings?.activeDid || "";
|
this.activeDid = settings?.activeDid || "";
|
||||||
this.apiServer = settings?.apiServer || "";
|
this.apiServer = settings?.apiServer || "";
|
||||||
|
this.allContacts = await db.contacts.toArray();
|
||||||
|
|
||||||
|
await accountsDB.open();
|
||||||
|
const allAccounts = await accountsDB.accounts.toArray();
|
||||||
|
this.allMyDids = allAccounts.map((acc) => acc.did);
|
||||||
|
|
||||||
this.searchLocal();
|
this.searchLocal();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -166,7 +181,6 @@ export default class DiscoverView extends Vue {
|
|||||||
public async search(beforeId?: string) {
|
public async search(beforeId?: string) {
|
||||||
let queryParams = "claimContents=" + encodeURIComponent(this.searchTerms);
|
let queryParams = "claimContents=" + encodeURIComponent(this.searchTerms);
|
||||||
|
|
||||||
console.log(beforeId);
|
|
||||||
if (beforeId) {
|
if (beforeId) {
|
||||||
queryParams = queryParams + `&beforeId=${beforeId}`;
|
queryParams = queryParams + `&beforeId=${beforeId}`;
|
||||||
}
|
}
|
||||||
@@ -204,9 +218,8 @@ export default class DiscoverView extends Vue {
|
|||||||
const plans: ProjectData[] = results.data;
|
const plans: ProjectData[] = results.data;
|
||||||
if (plans) {
|
if (plans) {
|
||||||
for (const plan of plans) {
|
for (const plan of plans) {
|
||||||
const { name, description, handleId = plan.handleId, rowid } = plan;
|
const { name, description, handleId, rowid, issuerDid } = plan;
|
||||||
console.log("here");
|
this.projects.push({ name, description, handleId, rowid, issuerDid });
|
||||||
this.projects.push({ name, description, handleId, rowid });
|
|
||||||
}
|
}
|
||||||
this.remoteCount = this.projects.length;
|
this.remoteCount = this.projects.length;
|
||||||
} else {
|
} else {
|
||||||
@@ -310,8 +323,6 @@ export default class DiscoverView extends Vue {
|
|||||||
async loadMoreData(payload: boolean) {
|
async loadMoreData(payload: boolean) {
|
||||||
if (this.projects.length > 0 && payload) {
|
if (this.projects.length > 0 && payload) {
|
||||||
const latestProject = this.projects[this.projects.length - 1];
|
const latestProject = this.projects[this.projects.length - 1];
|
||||||
console.log("rowid", latestProject, payload);
|
|
||||||
console.log(Object.keys(latestProject));
|
|
||||||
if (this.isLocalActive) {
|
if (this.isLocalActive) {
|
||||||
this.searchLocal(latestProject["rowid"]);
|
this.searchLocal(latestProject["rowid"]);
|
||||||
} else if (this.isRemoteActive) {
|
} else if (this.isRemoteActive) {
|
||||||
|
|||||||
@@ -93,7 +93,7 @@
|
|||||||
<h1 class="text-xl">Given to this Project</h1>
|
<h1 class="text-xl">Given to this Project</h1>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<h1 class="text-xl">... and from this Project</h1>
|
<h1 class="text-xl">... and paid forward from this Project</h1>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex justify-around">
|
<div class="flex justify-around">
|
||||||
@@ -108,7 +108,12 @@
|
|||||||
}}</span>
|
}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex gap-2" v-if="give.amount">
|
<div class="flex gap-2" v-if="give.amount">
|
||||||
<fa icon="coins" class="fa-fw text-slate-400"></fa>
|
<fa
|
||||||
|
icon="clock"
|
||||||
|
v-if="give.unit === 'HUR'"
|
||||||
|
class="fa-fw text-slate-400"
|
||||||
|
></fa>
|
||||||
|
<fa icon="coins" v-else class="fa-fw text-slate-400"></fa>
|
||||||
<span>{{ give.amount }}</span>
|
<span>{{ give.amount }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex gap-2" v-if="give.description">
|
<div class="flex gap-2" v-if="give.description">
|
||||||
@@ -130,7 +135,12 @@
|
|||||||
}}</span>
|
}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex gap-2" v-if="give.amount">
|
<div class="flex gap-2" v-if="give.amount">
|
||||||
<fa icon="coins" class="fa-fw text-slate-400"></fa>
|
<fa
|
||||||
|
icon="clock"
|
||||||
|
v-if="give.unit === 'HUR'"
|
||||||
|
class="fa-fw text-slate-400"
|
||||||
|
></fa>
|
||||||
|
<fa icon="coins" v-else class="fa-fw text-slate-400"></fa>
|
||||||
<span>{{ give.amount }}</span>
|
<span>{{ give.amount }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex gap-2">
|
<div class="flex gap-2">
|
||||||
|
|||||||
Reference in New Issue
Block a user