Skip to content

Staging - #41

Merged
angelina-ji merged 4 commits into
mainfrom
staging
Aug 24, 2026
Merged

Staging#41
angelina-ji merged 4 commits into
mainfrom
staging

Conversation

@angelina-ji

Copy link
Copy Markdown

No description provided.

prishaakapasi and others added 4 commits July 22, 2026 15:18
Aligns the orgs create button/category filters with the forum-cerulean
brand color instead of indigo, adds a cerulean-tinted thin scrollbar
utility, softens the geometric background blur, and nudges spacing on
the explore create-event button and map filter pills.
…anels

The (app) routes had each hand-rolled their own layout primitives, so the
same element looked different on every page: gutters ranged from px-[8px]
to px-[40px], page headings spanned 20/25/36/40/42/48/52px, and roughly
90 buttons were raw <button> elements with bespoke height, radius and
focus treatment. Orgs and the map had drifted off the palette entirely
onto gray-*/indigo-*/sky-*.

Introduce six shared primitives and move every (app) route onto them:

- PageShell        gutters (20/32/40px) + max width (narrow/content/wide/full)
- PageHeading      one h1 ramp, 34 -> 44 -> 52px, responsive
- SectionHeading   h2 with the cerulean dot
- Panel            content surface: radius, border, padding scale, elevation
- FilterChip       every filter pill
- SearchInput      every search field
- Field            label / hint / error stack

Add forum variants to the shadcn Button (cerulean, solid, coral, soft,
quiet) plus a cta size, so buttons stop being rebuilt per call site.
Raw <button> count drops from ~90 to 25; the rest are structural
(scrubber nodes, carousel dots, popover triggers) where the Button box
model does not apply.

Nav: the rail now collapses to icons and expands on hover. It overlays
rather than pushes, and the shell reserves the expanded width so the
panel never covers page content and nothing reflows on hover. Icons sit
in a fixed 20px slot at the same x in both states, so labels grow beside
a stationary icon.

Map: drop the route's private floating nav and its separate log-out
button, and render it inside the standard shell. It keeps a
non-scrolling main (a map canvas must not live in a scroll container)
but now shares one navigation with every other page.

Fixes found along the way:
- nested <button> inside <button> in the map event list (invalid HTML;
  the inner control was unreachable in some browsers)
- missing accessible names on event-card and map icon buttons
- Friends' remove control was opacity-0 until hover, invisible to
  keyboard users; it now reveals on focus too
- hand-rolled tab bars replaced with the shadcn Tabs line variant, which
  brings real arrow-key navigation and aria-selected
ui: standardize page padding, headings, cards, buttons, filters and panels

Tested locally and overall this looks good to me. The shared UI cleanup/standardization feels like a solid improvement and I didn’t run into any blocking functional issues. I do think there’s still some room for visual polish / closer alignment with the Figma direction on Explore, but I don’t think that needs to block this PR.
@angelina-ji
angelina-ji merged commit 1211e94 into main Aug 24, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants