diff --git a/.changeset/proud-adults-raise.md b/.changeset/proud-adults-raise.md new file mode 100644 index 0000000..9304d6e --- /dev/null +++ b/.changeset/proud-adults-raise.md @@ -0,0 +1,5 @@ +--- +"neogrok": patch +--- + +Make repositories table a bit skinnier by abbreviating git commit shas diff --git a/src/lib/server/zoekt-list-repositories.ts b/src/lib/server/zoekt-list-repositories.ts index 377893e..8ba8f89 100644 --- a/src/lib/server/zoekt-list-repositories.ts +++ b/src/lib/server/zoekt-list-repositories.ts @@ -85,6 +85,7 @@ const listResultSchema = v.object({ URL: v.string(), LatestCommitDate: dateSchema, FileURLTemplate: v.string(), + CommitURLTemplate: v.string(), Branches: v.array( v .object({ Name: v.string(), Version: v.string() }) @@ -102,6 +103,7 @@ const listResultSchema = v.object({ URL, LatestCommitDate, FileURLTemplate, + CommitURLTemplate, Branches, }) => ({ name: Name, @@ -110,6 +112,7 @@ const listResultSchema = v.object({ url: URL, lastCommit: toISOStringWithoutMs(LatestCommitDate), fileUrlTemplate: FileURLTemplate, + commitUrlTemplate: CommitURLTemplate, branches: Branches, }), ), diff --git a/src/routes/repositories/repository.svelte b/src/routes/repositories/repository.svelte index 5ed8d70..173d1a0 100644 --- a/src/routes/repositories/repository.svelte +++ b/src/routes/repositories/repository.svelte @@ -12,7 +12,12 @@ lastCommit, branches, stats: { fileCount, indexBytes, contentBytes }, + commitUrlTemplate, } = repository); + + // Abbreviate git hashes. Helps make the very wide table a bit narrower. + const abbreviateVersion = (v: string) => + /^[a-z0-9]{40}$/.test(v) ? v.slice(0, 8) : v; @@ -21,9 +26,17 @@ {fileCount} - {branches - .map(({ name: branchName, version }) => `${branchName}@${version}`) - .join(" ")} + {#each branches as { name: branchName, version }} + {branchName}@ + {#if commitUrlTemplate} + {abbreviateVersion(version)} + {:else} + {abbreviateVersion(version)} + {/if} + + {/each} {prettyBytes(contentBytes, { space: false })} {prettyBytes(indexBytes, { space: false })}