feat: make the week's submit control a labelled button #6

Merged
oss merged 3 commits from feat/week-submit-button into main 2026-10-19 12:09:14 +02:00
Owner

The week's timesheet submit action was a bare paperplane icon in front of the week totals, easy to miss.

  • WeekSubmitButton: a small .glassProminent Submit button (paperplane + label, accent tint), shown while the week is open for submission and hidden once it is submitted or approved. It keeps its ideal width (.fixedSize()), so the label never truncates.
  • Week-mode header: the button sits inline after the week totals.
  • Day-mode rail (322 pt): the header stays on one row when it fits; with long totals such as 39h 30m / 39h 30m the rail moves Submit onto its own row instead of wrapping the totals.
  • The lock icon for a submitted/approved week stays in front of the totals.

Verified in a real window in the Tart VM with a throwaway harness app (outside the repo) that renders RailView and WeekTotalsBadge with fixture data: short totals (1h / 40h), long totals, locked, and not submittable. Without the .fixedSize() fix the harness reproduces the "Su…" truncation seen in the running app; with it, the short rail shows the full "Submit" on one row, long totals put Submit on its own row, and locked / not-submittable weeks show no button. Debug build succeeds.

🤖 Generated with Claude Code

The week's timesheet submit action was a bare paperplane icon in front of the week totals, easy to miss. - `WeekSubmitButton`: a small `.glassProminent` **Submit** button (paperplane + label, accent tint), shown while the week is open for submission and hidden once it is submitted or approved. It keeps its ideal width (`.fixedSize()`), so the label never truncates. - Week-mode header: the button sits inline after the week totals. - Day-mode rail (322 pt): the header stays on one row when it fits; with long totals such as `39h 30m / 39h 30m` the rail moves Submit onto its own row instead of wrapping the totals. - The lock icon for a submitted/approved week stays in front of the totals. Verified in a real window in the Tart VM with a throwaway harness app (outside the repo) that renders `RailView` and `WeekTotalsBadge` with fixture data: short totals (`1h / 40h`), long totals, locked, and not submittable. Without the `.fixedSize()` fix the harness reproduces the "Su…" truncation seen in the running app; with it, the short rail shows the full "Submit" on one row, long totals put Submit on its own row, and locked / not-submittable weeks show no button. Debug build succeeds. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
The timesheet submit action was a bare paperplane icon in front of the
week totals, easy to miss. It is now a small prominent "Submit" button
after the totals, in the app's accent colour.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Long totals such as "39h 30m / 39h 30m" wrapped inside their capsule
next to the labelled Submit button in the 322 pt day rail, growing the
header. The totals no longer wrap, and the rail drops Submit onto a
second row only when the single row does not fit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The rail header's HStack sized the totals-and-button badge first because
the button label could shrink, proposing it about a third of the row, so
"Submit" rendered as "Su…" while the Spacer kept the free space. The
button now keeps its ideal width.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
oss merged commit 200704e405 into main 2026-10-19 12:09:14 +02:00
oss deleted branch feat/week-submit-button 2026-10-19 12:09:14 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
oss/TEMPO-UI!6
No description provided.