mirror of
https://github.com/narrrl/holy-flavor-rater.git
synced 2026-11-03 16:41:27 +01:00
3.4 KiB
3.4 KiB
UX & Design Improvements
Tracking doc from the frontend/UX audit. Items grouped by priority. Check off as done.
🔴 High impact
- #1 i18n sweep — app claims EN/DE but ~30+ user-facing strings are English-only.
App.tsx404 pageCategoryFlavors.tsxempty state + review captionCommunityFeed.tsx"No comment provided.", reply-failed toastFlavorDetail.tsxadmin edit labels, confirm dialogs, error toastsLogin.tsxreset/verify flow labels, buttons, messagesMyReviewCard.tsxconfirm dialogs, error toastsPublicProfile.tsxtabs, empty states, confirm dialogs, error toasts- Deferred (admin-only, superuser surface):
AdminUserDetail.tsx,admin/*(Banners, Tickets, Overview, Config, Jobs, Users),AdminRatingDetail.tsx,AdminReplyDetail.tsx,Settings.tsxtheme-list subheaders. Lower UX priority — only the operator sees these.
- #2 Delete dead code —
FlavorList.tsx(240 LOC) +AdminDashboard.tsx(873 LOC). Zero imports, not in router (replaced byadmin/folder +flavors/FlavorDetail). - #3 Add brand/logo — no app identity anchor in sidebar or mobile appbar.
- #4 Categories discoverable — accordion now open by default (
NavSidebar.tsx); primary browse axis visible without an extra click.
🟡 Medium
- #5 Hall of Fame carousel (
MainPage.tsx) — added 6s auto-advance (stops on manual control, pauses on hover, off for reduced-motion), touch swipe, on-card overlay arrows on mobile (header arrows desktop-only), and featured quote now picks the highest-scored comment instead of the first. - #6 Admin edit leaks into product card (
FlavorDetail.tsx) — extracted tocomponents/AdminFlavorEditDialog.tsx; card keeps a clean read view, edit opens a focused dialog. - #7 CommunityFeed duplication (
CommunityFeed.tsx) — dropped the in-page Notifications + Following sidebar cards (NavSidebar already provides both: NotificationMenu popup + Following collapse). Kept the unique "Circle's Top Rated" card. Removed now-dead queries/state/imports. - #8 Reply Enter-to-submit on multiline (
CommunityFeed.tsx,FlavorDetail.tsx,MyReviewCard.tsx) — reply fields are nowmultiline rows={2}; plain Enter inserts a newline, submit moved to Ctrl/Cmd+Enter (no longer hijacks Enter, no longer blocks newlines). - #9 Login password UX (
Login.tsx) — added aPasswordFieldwith show/hide toggle (all password inputs), a 0–4 strength meter on signup + reset-new-password, and inline validation mirroring the backend (min 8 chars, not entirely numeric) that gates the submit button.
🟢 Design-system cleanup
- #10 Unify grid breakpoints — 3 different responsive card grids across browse surfaces.
- #11 Extract
<BackButton>— repeated with driftingsxon 5+ pages. - #12 Font-weight scale — 600/700/800/900/'bold' scattered; enforce via theme.
- #13 Avatar fallback casing — inconsistent
.toUpperCase(). - #14 Image placeholder —
CommunityFeed/MyReviewCardraw<img>can show broken-image icon; reuseFlavorCardpattern. - #15 Standardize empty states —
EmptyStatecomponent vs inline<Typography>.
✅ Good (keep)
ScoreInput a11y (radiogroup, arrow/number keys). Glass design system + skeletons. Optimistic mutations. Lazy routes. Status/Rating badges.