mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-21 14:08:11 +02:00
Theme neo-brutaliste + panneau raisonnement + repli sans outils
UI : reskin complet vers un theme neo-brutaliste clair (bordures noires 3px, ombres dures, accent orange, polices Press Start 2P + DM Mono). - tailwind.config / index.css / index.html : palette, polices, ombres, scrollbars - TopBar, ActivityBar, LeftPanel, ChatPanel, PreviewPanel, SettingsView, ToolCard, ModelSelector, Icon : restyle complet Chat : panneau « Raisonnement » repliable et redimensionnable affichant le thinking de l'agent en direct (diffuse depuis le backend, persiste dans meta). Robustesse Ollama : les echecs de generation de parseur d'outils (« Unable to generate parser for this template ») declenchent desormais le repli automatique en conversation simple sans outils, au lieu d'un 400. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
e8e6a1446c
commit
b4fc8cee3d
16 files changed
+488
-419
No files matched your search
@@ -2,50 +2,41 @@ import { useStore } from "../store/useStore";
|
||||
import { ChevronDown, LokiMark } from "./Icon";
|
||||
import { ModelSelector } from "./ModelSelector";
|
||||
|
||||
/** Barre supérieure : logo, fil d'Ariane, statut Ollama, sélecteur de modèle. */
|
||||
/** Barre supérieure sombre : logo, fil d'Ariane, statut Ollama, sélecteur. */
|
||||
export function TopBar() {
|
||||
const status = useStore((s) => s.status);
|
||||
const connected = status?.connected ?? false;
|
||||
|
||||
return (
|
||||
<div className="flex h-12 flex-none items-center gap-3.5 border-b border-line-strong bg-bar px-4">
|
||||
<div className="flex h-[54px] flex-none items-center gap-3.5 border-b-[3px] border-line bg-bar px-4">
|
||||
<div className="flex items-center gap-2.5">
|
||||
<LokiMark />
|
||||
<div className="text-[15px] font-bold tracking-tight">Loki</div>
|
||||
<div className="pt-px font-mono text-[11px] text-muted-3">
|
||||
agent local
|
||||
</div>
|
||||
<div className="font-pixel text-[14px] text-white">LOKI</div>
|
||||
<div className="text-[13px] leading-none text-on-dark-2">agent local</div>
|
||||
</div>
|
||||
|
||||
<div className="h-5 w-px bg-line-strong" />
|
||||
<div className="h-6 w-[3px] bg-chrome-3" />
|
||||
|
||||
<div className="flex items-center gap-2 text-[13px] font-medium text-ink-2">
|
||||
<div className="flex items-center gap-2 text-[13px] text-on-dark">
|
||||
<span>Nouvelle session</span>
|
||||
<ChevronDown className="text-muted-3" />
|
||||
<ChevronDown className="text-on-dark-3" />
|
||||
</div>
|
||||
|
||||
<div className="flex-1" />
|
||||
|
||||
{/* Statut Ollama */}
|
||||
<div
|
||||
className="flex h-7 items-center gap-2 rounded-lg border border-line-strong bg-card-soft px-[11px]"
|
||||
className="flex h-8 items-center gap-2 border-[3px] border-chrome-3 bg-chrome-2 px-[11px]"
|
||||
title={connected ? status?.host : status?.error}
|
||||
>
|
||||
<span
|
||||
className={`h-[7px] w-[7px] rounded-full ${
|
||||
className={`h-[11px] w-[11px] border-2 border-line ${
|
||||
connected ? "bg-ok" : "bg-warn"
|
||||
}`}
|
||||
style={
|
||||
connected
|
||||
? { boxShadow: "0 0 0 3px rgba(134,199,154,.16)" }
|
||||
: undefined
|
||||
}
|
||||
/>
|
||||
<span className="text-xs font-medium text-ink-3">Ollama</span>
|
||||
<span className="font-mono text-[11px] text-muted-3">
|
||||
{connected
|
||||
? status?.host.replace(/^https?:\/\//, "")
|
||||
: "déconnecté"}
|
||||
<span className="text-[13px] text-on-dark">Ollama</span>
|
||||
<span className="text-[13px] text-on-dark-3">
|
||||
{connected ? status?.host.replace(/^https?:\/\//, "") : "déconnecté"}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in new issue
Block a user