From 54f532f1669d98002b7f55d119e1f800497984c1 Mon Sep 17 00:00:00 2001 From: dtoro Date: Tue, 14 Jul 2026 12:23:26 +0200 Subject: [PATCH] =?UTF-8?q?sidebar=20reorganized:=20Scope,=20Plan,=20Activ?= =?UTF-8?q?ity=20=E2=80=94=20collapsible=20+=20resizable?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - TaskContextPanel restructured into 3 collapsible sections: Scope (graph), Plan (goal + steps + progress), Activity (timeline) - Collapsed headers show compact live status: 'Graph', 'Step X/N', 'N actions' - Sections are vertically resizable via drag handles - Plan section shows goal inline + step list + progress bar - GoalHeader and PlanProgress no longer rendered separately - ActivityTimeline header moved to TaskContextPanel --- VERSION | 2 +- .../lib/components/ActivityTimeline.svelte | 11 +- .../lib/components/TaskContextPanel.svelte | 180 +++++++++++++++++- 3 files changed, 173 insertions(+), 20 deletions(-) diff --git a/VERSION b/VERSION index 42045ac..c2c0004 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.3.4 +0.3.5 diff --git a/web/src/lib/components/ActivityTimeline.svelte b/web/src/lib/components/ActivityTimeline.svelte index 990638e..43a2a12 100644 --- a/web/src/lib/components/ActivityTimeline.svelte +++ b/web/src/lib/components/ActivityTimeline.svelte @@ -1,5 +1,5 @@
-
- Activity - {#if $streaming} - - - live - - {/if} -
{#if $activityLog.length === 0}
diff --git a/web/src/lib/components/TaskContextPanel.svelte b/web/src/lib/components/TaskContextPanel.svelte index a905aa7..af78c03 100644 --- a/web/src/lib/components/TaskContextPanel.svelte +++ b/web/src/lib/components/TaskContextPanel.svelte @@ -1,23 +1,185 @@
- - -
- + + +
+ + {#if scopeOpen} +
+ +
+ +
onPointerDown(0, e)} + role="separator" + aria-orientation="horizontal" + >
+ {/if}
-
- + + +
+ + {#if planOpen} +
+ {#if $currentTask?.goal} +
+ + {$currentTask.goal} +
+ {/if} + {#if planTotal > 0} +
+ {planDone}/{planTotal} done +
+
+
+
+
    + {#each $planSteps as step (step.id)} +
  1. + + {#if step.status === 'done'} +
    + {:else if step.status === 'running'} + + {:else if step.status === 'failed'} +
    + {:else} +
    + {/if} + + {step.title} +
  2. + {/each} +
+ {:else} +
+ No plan yet +
+ {/if} +
+ +
onPointerDown(1, e)} + role="separator" + aria-orientation="horizontal" + >
+ {/if} +
+ + +
+ + {#if activityOpen} +
+ +
+ {/if}