From 99bda4b57a549b34d02d00c58f016c09342cfe00 Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Sat, 9 Mar 2024 21:36:45 +0000 Subject: [PATCH] feat(repo-details): add unique commit and naddr and copy naddr on click --- src/lib/components/repo/RepoDetails.svelte | 39 ++++++++++++++++++++++ src/lib/components/repo/type.ts | 2 ++ src/lib/components/repo/vectors.ts | 1 + src/lib/stores/repos.ts | 1 + 4 files changed, 43 insertions(+) diff --git a/src/lib/components/repo/RepoDetails.svelte b/src/lib/components/repo/RepoDetails.svelte index f624ba9..7b62d11 100644 --- a/src/lib/components/repo/RepoDetails.svelte +++ b/src/lib/components/repo/RepoDetails.svelte @@ -4,6 +4,7 @@ export let { event_id, + naddr, identifier, unique_commit, name, @@ -21,6 +22,7 @@ !description && description.length > 500 ? description.slice(0, 450) + '...' : description + let naddr_copied = false
@@ -149,4 +151,41 @@ {/each} {/if}
+ + {#if loading} +
+
+
+ {:else if unique_commit && unique_commit.length > 0} +

earliest unique commit

+

{unique_commit}

+ {/if} + + {#if loading} +
+
+
+ {:else if naddr && naddr.length > 0} + + +
{ + try { + await navigator.clipboard.writeText(naddr) + naddr_copied = true + setTimeout(() => { + naddr_copied = false + }, 2000) + } catch {} + }} + > +

+ naddr + {#if naddr_copied} + (copied){/if} +

+

{naddr}

+
+ {/if} diff --git a/src/lib/components/repo/type.ts b/src/lib/components/repo/type.ts index d44e272..388361a 100644 --- a/src/lib/components/repo/type.ts +++ b/src/lib/components/repo/type.ts @@ -2,6 +2,7 @@ import { defaults as user_defaults, type User } from '../users/type' export interface RepoEvent { event_id: string + naddr: string identifier: string unique_commit: string | undefined name: string @@ -17,6 +18,7 @@ export interface RepoEvent { } export const event_defaults: RepoEvent = { event_id: '', + naddr: '', identifier: '', unique_commit: '', name: '', diff --git a/src/lib/components/repo/vectors.ts b/src/lib/components/repo/vectors.ts index a738a8f..0798b1b 100644 --- a/src/lib/components/repo/vectors.ts +++ b/src/lib/components/repo/vectors.ts @@ -48,6 +48,7 @@ const base: RepoEvent = { ], loading: false, event_id: '', + naddr: '', web: ['https://gitworkshop.dev/repo/example', 'https://example.com'], referenced_by: [], created_at: 0, diff --git a/src/lib/stores/repos.ts b/src/lib/stores/repos.ts index c0a4e50..2522c09 100644 --- a/src/lib/stores/repos.ts +++ b/src/lib/stores/repos.ts @@ -253,6 +253,7 @@ export const eventToRepoEvent = (event: NDKEvent): RepoEvent | undefined => { }) return { event_id: event.id, + naddr: event.encode(), identifier: event.replaceableDTag(), unique_commit: event.tagValue('r') || undefined, name: event.tagValue('name') || '',