feat: DD/MM/YYYY dates, bottom glass toasts, visible grid, Timesheets popover and large Log Time controls #8

Merged
oss merged 6 commits from feat/ui-polish-week-overview-dates into main 2026-10-29 09:33:08 +01:00
Owner

What

  • Dates read DD/MM/YYYY everywhere a full date shows (DatePattern). The sidebar day rows show DD/MM. Messages now format dates the same way.
  • Toasts: the error toast moved from the top to the bottom. It now shares one glass style (GlassToast) with the Undo and update toasts.
  • Undo toast delay: move and resize now show the Undo toast as soon as you release the block, instead of after the save and refresh (~3 s). A failed change takes the toast back. Undo waits for the original save, so the two can't race.
  • Grid lines use new tokens (Palette.gridHour / gridHalf), so the grid is visible before a drag starts. gridColor was darker than the dark canvas.
  • Timesheets popover: the toolbar hours open a list of recent weeks. Each row shows its range, logged / target, the difference, and the status: In progress, Not submitted, Submitted (blue capsule) or Approved. Clicking a week shows it, and Submit… on an unsubmitted week opens the Submit sheet for it. The list loads only when opened: 1 /periods call plus 1 approval call per period.
  • Log Time: Date and Repeat until use a ‹ date › stepper with a Monday-first calendar popover. Start and End use larger fields with large − and + buttons.

Design proposal: design/proposals/2026-10-28-grid-weeks-fields.html (A1, B1 with a separate Submitted capsule, and C chosen).

Verification

  • Debug build succeeds.
  • Checked in the Tart VM in demo mode (-demo, dark and light):
    • The bottom error toast after a failed resize.
    • The dates.
    • The grid lines at rest.
    • The Timesheets popover rows and status capsules.
    • The Log Time stepper, calendar popover and −/+ buttons.
  • Not verified: a successful move or resize against Tempo, because demo mode has no token.
  • Still open: an on-device performance pass after approval.

🤖 Generated with Claude Code

## What - **Dates** read DD/MM/YYYY everywhere a full date shows (`DatePattern`). The sidebar day rows show DD/MM. Messages now format dates the same way. - **Toasts:** the error toast moved from the top to the bottom. It now shares one glass style (`GlassToast`) with the Undo and update toasts. - **Undo toast delay:** move and resize now show the Undo toast as soon as you release the block, instead of after the save and refresh (~3 s). A failed change takes the toast back. Undo waits for the original save, so the two can't race. - **Grid lines** use new tokens (`Palette.gridHour` / `gridHalf`), so the grid is visible before a drag starts. `gridColor` was darker than the dark canvas. - **Timesheets popover:** the toolbar hours open a list of recent weeks. Each row shows its range, logged / target, the difference, and the status: In progress, Not submitted, Submitted (blue capsule) or Approved. Clicking a week shows it, and Submit… on an unsubmitted week opens the Submit sheet for it. The list loads only when opened: 1 `/periods` call plus 1 approval call per period. - **Log Time:** Date and Repeat until use a ‹ date › stepper with a Monday-first calendar popover. Start and End use larger fields with large − and + buttons. Design proposal: `design/proposals/2026-10-28-grid-weeks-fields.html` (A1, B1 with a separate Submitted capsule, and C chosen). ## Verification - Debug build succeeds. - Checked in the Tart VM in demo mode (`-demo`, dark and light): - The bottom error toast after a failed resize. - The dates. - The grid lines at rest. - The Timesheets popover rows and status capsules. - The Log Time stepper, calendar popover and −/+ buttons. - Not verified: a successful move or resize against Tempo, because demo mode has no token. - Still open: an on-device performance pass after approval. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
The error banner joins the Undo and update toasts at the bottom in one
glass style. Move and resize show their Undo toast on release instead
of after the PUT and refresh, and withdraw it when Tempo rejects the
change. Every full date now reads DD/MM/YYYY.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Timeline lines use new grid tokens, since gridColor is darker than the
dark canvas. The toolbar hours open a popover with recent weeks, their
logged hours and timesheet status, with Submit on unsubmitted weeks.
Log Time's date and times get a day stepper with a calendar popover and
large time fields with minus and plus buttons.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Undo on a move or resize waits for the original save, so it can't race
it. Weeks Tempo still lets the user submit count as not submitted, the
visible week shows the toolbar's hours, Show Earlier Weeks loads only
the new weeks, a reopened week drops out of the approved cache, and
Submit opens only once the chosen week's approval has loaded. Messages
show dates as DD/MM/YYYY.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Undo on a move or resize restores from the worklog as it was, so it
still works after switching weeks while the save runs. Cached approved
weeks are dropped when the account changes, and a load for another
account no longer writes its rows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
oss merged commit ccbebe4d57 into main 2026-10-29 09:33:08 +01: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!8
No description provided.