From e628c99498b295770a9f472d2f56f437a3cf1c93 Mon Sep 17 00:00:00 2001 From: indigo Date: Sat, 18 Jul 2026 10:15:04 +0800 Subject: [PATCH] Sticky table headers, layout parity, and reuse My Tasks on the shared table/toolbar Shot/Asset/Task data tables now keep their header row pinned while scrolling (both the locked two-pane and single-table modes), matching a common data- table expectation that was missing everywhere. Brings Asset and Task browsers to full structural parity with Shot's bounded- height layout (fixed toolbar, internally-scrolling table) instead of their previous page-scroll model with a sticky-positioned toolbar. AssetsDataTable gained the synced frozen/movable-pane scrolling it was missing entirely; TasksDataTable and both browsers/parent views got the same container model. The global My Tasks page (/tasks) now reuses TaskTableToolbar and TasksDataTable instead of its own ad hoc filter selects and TaskList, including the detail panel, bulk status/assignment context menu, and sticky header for free. Since it spans multiple projects, TaskTableToolbar gained an optional Project filter (only rendered when a project list is passed in, so the project-scoped Tasks page is unaffected); episode/assignee filters populate once a specific project is chosen. Co-Authored-By: Claude Sonnet 5 --- .../src/components/asset/AssetBrowser.vue | 24 +- .../src/components/asset/AssetsDataTable.vue | 46 +- .../src/components/shot/ShotsDataTable.vue | 6 +- frontend/src/components/task/TaskBrowser.vue | 100 ++-- .../src/components/task/TaskTableToolbar.vue | 57 ++- .../src/components/task/TasksDataTable.vue | 6 +- frontend/src/views/TasksView.vue | 437 ++++++++++++++---- .../src/views/project/ProjectAssetsView.vue | 6 +- .../src/views/project/ProjectTasksView.vue | 6 +- 9 files changed, 525 insertions(+), 163 deletions(-) diff --git a/frontend/src/components/asset/AssetBrowser.vue b/frontend/src/components/asset/AssetBrowser.vue index 6e3694f..f9f1a8f 100644 --- a/frontend/src/components/asset/AssetBrowser.vue +++ b/frontend/src/components/asset/AssetBrowser.vue @@ -1,9 +1,9 @@