Files
windmill/frontend
Guilhem LemouelandClaude Opus 4.7 9afc108c75 feat: add resource preview cards and schedule modal under tool calls
Adds a Codex-style preview card under tool calls that create or modify a
flow step, schedule, script, or app, plus a clickable flow into a centered
modal hosting ScheduleEditorInner for the schedule case.

- ToolExecutionDisplay infers a PreviewKind + title/subtitle/icon from the
  tool name and parameters. Flow steps render the LanguageIcon for the
  step's language; schedule cards use a blue Calendar; script/app/flow
  fall back to lucide brand icons. The card itself is a button (only
  enabled for schedule for now); the inner Open span stops propagation so
  card-click and Open-click stay independent.
- New previewModalState.svelte.ts holds shared $state for the modal so
  ToolExecutionDisplay (deep in the message tree) can drive a modal
  mounted at the page level.
- design-sandbox/+page.svelte mounts a Modal2 (with target="body" so the
  Portal lands on <body> instead of collapsing inside the splitpanes
  flex tree) containing ScheduleEditorInner with useDrawer={false}. An
  $effect calls openEdit(SANDBOX_SCHEDULE_PATH) on the real workspace
  schedule when the modal opens, which avoids the undefined-field crashes
  that synthesizing a defaultCfg produced.
- Chat text bumped to text-xs across user bubbles, assistant markdown
  ([&_*]:!text-xs), and tool-call labels for visual consistency.
- Removed the trailing in-flight 'Updated Notify…' tool call from the
  fake conversation so the demo ends on the schedule preview card.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 11:49:48 +02:00
..
2026-01-22 16:20:01 +00:00
2025-12-23 18:19:30 +00:00
2026-02-19 09:33:33 +00:00
2026-03-05 18:11:40 +01:00
2025-08-14 11:30:10 +00:00
2026-01-22 16:20:01 +00:00
2026-03-18 11:38:22 +00:00
2025-12-17 08:40:36 +00:00
2026-02-19 09:33:33 +00:00

Windmill frontend

The Windmill frontend written in Svelte 5 + Tailwind CSS

The frontend is under AGPL, see the LICENSE file at the root of this repo