diff --git a/packages/web/package.json b/packages/web/package.json
index b39893f..c78380a 100644
--- a/packages/web/package.json
+++ b/packages/web/package.json
@@ -20,6 +20,7 @@
"posthog-js": "^1.345.2"
},
"devDependencies": {
+ "@iconify-json/dinkie-icons": "^1.2.0",
"@sveltejs/adapter-cloudflare": "^7.2.6",
"@sveltejs/adapter-node": "^5.5.2",
"@sveltejs/kit": "^2.50.1",
@@ -30,6 +31,7 @@
"svelte-check": "^4.3.5",
"tailwindcss": "^4.1.18",
"typescript": "^5.9.3",
+ "unplugin-icons": "^23.0.1",
"vite": "^7.3.1"
}
}
diff --git a/packages/web/src/app.d.ts b/packages/web/src/app.d.ts
index 520c421..bf7d82e 100644
--- a/packages/web/src/app.d.ts
+++ b/packages/web/src/app.d.ts
@@ -1,3 +1,5 @@
+///
+
// See https://svelte.dev/docs/kit/types#app.d.ts
// for information about these interfaces
declare global {
diff --git a/packages/web/src/lib/components/Header.svelte b/packages/web/src/lib/components/Header.svelte
index b9a3136..8315d0e 100644
--- a/packages/web/src/lib/components/Header.svelte
+++ b/packages/web/src/lib/components/Header.svelte
@@ -1,4 +1,5 @@
@@ -45,16 +46,7 @@ import logo from '$lib/assets/logo.svg';
rel="noopener noreferrer"
class="inline-flex items-center gap-1.5 px-3 py-1 rounded border border-edge hover:border-accent/50 hover:text-accent transition-all duration-200"
>
-
+
Star on GitHub
diff --git a/packages/web/src/lib/components/LogsLocationModal.svelte b/packages/web/src/lib/components/LogsLocationModal.svelte
index df00aaf..ea3b7c5 100644
--- a/packages/web/src/lib/components/LogsLocationModal.svelte
+++ b/packages/web/src/lib/components/LogsLocationModal.svelte
@@ -1,4 +1,8 @@
-
+
+import ChevronIcon from 'virtual:icons/dinkie-icons/right-black-triangle';
import Markdown from '$lib/components/Markdown.svelte';
import type { AssistantEntry } from '$lib/types/timeline';
@@ -33,19 +34,9 @@ function formatTime(date: Date): string {
class="flex items-center gap-1.5 text-xs text-muted mb-2 hover:text-foreground transition-colors"
onclick={() => (showThinking = !showThinking)}
>
-
+ />
{entry.thinking.isEncrypted ? '// encrypted reasoning' : '// thinking'}
{#if showThinking && entry.thinking.text}
diff --git a/packages/web/src/lib/components/viewer/entries/SubagentEntry.svelte b/packages/web/src/lib/components/viewer/entries/SubagentEntry.svelte
index 8762355..e1a964b 100644
--- a/packages/web/src/lib/components/viewer/entries/SubagentEntry.svelte
+++ b/packages/web/src/lib/components/viewer/entries/SubagentEntry.svelte
@@ -1,4 +1,5 @@