diff --git a/docs/frontend-design-cookbook.md b/docs/frontend-design-cookbook.md index 5dc1f00..ef98dba 100644 --- a/docs/frontend-design-cookbook.md +++ b/docs/frontend-design-cookbook.md @@ -83,7 +83,28 @@ Use these wrappers before introducing route-specific structure: - `editorial-panel`: primary surface for forms, tables, and ledgers. - `editorial-toolbar`: compact action row under hero copy. - `editorial-backlink`: standard top-left back navigation style. -- `editorial-alert`, `editorial-alert--error`, `editorial-alert--success`: feedback banners. +- `editorial-alert`, `editorial-alert--error`, `editorial-alert--success`, `editorial-alert--warning`, `editorial-alert--info`: feedback banners. + +### Collapsible panels + +For secondary information (debug data, reasoning chains, metadata), use this pattern: + +```svelte +
+ + {#if expanded} +
+ +
+ {/if} +
+``` + +This matches the warm editorial aesthetic and maintains visual consistency with Card components. ## Component rules diff --git a/frontend/src/lib/components/MetadataDebugPanel.svelte b/frontend/src/lib/components/MetadataDebugPanel.svelte index 22f035d..35d6e6a 100644 --- a/frontend/src/lib/components/MetadataDebugPanel.svelte +++ b/frontend/src/lib/components/MetadataDebugPanel.svelte @@ -16,37 +16,37 @@ {#if metadata} -
+
{#if expanded} -
+
-
Model
-
{metadata.model_used}
+
Model
+
{metadata.model_used}
-
Duration
-
{formatNumber(metadata.duration_ms)} ms
+
Duration
+
{formatNumber(metadata.duration_ms)} ms
{#if metadata.token_metrics}
-
Token Usage
-
+
Token Usage
+
Prompt:
{/if} -
+
Total: {formatNumber(metadata.token_metrics.total_tokens)} {#if reasoningChain} -
+
{#if expanded} -
+
{reasoningChain}
+ class="text-xs font-mono whitespace-pre-wrap text-muted-foreground leading-relaxed">{reasoningChain}
{/if}