01123f291d
- introduce shared progress indicator component for wizard steps - align layouts and button sizing across new game panels - update feature exports to surface the new component Refs #30
Feature Bundles (@lib/features)
Feature directories compose domain, data, state, and UI primitives into end-user flows. Each folder exports React/Preact components that can be dropped into any host application.
Available Features
game-listGameListcomponent that renders filters + game cards.
game-detailGameDetailscoreboard with break tracking, undo triggers, and finish controls.
game-lifecycleGameCompletionModalsummarising winners + rematch CTA.
new-game- Wizard step components (
Player1Step,BreakOrderStep, etc.) and modal pickers.
- Wizard step components (
Usage Example
import { GameList, GameCompletionModal } from '@lib/features/game-list';
// or, via umbrella export:
import { GameDetail, GameCompletionModal } from '@lib';
Conventions
- Feature components accept plain props (typically typed with
@lib/domaintypes) and delegate callbacks to the consumer. - State management lives in
@lib/state. Features should remain stateless except for local UI state (e.g. input fields). - Keep CSS modules inside the feature folder to avoid cross-feature leakage.