Some checks failed
Build AppImage / build (push) Has been cancelled
Phase 8 (VS-Code-Look Chatbereich): - Linksbuendige Messages mit Avatar-Spalte, Hover-Actions - Inline Tool-Karten (Read/Edit/Bash/Generic) in Assistant-Messages - Edit-Karten zeigen Diff direkt mit Accept/Reject - Tool-Calls werden via events.ts an letzte Assistant-Message gebunden - Smart-Sticky-Scroll (Auto-Scroll stoppt wenn User selbst scrollt) - OOM-Bug durch MutationObserver mit subtree:true behoben Phase 9 (Komplettes UI-Redesign): - Design-System in app.css: 4 Graustufen, 1 Akzent (#007acc), 4 Status-Farben, 5 Schriftgroessen (11/12/13/14/16), 4-Punkt-Spacing, 2 Radius-Werte - vscode.css als Aliase auf das neue System - UI-Library src/lib/ui/: Button, Card, Icon, Badge, StatusDot, Tooltip, Drawer, Tabs - Lucide-svelte fuer SVG-Icons (ersetzt Emojis im Chrome) - StatusBar (22px) ersetzt ueberfuellten Footer mit 6+ Stats - Titlebar entruempelt: ✱-Logo + Stop + Schulungsmodus + Version - 2-spaltiges Layout (Sidebar 240px + Hauptbereich) statt 4-Pane-Zerstueckelung - ToolDrawer: 13 Panels in 4 Gruppen (Aktivitaet/Speicher/Werkzeuge/Einstellungen), jede Gruppe mit internen Tabs, Esc schliesst - Cmd+K global oeffnet QuickActions als zentrale Navigation - StatusDot-Komponente ersetzt Emoji-Status (🟢🟡⚪🔴) in AgentView - Hardgecodete Farben (#ef4444, #22c55e, #eab308 ...) in 9 Komponenten durch CSS-Variablen ersetzt Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
26 lines
755 B
Svelte
26 lines
755 B
Svelte
<script lang="ts">
|
|
// Wrapper um lucide-svelte mit fester Groesse + currentColor.
|
|
// Nutzung:
|
|
// <Icon icon={FileText} size={16} />
|
|
// <Icon icon={Check} size="lg" />
|
|
|
|
import type { Component } from 'svelte';
|
|
|
|
interface Props {
|
|
icon: Component<{ size?: number | string; color?: string; strokeWidth?: number; class?: string }>;
|
|
size?: number | 'sm' | 'md' | 'lg';
|
|
strokeWidth?: number;
|
|
class?: string;
|
|
}
|
|
|
|
let { icon: IconComp, size = 16, strokeWidth = 2, class: className = '' }: Props = $props();
|
|
|
|
const px = $derived.by(() => {
|
|
if (typeof size === 'number') return size;
|
|
if (size === 'sm') return 14;
|
|
if (size === 'lg') return 20;
|
|
return 16;
|
|
});
|
|
</script>
|
|
|
|
<IconComp size={px} strokeWidth={strokeWidth} class={className} />
|