From f6793daed3e6872b6ff1e2a71e351a40f0f8773a Mon Sep 17 00:00:00 2001 From: Michael SCHAL Date: Tue, 30 Jun 2026 19:19:49 +0200 Subject: [PATCH] improve session activity and model display --- frontend/index.html | 3 ++- frontend/public/favicon.svg | 6 +++++ frontend/src/components/ModelSelector.tsx | 11 +++++---- frontend/src/panels/ChatPanel.tsx | 29 +++++++++++++++++------ frontend/src/panels/LeftPanel.tsx | 10 ++++++++ frontend/src/store/useStore.ts | 25 +++++++++++++------ 6 files changed, 65 insertions(+), 19 deletions(-) create mode 100644 frontend/public/favicon.svg diff --git a/frontend/index.html b/frontend/index.html index 5a45fed..2e41ef8 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -3,13 +3,14 @@ + - Loki — Agent local + Loki - Agent local
diff --git a/frontend/public/favicon.svg b/frontend/public/favicon.svg new file mode 100644 index 0000000..b34fc64 --- /dev/null +++ b/frontend/public/favicon.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/frontend/src/components/ModelSelector.tsx b/frontend/src/components/ModelSelector.tsx index ffefc43..7420545 100644 --- a/frontend/src/components/ModelSelector.tsx +++ b/frontend/src/components/ModelSelector.tsx @@ -20,12 +20,13 @@ export function ModelSelector() {
{open && ( @@ -51,7 +52,9 @@ export function ModelSelector() { m.name === selectedModel ? "bg-accent" : "bg-card" }`} /> - {m.name} + + {m.name} + {m.size_go > 0 && ( {m.size_go} Go )} diff --git a/frontend/src/panels/ChatPanel.tsx b/frontend/src/panels/ChatPanel.tsx index 7171917..44e6841 100644 --- a/frontend/src/panels/ChatPanel.tsx +++ b/frontend/src/panels/ChatPanel.tsx @@ -11,6 +11,7 @@ export function ChatPanel() { selectedModel, messages, streaming, + streamingSessionId, streamContent, streamThinking, streamStatus, @@ -22,6 +23,7 @@ export function ChatPanel() { pendingShell, approveShell, rejectShell, + sessions, } = useStore(); const activeTools = config @@ -49,7 +51,9 @@ export function ChatPanel() { } }; - const empty = messages.length === 0 && !streaming; + const showingStreaming = streaming && currentSessionId === streamingSessionId; + const workingSession = sessions.find((s) => s.id === streamingSessionId); + const empty = messages.length === 0 && !showingStreaming; return (
@@ -88,7 +92,7 @@ export function ChatPanel() { {messages.map((m) => ( ))} - {streaming && ( + {showingStreaming && ( )} - {pendingShell && ( + {showingStreaming && pendingShell && ( -
+
- {selectedModel || "—"} + {selectedModel || "—"}
-
- ⏎ envoyer · ⇧⏎ ligne + {streaming && !showingStreaming ? ( + + Travail en cours : {workingSession?.title ?? "session ouverte"} + + ) : ( + <> +
+ ⏎ envoyer · ⇧⏎ ligne + + )}