style(web): refine datepicker, week header, and event-form menu styling#2185
Merged
Conversation
…dark surface The event-form actions menu was a white block in the dark app; the grid datepicker popover shared the app background exactly (0 surface contrast, no border) so it read only as a drop shadow. Give both the app's canonical elevated-dark treatment (bg-secondary + border-primary edge + shadow, light text) so they are consistent with the theme and distinguishable from the background. The datepicker edge is a box-shadow ring rather than a border so it does not consume the height-clamped popover and re-clip 6-row months. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
A set of styling refinements to the datepicker, the week/day view header, and the event-form action menu, developed on the
chore/cleanup-uxbranch:label … [today dot] < > [view switcher]again — the pattern it had before. SharedCalendarHeader, so Day and Week both update.230px) below its content height (240px), shearing the bottom row off 6-row months (e.g. Aug 2026). Raised the open height to match, mirroring what the sidebar variant already does.bg-secondary+border-primaryedge + shadow + light text) — the same recipe as the command palette and view-switcher dropdown. Measured after: menu/popover text 9.7–19:1, both surfaces distinguishable from the background.rounded-[2px]→rounded-xs,min-w-[158px]→min-w-39.5), datepicker month-label size aligned, and a comment tidy.Simplicity
Net-neutral-to-simpler. No
useEffect/useRef/useStatewere added or removed — these are style/markup changes only. The datepicker's popover edge is drawn as abox-shadowring rather than a realborderspecifically because the popover is height-clamped withoverflow:hidden; a border-box border would consume 2px and re-clip 6-row months. The action-menu item background moved from an inlinebackground-colorto a CSS variable so thehover:/focus-visible:utilities can win (an inline style always beats a class) — this replaced a hard-to-readtext-shadowhover hack. A sharedc-elevated-surfaceutility was considered and left alone: the two in-diff surfaces differ in mechanism (border vs box-shadow ring) and the other consumers are untouched files, so unifying would be over-DRYing.Manual Testing Steps
< >arrows and theWeekview switcher. Navigate to a different week (</>or J/K) and confirm a small filled "today" dot appears just left of the arrows; return to the current week and confirm the dot disappears.Dshortcut) and confirm the same header pattern applies.>next to the month label). Confirm a small "today" dot appears to the right of the arrows in the same color as the month label text, and that it's hidden when viewing the current month.Ashortcut), click a date field to open the calendar popover. Confirm the popover reads as a distinct dark panel with a visible edge (not blending into the background). Page to a 6-row month (e.g. August 2026) and confirm the entire bottom week row is visible and not cut off.Test plan
bun run type-check— passesbun run lint(Biome + semantic-colors check) — 1129 files, no issuesbun test --cwd packages/web src/views/Forms/ActionsMenu/— 4 passbun test --cwd packages/web src/components/DatePicker/— 2 pass🤖 Generated with Claude Code