From dca88b3765c507cba87a7c1da34f2309091e0588 Mon Sep 17 00:00:00 2001 From: leefer Date: Thu, 22 Oct 2026 05:18:07 +0800 Subject: [PATCH] fix(HEL-751): restore confirmed full-width task table Co-authored-by: multica-agent --- .../src/lib/components/manage/management.css | 85 ++- calliope-web/src/routes/tasks/+page.svelte | 408 ++++++++----- calliope-web/static/themes.css | 27 + .../2026-10-22-hel751-task-table.md | 44 ++ scripts/verify-hel751.mjs | 565 ++++++++++++++++++ scripts/verify-hel751.py | 119 ++++ 6 files changed, 1089 insertions(+), 159 deletions(-) create mode 100644 docs/changelogs/2026-10-22-hel751-task-table.md create mode 100644 scripts/verify-hel751.mjs create mode 100644 scripts/verify-hel751.py diff --git a/calliope-web/src/lib/components/manage/management.css b/calliope-web/src/lib/components/manage/management.css index b874db6..ba1f3e0 100644 --- a/calliope-web/src/lib/components/manage/management.css +++ b/calliope-web/src/lib/components/manage/management.css @@ -138,7 +138,7 @@ overflow: auto; } .mg-table table { - table-layout: fixed; + table-layout: var(--manage-table-layout, fixed); width: 100%; border-collapse: collapse; font-size: 12.5px; @@ -148,6 +148,7 @@ top: 0; background: var(--bg-0); z-index: 1; + box-sizing: var(--manage-cell-box, content-box); text-align: left; font-weight: 500; color: var(--tx-3); @@ -156,6 +157,7 @@ border-bottom: 1px solid var(--line); } .mg-table td { + box-sizing: var(--manage-cell-box, content-box); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; @@ -752,3 +754,84 @@ textarea.f-input { .mg-pin[aria-pressed="true"] svg { fill: currentColor; } + +/* Confirmed full-width task table. Shared table/controls remain the single source. */ +.task-table { + --manage-table-layout: var(--task-table-layout); + --manage-cell-box: border-box; +} +.task-thumbnail-column { + width: var(--task-thumbnail-column); +} +.task-progress-column { + width: var(--task-progress-column); +} +.task-tabs { + width: var(--task-tabs-width); + margin-left: var(--task-tabs-offset); +} +.task-search { + width: var(--task-search-width); +} +.task-thumbnail { + display: grid; + place-items: center; + width: var(--task-thumbnail-width); + height: var(--task-thumbnail-height); + border-radius: var(--task-thumbnail-radius); + border: 0; + padding: 0; + overflow: hidden; + color: var(--tx-3); + background: var(--bg-2); + cursor: pointer; +} +.task-thumbnail img { + width: 100%; + height: 100%; + object-fit: cover; +} +.task-name { + font-weight: 500; +} +.task-progress { + height: var(--task-progress-height); + margin-top: var(--task-progress-gap); + border-radius: var(--task-progress-radius); + background: rgb(var(--ink) / 0.1); + overflow: hidden; +} +.task-progress i { + display: block; + height: 100%; + background: var(--task-progress-fill); + box-shadow: var(--task-progress-shadow); + transition: width var(--task-progress-duration) linear; +} +.task-progress-unknown { + color: var(--tx-3); + margin-left: var(--task-progress-gap); +} +.task-table .mg-tag.run, +.task-dialog .mg-tag.run { + color: var(--task-running-color); + border-color: var(--task-running-border); + background: var(--task-running-background); +} +.task-dialog { + height: auto; + overflow: visible; + gap: 12px; +} +.task-output { + display: flex; + flex-direction: column; + gap: 8px; +} +.task-output img, +.task-output video { + width: 100%; + max-height: var(--task-preview-height); + object-fit: contain; + background: var(--media-bg); +} diff --git a/calliope-web/src/routes/tasks/+page.svelte b/calliope-web/src/routes/tasks/+page.svelte index 8a55184..cfc25a8 100644 --- a/calliope-web/src/routes/tasks/+page.svelte +++ b/calliope-web/src/routes/tasks/+page.svelte @@ -1,4 +1,6 @@