You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor: remove dead widgets and navigation helpers
Delete BottomActionBar/ActionButton, AvailabilityBadge, BreadcrumbBar,
ABVStrengthHelper and four unused navigation helpers, along with the
tests that were their only callers. buildDrinksPath and
buildCategoryPath built routes the router never registered.
Fixes#500
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017B31wKKL578bV18hcpXyE2
Copy file name to clipboardExpand all lines: .claude/skills/ui-and-accessibility/SKILL.md
+6-8Lines changed: 6 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -139,8 +139,6 @@ unless noted.
139
139
| Divided strip of "key facts" (centred value over an uppercase label) inside a hero |`FactsStrip` + `FactCell`|`facts_strip.dart`|`FactsStrip` owns the top/bottom/left dividers; a `FactCell` becomes a navigation button when given `onTap` + `semanticLabel`|
140
140
| Small metadata pill (style, dispense, bar location) |`InfoChip`|`info_chip.dart`| Optional `onTap` makes it a `Semantics(button: true)` link |
141
141
| Section title with underline on a detail screen |`SectionHeader`|`section_header.dart`|`showSeparator` toggles the underline |
142
-
| Sticky bottom row of actions (tasting log, rate, favourite, share) |`BottomActionBar` + `ActionButton`|`bottom_action_bar.dart`|**Currently unused** — no screen wires it up (the drink detail screen uses a FAB + `YourTakeCard` instead). Available, but check it still fits before adopting. `ActionButton.isActive` drives colour + `FontWeight`; `semanticLabel` overrides the visible label for screen readers |
143
-
| Back-navigation header on a detail screen (drink/brewery/style) |`BreadcrumbBar`|`breadcrumb_bar.dart`|**Currently unused** — detail screens use `CollapsingDetailAppBar` + `buildHomeLeadingButton`. Only the `IconButton` gets `Semantics`, never the text row — see the "BAD" example in `docs/code/widget-standards.md`. 28px icon → 48×48 touch target. Text segments only become tappable/underlined when a callback is provided |
144
142
| Three-dot menu for festival switch / settings / about |`buildOverflowMenu(context)`|`overflow_menu.dart`| A function, not a widget class — `docs/code/ui-components.md` documents where to include it (Drinks, My Festival screen) and where not to (detail screens, About, modals) |
145
143
| Modal filter pickers (category, style, sort, visibility) |`showCategoryFilter` / `showStyleFilter` / `showSortOptions` / `showVisibilityFilter`|`drink_filter_sheets.dart`| All route through the private `_showSheet` helper (`isScrollControlled: true`) and share `_SheetHandle` — add a new filter type by adding a sheet class + show-function here, not a bespoke `showModalBottomSheet` call elsewhere |
146
144
| Star rating display or picker |`StarRating`|`star_rating.dart`|`isEditable` toggles read-only vs tap-to-rate; semantic `value` is always `'$rating out of 5 stars'`|
0 commit comments