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') || '',