Skip to content

fix(web): repair event form time menu, date entry, and header spacing - #4541

Merged
tyler-dane merged 1 commit into
mainfrom
claude/dazzling-ptolemy-4k0tic
Oct 18, 2026
Merged

tyler-dane merged 1 commit into
mainfrom
claude/dazzling-ptolemy-4k0tic

Conversation

@tyler-dane

Copy link
Copy Markdown
Contributor

Fixes sidebar event form usability regressions reported after #4540 (no issue filed).

What and why

When #4540 portaled the time picker menu to document.body, the menu ended up outside .c-time-picker. That broke two things: the menu lost its theme styles (white background, narrow, so labels like "12:15 AM" wrapped), and the scroll-to-selected lookup stopped finding the menu, so it always opened at 12 AM. The picker now finds the menu through the combobox's aria-controls. The menu styles moved into react-select's styles object, and the menu is sized to its content so it doesn't wrap or run off the right edge.

The date field threw away a typed date on Tab or click-away, and an empty Enter showed the "IDK what to do with ''" toast. Now Enter, Tab and blur all commit a typed date that changes the day. An emptied field quietly restores the current date, and text that can't be parsed shows the toast and reverts. Focusing the input selects its text, so typing replaces it.

There is also more top padding above the delete and close icons.

Product choice: unparseable input reverts to the saved date (with the toast) instead of keeping the bad text in the field.

Verify

VERDICT: FAIL from bun run verify --strict. Neither failure comes from this diff:

  • web shard 3/6 hits the sandbox's 5000 MB RSS cap. The same thing happens on main without this change. Every other web test passes (0 fail), and the EventForm suites pass when run on their own.
  • lint: a formatting nit, fixed. bun lint passes now.
  • type-check and knip pass. a11y and e2e were skipped because the sandbox Chromium doesn't match the pinned version. I checked by hand with a throwaway Playwright probe against the dev server: Tab commit, blur commit, empty-Enter revert, clicking a day after partial typing, and the time menu opening centered on the selected time with theme styles.

New regression tests in EventFormDateField.test.tsx: Tab commits a typed date, blur commits a typed date, empty Enter restores the date.


Generated by Claude Code

The time menu portal moved the menu outside .c-time-picker, so it lost its
theme styles and the scroll-to-selected lookup found nothing. Reach the
menu through the combobox and keep its chrome in react-select styles.

The date field dropped typed dates on Tab or click-away and toasted on an
empty Enter. Commit changed dates on Enter, Tab, and blur, quietly restore
an emptied field, and select the text on focus so typing replaces it.

Add top padding above the form's delete and close icons.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K3ak96Nsi73tTQci7Kd1iZ
@tyler-dane tyler-dane added the agent-automerge Agent-loop finished; merge-guard may squash-merge label Oct 18, 2026 — with Claude
@tyler-dane
tyler-dane enabled auto-merge October 18, 2026 00:36
@github-actions

Copy link
Copy Markdown
Contributor

Boot bundle: 509.5 KB gzip (+0.0 KB vs main)

@tyler-dane
tyler-dane added this pull request to the merge queue Oct 18, 2026
Merged via the queue into main with commit 58f67b0 Oct 18, 2026
30 checks passed
@tyler-dane
tyler-dane deleted the claude/dazzling-ptolemy-4k0tic branch October 18, 2026 00:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent-automerge Agent-loop finished; merge-guard may squash-merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants