diff --git a/nostr/commit-signatures.jsonl b/nostr/commit-signatures.jsonl index ef2225a..a152fb9 100644 --- a/nostr/commit-signatures.jsonl +++ b/nostr/commit-signatures.jsonl @@ -47,3 +47,4 @@ {"kind":1640,"pubkey":"573634b648634cbad10f2451776089ea21090d9407f715e83c577b4611ae6edc","created_at":1771691277,"tags":[["author","Silberengel","silberengel7@protonmail.com"],["message","fix docs"]],"content":"Signed commit: fix docs","id":"4671648712f19537cbf0fd00cf19e254eae4a1ac9c1274ea396e62dac193b88c","sig":"49a3e89e312ec4caebfeacdaade3e4cc6d027ab9c50d8e6aa1998f120a81d8d51235ae397df6e42b9efca4147497b8881731dda6d58fee7d28d2ac07cec295ec"} {"kind":1640,"pubkey":"573634b648634cbad10f2451776089ea21090d9407f715e83c577b4611ae6edc","created_at":1771705699,"tags":[["author","Silberengel","silberengel7@protonmail.com"],["message","bug-fixes"]],"content":"Signed commit: bug-fixes","id":"59d0c409196dccb8109a29829002df69dbca43c5e95c1fdc1e7baa0b88ee5927","sig":"af8726a86e30c64b098ad13946d5bc84cb08d5ea8b75f08641c03fbdd8b9c91683e8091b206159dde2239ea8964cb3589bcb4ec2892541d2980f186a0fb09af9"} {"kind":1640,"pubkey":"573634b648634cbad10f2451776089ea21090d9407f715e83c577b4611ae6edc","created_at":1771708933,"tags":[["author","Silberengel","silberengel7@protonmail.com"],["message","bug-fixes"]],"content":"Signed commit: bug-fixes","id":"6d8832125b76095b2e7ed57b71e26a6c05d9b19a14dfa76724c71f392147fe95","sig":"6ddebfa995b5b3f469db5f3cdbd7d13fa2307d7988c2667479015d6bc2ff442be357ee97e51340a944eb34fed73522db3930016d343810927486bdbcabddae5c"} +{"kind":1640,"pubkey":"573634b648634cbad10f2451776089ea21090d9407f715e83c577b4611ae6edc","created_at":1771742489,"tags":[["author","Silberengel","silberengel7@protonmail.com"],["message","bug-fixes"]],"content":"Signed commit: bug-fixes","id":"6fd5146b5f5980987adc5e6b93a1bcb31cfbb6a2e4fce6f1dbe5c7fdf54b717a","sig":"41422b07b63fc494c0aba22b85f1b56a6a5527f9df48d49816f7be417ad74608f8d1dff8302f562b2f47690720c089aab76db948f5bf1ecdda68741b256d7a2b"} diff --git a/src/lib/components/RepoHeaderEnhanced.svelte b/src/lib/components/RepoHeaderEnhanced.svelte index 65ecf5d..fce58d5 100644 --- a/src/lib/components/RepoHeaderEnhanced.svelte +++ b/src/lib/components/RepoHeaderEnhanced.svelte @@ -42,6 +42,7 @@ needsClone?: boolean; allMaintainers?: Array<{ pubkey: string; isOwner: boolean }>; onCopyEventId?: () => void; + topics?: string[]; } let { @@ -82,7 +83,8 @@ hasUnlimitedAccess = false, needsClone = false, allMaintainers = [], - onCopyEventId + onCopyEventId, + topics = [] }: Props = $props(); let showCloneMenu = $state(false); @@ -211,6 +213,14 @@

{repoDescription}

{/if} + {#if topics && topics.length > 0} +
+ {#each topics as topic} + {topic} + {/each} +
+ {/if} +
+
+ {#each pageData.repoCloneUrls.slice(0, 3) as cloneUrl} {@const cloneVerification = verificationStatus?.cloneVerifications?.find(cv => { const normalizeUrl = (url: string) => url.replace(/\/$/, '').toLowerCase().replace(/^https?:\/\//, ''); const normalizedCv = normalizeUrl(cv.url); @@ -3900,10 +3947,11 @@ {/if}
- {/each} - {#if pageData.repoCloneUrls.length > 3} - +{pageData.repoCloneUrls.length - 3} more - {/if} + {/each} + {#if pageData.repoCloneUrls.length > 3} + +{pageData.repoCloneUrls.length - 3} more + {/if} +
{/if} @@ -3950,7 +3998,9 @@ class="create-file-button" disabled={needsClone} title={needsClone ? cloneTooltip : 'Create a new file'} - >+ New File + > + New File + {/if} +

Commits

{#if loadingCommits}
Loading commits...
@@ -4062,7 +4108,9 @@ class="create-tag-button" disabled={needsClone} title={needsClone ? cloneTooltip : 'Create a new tag'} - >+ New Tag + > + New Tag + {/if} {#if tags.length === 0} @@ -4100,7 +4148,9 @@ + }} class="create-issue-button" title="Create a new issue"> + New Issue + {/if} {#if loadingIssues} @@ -4159,7 +4209,9 @@ + }} class="create-pr-button" title="Create a new pull request"> + New PR + {/if} {#if loadingPRs} @@ -4191,6 +4243,127 @@ {/if} + + {#if activeTab === 'patches'} + + {/if} + + + {#if activeTab === 'discussions'} + + {/if} + + + {#if activeTab === 'docs'} + + {/if} +
{#if activeTab === 'files' && readmeContent && !currentFile} @@ -4403,29 +4576,29 @@
{/if} - {#if activeTab === 'docs'} -
-
- activeTab = tab as typeof activeTab} - /> -

Docs

-
- {#if loadingDocs} -
Loading documentation...
- {:else if documentationHtml} -
- {@html documentationHtml} -
- {:else if documentationContent === null} + {#if activeTab === 'patches'} +
+ {#if patches.length === 0}
-

No documentation found for this repository.

+

No patches found. Create one to get started!

+ {:else if selectedPatch} + {#each patches.filter(p => p.id === selectedPatch) as patch} +
+

{patch.subject}

+
+ #{patch.id.slice(0, 7)} + Created {new Date(patch.created_at * 1000).toLocaleString()} + +
+
+
{patch.content}
+
+
+ {/each} {:else}
-

Documentation content is empty.

+

Select a patch from the sidebar to view it

{/if}
@@ -4433,62 +4606,18 @@ {#if activeTab === 'discussions'}
-
- activeTab = tab as typeof activeTab} - /> -

Discussions

-
- - {#if userPubkey} - - {/if} -
-
- {#if loadingDiscussions} -
Loading discussions...
- {:else if discussions.length === 0} + {#if discussions.length === 0}

No discussions found. {#if userPubkey}Create a new discussion thread to get started!{:else}Log in to create a discussion thread.{/if}

- {:else} - {#each discussions as discussion} + {:else if selectedDiscussion} + {#each discussions.filter(d => d.id === selectedDiscussion) as discussion} {@const isExpanded = discussion.type === 'thread' && expandedThreads.has(discussion.id)} {@const hasComments = discussion.comments && discussion.comments.length > 0} -
-
-
- {#if discussion.type === 'thread'} - - {/if} -

{discussion.title}

-
-
+
+
+

{discussion.title}

+
{#if discussion.type === 'thread'} Thread {#if hasComments} @@ -4502,14 +4631,15 @@ {#if discussion.type === 'thread' && userPubkey} {/if}
@@ -4519,7 +4649,7 @@

{discussion.content}

{/if} - {#if discussion.type === 'thread' && isExpanded && hasComments} + {#if discussion.type === 'thread' && hasComments} {@const totalReplies = countAllReplies(discussion.comments)}

Replies ({totalReplies})

@@ -4531,14 +4661,15 @@ {#if userPubkey} {/if}
@@ -4587,14 +4718,15 @@ {#if userPubkey} {/if}
@@ -4611,14 +4743,15 @@ {#if userPubkey} {/if}
@@ -4648,14 +4781,15 @@ {#if userPubkey} {/if}
@@ -4694,68 +4828,36 @@
{/if} - {#if comment.replies && comment.replies.length > 0} -
- {#each comment.replies as reply} -
-
- - {new Date(reply.createdAt * 1000).toLocaleString()} - - {#if userPubkey} - - {/if} -
-
-

{reply.content}

-
- {#if reply.replies && reply.replies.length > 0} -
- {#each reply.replies as nestedReply} -
-
- - {new Date(nestedReply.createdAt * 1000).toLocaleString()} - - {#if userPubkey} - - {/if} -
-
-

{nestedReply.content}

-
-
- {/each} -
- {/if} -
- {/each} -
- {/if}
{/each} {/if} {/each} + {:else} +
+

Select a discussion from the sidebar to view it

+
+ {/if} + + {/if} + + {#if activeTab === 'docs'} +
+ {#if loadingDocs} +
Loading documentation...
+ {:else if documentationHtml} +
+ {@html documentationHtml} +
+ {:else if documentationContent === null} +
+

No documentation found for this repository.

+
+ {:else} +
+

Documentation content is empty.

+
{/if}
{/if} diff --git a/static/icons/plus.svg b/static/icons/plus.svg new file mode 100644 index 0000000..d1b4bf8 --- /dev/null +++ b/static/icons/plus.svg @@ -0,0 +1,4 @@ + + + +