feat: add workspace management editor

This commit is contained in:
2026-08-04 06:27:59 +02:00
parent b686ffe271
commit 48fd316b90
10 changed files with 744 additions and 7 deletions
+12 -5
View File
@@ -1,5 +1,5 @@
import { useLayoutEffect, useRef } from "react";
import { X } from "lucide-react";
import { Settings2, X } from "lucide-react";
import ReactMarkdown from "react-markdown";
import remarkGfm from "remark-gfm";
import type { ActivityEntry, ActivityKind } from "../api/types";
@@ -61,9 +61,11 @@ function ActivityRow({ entry }: { entry: ActivityEntry }) {
export function ModelActivityPanel({
desktopSplit = false,
onClose,
onOpenWorkspaceManager,
}: {
desktopSplit?: boolean;
onClose: () => void;
onOpenWorkspaceManager?: () => void;
}) {
const activityLog = useSessionStore((s) => s.activityLog);
const visibleActivity = activityLog.filter(isVisibleModelActivity);
@@ -82,11 +84,16 @@ export function ModelActivityPanel({
? "static z-auto flex min-w-0 w-[var(--activity-panel-width)] shrink-0 flex-col border-r-0 bg-sidebar"
: "fixed inset-y-0 left-0 z-30 flex min-w-0 w-[min(90vw,24rem)] shrink-0 flex-col border-r border-border bg-sidebar"
}>
<div className="flex items-center justify-between border-b border-border/60 px-3 py-2">
<div className="flex items-center justify-between gap-2 border-b border-border/60 px-3 py-2">
<h2 className="font-heading text-sm font-semibold text-foreground">Model activity</h2>
<Button size="icon-sm" variant="ghost" aria-label="Close model activity" onClick={onClose}>
<X className="size-4" />
</Button>
<div className="flex items-center gap-1">
<Button size="sm" variant="ghost" aria-label="Workspace management" onClick={onOpenWorkspaceManager}>
<Settings2 className="size-3.5" />Workspace management
</Button>
<Button size="icon-sm" variant="ghost" aria-label="Close model activity" onClick={onClose}>
<X className="size-4" />
</Button>
</div>
</div>
<div
ref={scrollRef}