diff --git a/ui/src/app.css b/ui/src/app.css index c106a57..0cf8a36 100644 --- a/ui/src/app.css +++ b/ui/src/app.css @@ -8,6 +8,47 @@ --color-surface-3: #3f3f46; /* zinc-700 */ --color-muted: #a1a1aa; /* zinc-400 */ --color-text: #f4f4f5; /* zinc-100 */ + --color-border: #3f3f46; /* zinc-700 */ + --color-danger: #f87171; /* red-400 */ +} + +/* ── Amber theme (default) — same as @theme above, explicit for clarity ── */ +[data-theme="amber"] { + --color-brand: #f59e0b; + --color-brand-dim: #d97706; + --color-surface: #18181b; + --color-surface-2: #27272a; + --color-surface-3: #3f3f46; + --color-muted: #a1a1aa; + --color-text: #f4f4f5; + --color-border: #3f3f46; + --color-danger: #f87171; +} + +/* ── Slate theme — indigo/slate dark ─────────────────────────────────── */ +[data-theme="slate"] { + --color-brand: #818cf8; /* indigo-400 */ + --color-brand-dim: #4f46e5; /* indigo-600 */ + --color-surface: #0f172a; /* slate-900 */ + --color-surface-2: #1e293b; /* slate-800 */ + --color-surface-3: #334155; /* slate-700 */ + --color-muted: #94a3b8; /* slate-400 */ + --color-text: #f1f5f9; /* slate-100 */ + --color-border: #334155; /* slate-700 */ + --color-danger: #f87171; /* red-400 */ +} + +/* ── Rose theme — dark pink ───────────────────────────────────────────── */ +[data-theme="rose"] { + --color-brand: #fb7185; /* rose-400 */ + --color-brand-dim: #e11d48; /* rose-600 */ + --color-surface: #18181b; /* zinc-900 */ + --color-surface-2: #1c1318; /* custom dark rose */ + --color-surface-3: #2d1f26; /* custom dark rose-2 */ + --color-muted: #a1a1aa; /* zinc-400 */ + --color-text: #f4f4f5; /* zinc-100 */ + --color-border: #3f2d36; /* custom rose border */ + --color-danger: #f87171; /* red-400 */ } html { @@ -20,13 +61,13 @@ html { max-width: 72ch; line-height: 1.85; font-size: 1.05rem; - color: #d4d4d8; /* zinc-300 */ + color: var(--color-muted); } .prose-chapter h1, .prose-chapter h2, .prose-chapter h3 { - color: #f4f4f5; + color: var(--color-text); font-weight: 700; margin-top: 1.5em; margin-bottom: 0.5em; @@ -41,15 +82,15 @@ html { } .prose-chapter em { - color: #a1a1aa; + color: var(--color-muted); } .prose-chapter strong { - color: #f4f4f5; + color: var(--color-text); } .prose-chapter hr { - border-color: #3f3f46; + border-color: var(--color-border); margin: 2em 0; } @@ -62,4 +103,3 @@ html { .animate-progress-bar { animation: progress-bar 8s cubic-bezier(0.1, 0.05, 0.1, 1) forwards; } - diff --git a/ui/src/lib/components/AudioPlayer.svelte b/ui/src/lib/components/AudioPlayer.svelte index bd7b337..e0b1061 100644 --- a/ui/src/lib/components/AudioPlayer.svelte +++ b/ui/src/lib/components/AudioPlayer.svelte @@ -675,7 +675,7 @@ {#snippet voiceRow(v: import('$lib/types').Voice)}
selectVoice(v.id)} @@ -684,23 +684,23 @@
{#if audioStore.voice === v.id} - + {/if}
- + {voiceLabel(v)} - {v.id} + {v.id}
{/snippet} -
+
- + - Audio Narration + Audio Narration
@@ -733,7 +733,7 @@ variant="ghost" size="sm" onclick={() => { stopSample(); showVoicePanel = !showVoicePanel; }} - class={cn('gap-1.5 text-xs', showVoicePanel ? 'text-amber-400 bg-amber-400/15 hover:bg-amber-400/25' : '')} + class={cn('gap-1.5 text-xs', showVoicePanel ? 'text-(--color-brand) bg-(--color-brand)/15 hover:bg-(--color-brand)/25' : '')} title="Change voice" > @@ -749,13 +749,13 @@ {#if showVoicePanel && voices.length > 0} -
-
- Choose Voice +
+
+ Choose Voice
@@ -279,12 +279,12 @@ rows={3} />
- + {charCount}/2000
{#if postError} - {postError} + {postError} {/if}
{:else} -

- Log in +

+ Log in to leave a comment.

{/if} @@ -309,17 +309,17 @@ {#if loading}
{#each Array(3) as _} -
-
-
-
+
+
+
+
{/each}
{:else if loadError} -

{loadError}

+

{loadError}

{:else if comments.length === 0} -

No comments yet. Be the first!

+

No comments yet. Be the first!

{:else}
{#each comments as comment (comment.id)} @@ -328,39 +328,39 @@ {@const deleting = deletingIds.has(comment.id)} {@const isOwner = isLoggedIn && currentUserId === comment.user_id} -
- -
- {#if avatarUrls[comment.user_id]} - {comment.username} - {:else} -
- {initials(comment.username)} -
- {/if} - {#if comment.username} - {comment.username} +
+ +
+ {#if avatarUrls[comment.user_id]} + {comment.username} {:else} - Anonymous +
+ {initials(comment.username)} +
{/if} - · - {formatDate(comment.created)} -
+ {#if comment.username} + {comment.username} + {:else} + Anonymous + {/if} + · + {formatDate(comment.created)} +
- -

{comment.body}

+ +

{comment.body}

- -