Files
bscscore/src/lib/features
Frank Schwenk 9bf4c20f11 fix: improve Android tablet keyboard-safe layout
Use dynamic viewport sizing and keyboard-aware spacing to keep new-game inputs and navigation reachable in PWA landscape mode on Android tablets. Refs #30.

Made-with: Cursor
2026-04-04 11:31:31 +02: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.