From 493746b14c1251a45b061d2e3edd9160c929d2b9 Mon Sep 17 00:00:00 2001 From: benj Date: Fri, 10 Apr 2026 11:13:34 +0800 Subject: a basic ui and landing web interface for tidyindex.com --- web/ui/src/routes/dashboard/keys/+page.svelte | 220 ++++++++++++++++++++++++++ 1 file changed, 220 insertions(+) create mode 100644 web/ui/src/routes/dashboard/keys/+page.svelte (limited to 'web/ui/src/routes/dashboard/keys/+page.svelte') diff --git a/web/ui/src/routes/dashboard/keys/+page.svelte b/web/ui/src/routes/dashboard/keys/+page.svelte new file mode 100644 index 0000000..b0a066f --- /dev/null +++ b/web/ui/src/routes/dashboard/keys/+page.svelte @@ -0,0 +1,220 @@ + + +

ยง 01  ·  api keys

+
+
+

Your API keys.

+

+ {data.activeCount} active, {data.keys.length - data.activeCount} revoked. Your + {data.plan.name} plan allows + {Number.isFinite(data.plan.maxKeys) ? data.plan.maxKeys : 'unlimited'} + active key{data.plan.maxKeys === 1 ? '' : 's'}. +

+
+ {#if !showCreate} + + {/if} +
+ +{#if form && 'created' in form && form.created} +
+
+ New key + Copy this key now โ€” it won't be shown again. +
+
+ {form.created.plaintext} + +
+

+ Store it somewhere safe. Once you leave this page we only keep the hash. +

+
+{/if} + +{#if showCreate} +
+
+

New key

+ +
+ +
+ + +

Just for you โ€” how you'll recognize this key in the list.

+
+ +
+ dataset scope +
+ + {#each DATASETS as slug} + + {/each} +
+

+ {#if allScopes} + This key will work against every dataset in the catalog. + {:else} + This key will only work against the {selected.size} selected dataset{selected.size === 1 ? '' : 's'}. + {/if} +

+
+ + {#if allScopes} + + {:else} + {#each [...selected] as slug} + + {/each} + {/if} + +
+ + +
+
+{/if} + +{#if data.keys.length === 0} +
+

No keys yet.

+

Click "+ New key" to create your first one.

+
+{:else} + {#each data.keys as key (key.id)} +
+
+
+
+ {key.name} + {#if key.active} + Active + {:else} + Revoked + {/if} +
+
{maskKey(key.key_prefix)}
+
+ scope: {scopeSummary(key.scopes)} +
+
+ created {fmtDate(key.created_at)} + {#if key.last_used_at} + last used {fmtDate(key.last_used_at)} + {:else} + last used never + {/if} +
+
+ + {#if key.active} +
+ + +
+ {/if} +
+
+ {/each} +{/if} -- cgit v1.2.3