From 8dd91e99e83bce178a16a21b1a333827b8d87629 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 27 Jun 2026 11:52:11 +0000 Subject: [PATCH] ui: migrate Activity, Logs views to shadcn - Activity table wrapped in Card with restyled column menu and Button - LogPanel toolbar uses Button/Input with lucide icons - LogViewer source switch uses a ToggleGroup Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01UmuGqwNBJNEAMaWsdCDqUC --- ui-svelte/src/components/LogPanel.svelte | 66 +++++++-------------- ui-svelte/src/routes/Activity.svelte | 74 ++++++++++++++---------- ui-svelte/src/routes/LogViewer.svelte | 38 ++++-------- 3 files changed, 78 insertions(+), 100 deletions(-) diff --git a/ui-svelte/src/components/LogPanel.svelte b/ui-svelte/src/components/LogPanel.svelte index 82adb569..a5824498 100644 --- a/ui-svelte/src/components/LogPanel.svelte +++ b/ui-svelte/src/components/LogPanel.svelte @@ -1,5 +1,8 @@ -
-
+
+
-

{title}

+

{title}

-
- - - +
+ + +
{#if $showFilterStore} -
- - +
+ +
{/if}
-
+
{filteredLogs}
diff --git a/ui-svelte/src/routes/Activity.svelte b/ui-svelte/src/routes/Activity.svelte index 51741115..c70f0902 100644 --- a/ui-svelte/src/routes/Activity.svelte +++ b/ui-svelte/src/routes/Activity.svelte @@ -7,6 +7,9 @@ import { persistentStore } from "../stores/persistent"; import { onMount } from "svelte"; import type { ReqRespCapture } from "../lib/types"; + import { Columns3, GripVertical } from "@lucide/svelte"; + import * as Card from "$lib/components/ui/card/index.js"; + import { Button } from "$lib/components/ui/button/index.js"; type ColumnKey = string; @@ -219,46 +222,56 @@
-
-
+ +
- + + {#if columnsMenuOpen} -
- +
diff --git a/ui-svelte/src/routes/LogViewer.svelte b/ui-svelte/src/routes/LogViewer.svelte index 002de24f..61fb9953 100644 --- a/ui-svelte/src/routes/LogViewer.svelte +++ b/ui-svelte/src/routes/LogViewer.svelte @@ -4,6 +4,7 @@ import { persistentStore } from "../stores/persistent"; import LogPanel from "../components/LogPanel.svelte"; import ResizablePanels from "../components/ResizablePanels.svelte"; + import * as ToggleGroup from "$lib/components/ui/toggle-group/index.js"; type ViewMode = "proxy" | "upstream" | "panels"; @@ -15,32 +16,17 @@
-
- - - -
+ v && viewModeStore.set(v as ViewMode)} + class="justify-start" + > + Both + Proxy + Upstream +
{#if $viewModeStore === "panels"}