Viktorani API - v0.0.8
    Preparing search index...

    Function useScoreboard

    • Manages scoreboard state for the GM view.

      Parameters

      • game: Game

        The active Game record. Only game.id is used for DB queries.

      Returns UseScoreboardResult

      Sorted entries, the adjust callback, and a suggested increment step.

      • Loads players (and teams in team mode) from IndexedDB on mount.
      • Provides UseScoreboardResult.adjust to apply manual +/− delta to a player or team.
      • Emits a SCORE_UPDATE transport event after every adjustment so players see live scores.
      • In team mode, adjusting an individual player's score also recalculates and persists the parent team's aggregate score.
      • Scores are clamped to a minimum of 0.
      function Scoreboard({ game }: { game: Game }) {
      const { entries, adjust, defaultIncrement } = useScoreboard(game)
      return entries.map(e => (
      <div key={e.id}>
      {e.name}: {e.score}
      <button onClick={() => adjust(e.id, e.kind, defaultIncrement)}>+</button>
      </div>
      ))
      }