diff --git a/ROADMAP.md b/ROADMAP.md index 9356dc5c..a7d07d84 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -4,9 +4,8 @@ - [ ] Use vida to stream development - [ ] Fix connection management stuff. Have GPT help - [ ] Relay reviews - - New kind, d as url? Combine with labeling? - - Show reviews in relay detail rather than events. Warn about events tab - Add curated relay list, and an easy way to view content on the relays + - Deploy ontology.coracle.social - [ ] Add preview proxy thing - [ ] White-labeled - [ ] Add invite code registration for relay @@ -71,6 +70,10 @@ - [ ] NIP 39 Support https://github.com/nostr-protocol/nips/pull/201/files - [ ] Integrate plephy https://plebhy.com/ - [ ] Add support for website kind0 +- [ ] Schedule notes for x seconds in the future with a queue + - In the queue, add send now and cancel buttons + - maybe put all user events here too - keep track of what relays they were published to + - Add un-delete using event log # UI/Features diff --git a/src/agent/cmd.ts b/src/agent/cmd.ts index 17e3f7fc..f94ca093 100644 --- a/src/agent/cmd.ts +++ b/src/agent/cmd.ts @@ -84,6 +84,8 @@ const requestZap = (relays, content, pubkey, eventId, amount, lnurl) => { const deleteEvent = ids => new PublishableEvent(5, {tags: ids.map(id => ["e", id])}) +const createLabel = payload => new PublishableEvent(1985, payload) + // Utils const tagsFromContent = (content, tags) => { @@ -158,7 +160,6 @@ class PublishableEvent { } async publish(relays, onProgress = null, verb = "EVENT") { const event = await this.getSignedEvent() - // console.log(event); return const promise = pool.publish({relays, event, onProgress, verb}) // Copy the event since loki mutates it to add metadata @@ -186,5 +187,6 @@ export default { createReply, requestZap, deleteEvent, + createLabel, PublishableEvent, } diff --git a/src/app/ModalRoutes.svelte b/src/app/ModalRoutes.svelte index 8e8a03fe..f1bb2da4 100644 --- a/src/app/ModalRoutes.svelte +++ b/src/app/ModalRoutes.svelte @@ -21,6 +21,7 @@ import ListEdit from "src/app/views/ListEdit.svelte" import RelayAdd from "src/app/views/RelayAdd.svelte" import RelayDetail from "src/app/views/RelayDetail.svelte" + import RelayReview from "src/app/views/RelayReview.svelte" export let m @@ -41,6 +42,8 @@ {:else if m.type === "relay/detail"} +{:else if m.type === "relay/review"} + {:else if m.type === "onboarding"} {:else if m.type === "room/edit"} diff --git a/src/app/shared/Feed.svelte b/src/app/shared/Feed.svelte index cb62de35..04105d31 100644 --- a/src/app/shared/Feed.svelte +++ b/src/app/shared/Feed.svelte @@ -1,6 +1,6 @@ - + {#if notesBuffer.length > 0}
- {/each} + + {#if $canPublish} + {#if $lists.length > 0} + + +
+ {#each $lists as e (e.id)} + {@const meta = Tags.from(e).asMeta()} -
-
- {:else} - - {/if} + {/each} + +
+ + {:else} + {/if} - - {#key $feedsTab} - - {/key} - + {/if} + + {#key $feedsTab} + + {/key}
diff --git a/src/app/views/RelayDetail.svelte b/src/app/views/RelayDetail.svelte index e8fa9a22..ed2f7b27 100644 --- a/src/app/views/RelayDetail.svelte +++ b/src/app/views/RelayDetail.svelte @@ -2,15 +2,22 @@ import {displayRelay, normalizeRelayUrl} from "src/util/nostr" import Content from "src/partials/Content.svelte" import Feed from "src/app/shared/Feed.svelte" + import Tabs from "src/partials/Tabs.svelte" import RelayTitle from "src/app/shared/RelayTitle.svelte" import RelayActions from "src/app/shared/RelayActions.svelte" import {relays} from "src/agent/db" export let url + let activeTab = "reviews" + url = normalizeRelayUrl(url) const relay = relays.get(url) || {url} + const tabs = ["reviews", "notes"] + const setActiveTab = tab => { + activeTab = tab + } document.title = displayRelay(relay) @@ -23,8 +30,17 @@ {#if relay.description}

{relay.description}

{/if} -
-
- - + + {#if activeTab === "reviews"} + + {:else} + + {/if} diff --git a/src/app/views/RelayReview.svelte b/src/app/views/RelayReview.svelte new file mode 100644 index 00000000..de54ba53 --- /dev/null +++ b/src/app/views/RelayReview.svelte @@ -0,0 +1,48 @@ + + +
+ + Leave a review +
+
+
+ Your rating: + +
+
+