Files
LinkDesk/backend
indigo 7f260067a2 Add editable status column and submission markers to the Gantt chart
Adds a second frozen "Task Status" column (EditableTaskStatus) next to
the task name, and small white dot markers on each bar showing
submission dates - backed by a new lightweight GET /tasks/submission-dates
endpoint (task_id + submitted_at only, to avoid an N+1 fetch across
potentially hundreds of scheduled tasks).

Restructures the chart's scroll handling from a single scrolling
container with sticky-positioned columns to two independently-scrolled
panes (frozen name/status columns, and the timeline), synced on
vertical scroll. This fixes several issues that came with the sticky
approach - transparency bleed-through on hover and on group-header
rows, row heights not matching between columns, and the horizontal
scrollbar spanning the frozen columns instead of just the timeline.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-21 03:20:28 +08:00
..
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00