Files
bscscore/src/lib/features
Frank Schwenk 01123f291d refactor: standardize new game progress ui
- 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
2025-11-14 11:07:26 +01:00
..
2025-11-13 10:41:55 +01:00

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-list
    • GameList component that renders filters + game cards.
  • game-detail
    • GameDetail scoreboard with break tracking, undo triggers, and finish controls.
  • game-lifecycle
    • GameCompletionModal summarising winners + rematch CTA.
  • new-game
    • Wizard step components (Player1Step, BreakOrderStep, etc.) and modal pickers.

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/domain types) 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.