feat(site): responsive mobile layout, filter redesign, and pack card improvements#12
Conversation
…improvements - Fix horizontal overflow on mobile by addressing actual overflow sources (tables, hero gradient, pack cards, pagination) instead of hiding with overflow-x-hidden - Add consistent padding (px-5 sm:px-6) across all pages, header, and footer - Redesign filter UI: franchise/tag/language filters in a 3-column grid with scrollable boxes, expand/collapse to full-width, and distinct color themes (emerald for franchises, violet for tags, amber for languages) - Add franchise filter with count-based sorting - Consolidate language codes (en-GB → en, keep pt-br separate) with native name labels (e.g., "Français (FR)", "中文 (ZH)") - Responsive pagination: stacked layout on mobile with smaller page buttons - Scroll to pack grid (not page top) on pagination, accounting for sticky header - Stack search and sort inputs on mobile - Pack cards: add franchise badge, trust tier with SVG icons and labels (PeonPing/Verified/Community), auto-fitting title text, conditional descriptions - Extract tier SVG icons to reusable components (StarIcon, VerifiedIcon, etc.) - Move author to dedicated row above status bar for better card density
|
@codybrom is attempting to deploy a commit to the Gary Sheng's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
Great UX improvements across the board — mobile overflow fixes, filter redesign, and the franchise badge on pack cards are all solid additions. CI passes (schema validation + site build). The test plan checkboxes are unchecked — holding off on merge until Gary can do a quick visual review on mobile viewports since this touches a lot of UI surface. Leaving it staged here. One note: the language normalization (en-GB → en) is a nice cleanup, though worth verifying that any existing URL params with en-GB still route correctly after the change. |
|
Having worked on multilanguage support across a few projects, collapsing to top-level language codes is generally fine (and user preferable) in practice.
Like I alluded to with English, ISO 639 and IETF language tags don't capture accent. Accents can range regionally, but range from historical to fictional. Still, this might actually be the more meaningful dimension for a sound pack registry but you can't trust a language identifier to be a stand-in for it. Using the locale half of a language tag to determine accent or some other language variety is unnecessary division. A D.VA (Overwatch) pack is even intentionally multilingual by design rather than inconsistency, which is a separate problem from normalization entirely. The changes in this PR are about as good as can be done with the current spec. Language and franchise are both good examples of ways the CESP standard could and perhaps should evolve if there are strong opinions about the "correct" way they should be maintained. |
Summary
Files Changed (20)
PacksClient.tsx: Filter grid, franchise filter, expand/collapse, responsive paginationPackCard.tsx: Franchise badge, tier labels, auto-fit titles, layout changesconstants.ts: Native language labels, new entriesregistry.ts: Language code normalizationcomponents/icons/: New reusable SVG icon componentsTest Plan