@burdenoff/microfe-atheletebridge 2026.1013.1 → 2026.1024.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/atheletebridge/components/MatchupRow.d.ts.map +1 -1
  2. package/dist/atheletebridge/components/MatchupRow.js +36 -36
  3. package/dist/atheletebridge/components/MatchupRow.js.map +1 -1
  4. package/dist/atheletebridge/components/Scoreboard.d.ts +71 -2
  5. package/dist/atheletebridge/components/Scoreboard.d.ts.map +1 -1
  6. package/dist/atheletebridge/components/Scoreboard.js +221 -96
  7. package/dist/atheletebridge/components/Scoreboard.js.map +1 -1
  8. package/dist/atheletebridge/hooks/index.d.ts +1 -0
  9. package/dist/atheletebridge/hooks/index.d.ts.map +1 -1
  10. package/dist/atheletebridge/hooks/index.js +1 -0
  11. package/dist/atheletebridge/hooks/useAthleteBridgeApi.d.ts.map +1 -1
  12. package/dist/atheletebridge/hooks/useAthleteBridgeApi.js +93 -82
  13. package/dist/atheletebridge/hooks/useAthleteBridgeApi.js.map +1 -1
  14. package/dist/atheletebridge/hooks/useScheduledTimeGate.d.ts +18 -0
  15. package/dist/atheletebridge/hooks/useScheduledTimeGate.d.ts.map +1 -0
  16. package/dist/atheletebridge/hooks/useScheduledTimeGate.js +24 -0
  17. package/dist/atheletebridge/hooks/useScheduledTimeGate.js.map +1 -0
  18. package/dist/atheletebridge/pages/fixtures/FixtureDetailPage.d.ts.map +1 -1
  19. package/dist/atheletebridge/pages/fixtures/FixtureDetailPage.js +436 -107
  20. package/dist/atheletebridge/pages/fixtures/FixtureDetailPage.js.map +1 -1
  21. package/dist/atheletebridge/pages/sessions/SessionDetailPage.d.ts.map +1 -1
  22. package/dist/atheletebridge/pages/sessions/SessionDetailPage.js +164 -159
  23. package/dist/atheletebridge/pages/sessions/SessionDetailPage.js.map +1 -1
  24. package/dist/atheletebridge/pages/tournaments/TournamentBracketPage.d.ts.map +1 -1
  25. package/dist/atheletebridge/pages/tournaments/TournamentBracketPage.js +104 -103
  26. package/dist/atheletebridge/pages/tournaments/TournamentBracketPage.js.map +1 -1
  27. package/dist/atheletebridge/types/index.d.ts +74 -1
  28. package/dist/atheletebridge/types/index.d.ts.map +1 -1
  29. package/dist/atheletebridge/utils/index.d.ts +2 -0
  30. package/dist/atheletebridge/utils/index.d.ts.map +1 -1
  31. package/dist/atheletebridge/utils/recordResult.d.ts +92 -0
  32. package/dist/atheletebridge/utils/recordResult.d.ts.map +1 -0
  33. package/dist/atheletebridge/utils/recordResult.js +114 -0
  34. package/dist/atheletebridge/utils/recordResult.js.map +1 -0
  35. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Scoreboard.js","names":[],"sources":["../../../src/atheletebridge/components/Scoreboard.tsx"],"sourcesContent":["/**\n * Scoreboard\n * @module atheletebridge/components\n *\n * Crest-vs-crest fixture presentation. `Scoreboard` renders the full match card\n * (competition strip → crest / score / crest → venue) used by the fixtures list\n * and fixture detail; the compact single-line `MatchupRow` (separate file)\n * reuses the same building blocks for the dashboard + team-detail feeds.\n *\n * All colors are semantic tokens. Winner side is tinted with\n * status-success-text, loser muted — driven purely by the real score.\n */\n\nimport type { FC, ReactNode } from 'react';\nimport { CalendarClock, MapPin, Trophy } from 'lucide-react';\nimport { GlassCard } from '@burdenoff/fe-libs/ui';\nimport { StatusBadge } from './StatusBadge';\nimport { Crest } from './Crest';\nimport { SPORT_ICONS, FIXTURE_TYPE_LABELS } from './domain';\nimport { formatDate } from '../utils/formatters';\nimport { cn } from '../utils/cn';\nimport type { AthFixture, AthSport } from '../types';\n\n// ── Shared matchup model ─────────────────────────────────────────────────────\n\nexport interface Matchup {\n homeName: string;\n awayName: string;\n homeSport?: AthSport;\n awaySport?: AthSport;\n homeScore: number | null;\n awayScore: number | null;\n hasScore: boolean;\n homeWon: boolean;\n awayWon: boolean;\n}\n\n/** Derive the display matchup (names, scores, winner) from a fixture. */\nexport function resolveMatchup(fixture: AthFixture): Matchup {\n const homeName = fixture.homeTeam?.name ?? 'Home';\n const awayName = fixture.awayTeam?.name ?? (fixture.awayTeamId ? 'Away' : 'TBD');\n const hasScore = fixture.homeScore !== null && fixture.awayScore !== null;\n const homeScore = fixture.homeScore;\n const awayScore = fixture.awayScore;\n const homeWon = hasScore && (homeScore ?? 0) > (awayScore ?? 0);\n const awayWon = hasScore && (awayScore ?? 0) > (homeScore ?? 0);\n return {\n homeName,\n awayName,\n homeSport: fixture.homeTeam?.sport,\n awaySport: fixture.awayTeam?.sport,\n homeScore,\n awayScore,\n hasScore,\n homeWon,\n awayWon,\n };\n}\n\n// ── One team flank (crest + name) ────────────────────────────────────────────\n\nexport interface MatchupSideProps {\n name: string;\n sport?: AthSport;\n align?: 'start' | 'end';\n /** Winner emphasis — brightens the name. */\n won?: boolean;\n /** Loser de-emphasis when the fixture has a score. */\n dimmed?: boolean;\n crestSize?: number;\n /** Stack crest above name (hero/card) instead of inline (row). */\n stacked?: boolean;\n className?: string;\n}\n\nexport const MatchupSide: FC<MatchupSideProps> = ({\n name,\n sport,\n align = 'start',\n won = false,\n dimmed = false,\n crestSize = 40,\n stacked = false,\n className,\n}) => (\n <div\n className={cn(\n 'flex min-w-0 items-center gap-3',\n stacked\n ? 'flex-col text-center'\n : align === 'end'\n ? 'flex-row-reverse text-right'\n : 'text-left',\n className\n )}\n >\n <Crest name={name} sport={sport} size={crestSize} />\n <span\n className={cn(\n 'min-w-0 truncate font-semibold',\n stacked ? 'max-w-[10rem] text-sm' : 'text-sm',\n won ? 'text-status-success-text' : dimmed ? 'text-text-muted' : 'text-text-primary'\n )}\n >\n {name}\n </span>\n </div>\n);\n\n// ── Centerpiece (score or vs + kickoff) ──────────────────────────────────────\n\nexport interface ScoreCenterProps {\n matchup: Matchup;\n time?: ReactNode;\n size?: 'sm' | 'md' | 'lg';\n className?: string;\n}\n\nconst SCORE_SIZE = {\n sm: 'text-lg',\n md: 'text-2xl',\n lg: 'text-4xl sm:text-5xl',\n} as const;\n\nexport const ScoreCenter: FC<ScoreCenterProps> = ({ matchup, time, size = 'md', className }) => {\n if (!matchup.hasScore) {\n return (\n <div className={cn('flex flex-col items-center gap-0.5', className)}>\n <span className=\"rounded-lg bg-bg-sunken px-3 py-1 text-xs font-bold uppercase tracking-wide text-text-secondary\">\n vs\n </span>\n {time ? <span className=\"text-xs text-text-secondary\">{time}</span> : null}\n </div>\n );\n }\n return (\n <div className={cn('flex flex-col items-center gap-0.5', className)}>\n <span\n className={cn(\n 'flex items-center gap-2 font-bold leading-none tabular-nums',\n SCORE_SIZE[size]\n )}\n >\n <span className={matchup.homeWon ? 'text-status-success-text' : 'text-text-primary'}>\n {matchup.homeScore}\n </span>\n <span className=\"text-text-muted\">–</span>\n <span className={matchup.awayWon ? 'text-status-success-text' : 'text-text-primary'}>\n {matchup.awayScore}\n </span>\n </span>\n {time ? <span className=\"text-xs text-text-secondary\">{time}</span> : null}\n </div>\n );\n};\n\n// ── Competition eyebrow ──────────────────────────────────────────────────────\n\nconst CompetitionStrip: FC<{ fixture: AthFixture; center?: boolean }> = ({\n fixture,\n center = false,\n}) => {\n const SportIcon = fixture.homeTeam?.sport ? SPORT_ICONS[fixture.homeTeam.sport] : Trophy;\n const parts = [fixture.competition, fixture.round].filter(Boolean).join(' · ');\n return (\n <span\n className={cn(\n 'inline-flex items-center gap-1.5 text-xs font-medium text-text-secondary',\n center && 'justify-center'\n )}\n >\n <SportIcon className=\"h-3.5 w-3.5 shrink-0 text-text-muted\" aria-hidden=\"true\" />\n <span className=\"truncate\">{parts || FIXTURE_TYPE_LABELS[fixture.type]}</span>\n </span>\n );\n};\n\n// ── Full match card / hero ───────────────────────────────────────────────────\n\nexport interface ScoreboardProps {\n fixture: AthFixture;\n onClick?: () => void;\n /** `card` = fixtures-list tile; `hero` = large fixture-detail header. */\n variant?: 'card' | 'hero';\n className?: string;\n}\n\n/** Full crest-vs-crest match card (list tile or detail hero). */\nexport const Scoreboard: FC<ScoreboardProps> = ({\n fixture,\n onClick,\n variant = 'card',\n className,\n}) => {\n const matchup = resolveMatchup(fixture);\n const isHero = variant === 'hero';\n const timeLabel = matchup.hasScore ? null : formatDate(fixture.scheduledAt);\n\n const clickable = Boolean(onClick);\n\n return (\n <GlassCard\n treatment={isHero ? 'glass' : 'metric'}\n glow={isHero}\n role={clickable ? 'button' : undefined}\n tabIndex={clickable ? 0 : undefined}\n onClick={onClick}\n onKeyDown={\n clickable\n ? (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onClick?.();\n }\n }\n : undefined\n }\n className={cn(\n isHero ? 'p-6 sm:p-8' : 'p-5',\n clickable &&\n 'cursor-pointer transition-transform duration-200 hover:-translate-y-0.5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]',\n className\n )}\n >\n <div className={cn('flex items-center justify-between gap-3', isHero && 'justify-center')}>\n <CompetitionStrip fixture={fixture} center={isHero} />\n {!isHero ? <StatusBadge status={fixture.status} /> : null}\n </div>\n\n <div\n className={cn(\n 'mt-4 grid items-center gap-3',\n 'grid-cols-[1fr_auto_1fr]',\n isHero && 'mt-6 gap-4 sm:gap-8'\n )}\n >\n <MatchupSide\n name={matchup.homeName}\n sport={matchup.homeSport}\n align={isHero ? undefined : 'end'}\n stacked={isHero}\n won={matchup.homeWon}\n dimmed={matchup.awayWon}\n crestSize={isHero ? 72 : 40}\n />\n <ScoreCenter matchup={matchup} time={timeLabel} size={isHero ? 'lg' : 'md'} />\n <MatchupSide\n name={matchup.awayName}\n sport={matchup.awaySport}\n align={isHero ? undefined : 'start'}\n stacked={isHero}\n won={matchup.awayWon}\n dimmed={matchup.homeWon}\n crestSize={isHero ? 72 : 40}\n />\n </div>\n\n {isHero ? (\n <div className=\"mt-5 flex justify-center\">\n <StatusBadge status={fixture.status} />\n </div>\n ) : null}\n\n <div\n className={cn(\n 'mt-4 flex flex-wrap items-center gap-x-4 gap-y-1.5 text-xs text-text-secondary',\n isHero && 'mt-6 justify-center'\n )}\n >\n <span className=\"flex items-center gap-1\">\n <CalendarClock className=\"h-3.5 w-3.5\" aria-hidden=\"true\" />{' '}\n {formatDate(fixture.scheduledAt)}\n </span>\n {fixture.venue ? (\n <span className=\"flex items-center gap-1 truncate\">\n <MapPin className=\"h-3.5 w-3.5 shrink-0\" aria-hidden=\"true\" /> {fixture.venue}\n </span>\n ) : null}\n </div>\n </GlassCard>\n );\n};\n"],"mappings":";;;;;;;;;AAsCA,SAAgB,EAAe,GAA8B;CAC3D,IAAM,IAAW,EAAQ,UAAU,QAAQ,QACrC,IAAW,EAAQ,UAAU,SAAS,EAAQ,aAAa,SAAS,QACpE,IAAW,EAAQ,cAAc,QAAQ,EAAQ,cAAc,MAC/D,IAAY,EAAQ,WACpB,IAAY,EAAQ,WACpB,IAAU,MAAa,KAAa,MAAM,KAAa,IACvD,IAAU,MAAa,KAAa,MAAM,KAAa;CAC7D,OAAO;EACL;EACA;EACA,WAAW,EAAQ,UAAU;EAC7B,WAAW,EAAQ,UAAU;EAC7B;EACA;EACA;EACA;EACA;CACF;AACF;AAkBA,IAAa,KAAqC,EAChD,SACA,UACA,WAAQ,SACR,SAAM,IACN,YAAS,IACT,eAAY,IACZ,aAAU,IACV,mBAEA,kBAAC,OAAD;CACE,WAAW,EACT,mCACA,IACI,yBACA,MAAU,QACR,gCACA,aACN,CACF;WATF,CAWE,kBAAC,GAAD;EAAa;EAAa;EAAO,MAAM;CAAY,CAAA,GACnD,kBAAC,QAAD;EACE,WAAW,EACT,kCACA,IAAU,0BAA0B,WACpC,IAAM,6BAA6B,IAAS,oBAAoB,mBAClE;YAEC;CACG,CAAA,CACH;IAYD,IAAa;CACjB,IAAI;CACJ,IAAI;CACJ,IAAI;AACN,GAEa,KAAqC,EAAE,YAAS,SAAM,UAAO,MAAM,mBACzE,EAAQ,WAWX,kBAAC,OAAD;CAAK,WAAW,EAAG,sCAAsC,CAAS;WAAlE,CACE,kBAAC,QAAD;EACE,WAAW,EACT,+DACA,EAAW,EACb;YAJF;GAME,kBAAC,QAAD;IAAM,WAAW,EAAQ,UAAU,6BAA6B;cAC7D,EAAQ;GACL,CAAA;GACN,kBAAC,QAAD;IAAM,WAAU;cAAkB;GAAO,CAAA;GACzC,kBAAC,QAAD;IAAM,WAAW,EAAQ,UAAU,6BAA6B;cAC7D,EAAQ;GACL,CAAA;EACF;KACL,IAAO,kBAAC,QAAD;EAAM,WAAU;YAA+B;CAAW,CAAA,IAAI,IACnE;KAzBH,kBAAC,OAAD;CAAK,WAAW,EAAG,sCAAsC,CAAS;WAAlE,CACE,kBAAC,QAAD;EAAM,WAAU;YAAkG;CAE5G,CAAA,GACL,IAAO,kBAAC,QAAD;EAAM,WAAU;YAA+B;CAAW,CAAA,IAAI,IACnE;IA0BL,KAAmE,EACvE,YACA,YAAS,SACL;CACJ,IAAM,IAAY,EAAQ,UAAU,QAAQ,EAAY,EAAQ,SAAS,SAAS,GAC5E,IAAQ,CAAC,EAAQ,aAAa,EAAQ,KAAK,EAAE,OAAO,OAAO,EAAE,KAAK,KAAK;CAC7E,OACE,kBAAC,QAAD;EACE,WAAW,EACT,4EACA,KAAU,gBACZ;YAJF,CAME,kBAAC,GAAD;GAAW,WAAU;GAAuC,eAAY;EAAQ,CAAA,GAChF,kBAAC,QAAD;GAAM,WAAU;aAAY,KAAS,EAAoB,EAAQ;EAAY,CAAA,CACzE;;AAEV,GAaa,KAAmC,EAC9C,YACA,YACA,aAAU,QACV,mBACI;CACJ,IAAM,IAAU,EAAe,CAAO,GAChC,IAAS,MAAY,QACrB,IAAY,EAAQ,WAAW,OAAO,EAAW,EAAQ,WAAW,GAEpE,IAAY,EAAQ;CAE1B,OACE,kBAAC,GAAD;EACE,WAAW,IAAS,UAAU;EAC9B,MAAM;EACN,MAAM,IAAY,WAAW,KAAA;EAC7B,UAAU,IAAY,IAAI,KAAA;EACjB;EACT,WACE,KACK,MAAM;GACL,CAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,SACjC,EAAE,eAAe,GACjB,IAAU;EAEd,IACA,KAAA;EAEN,WAAW,EACT,IAAS,eAAe,OACxB,KACE,wKACF,CACF;YArBF;GAuBE,kBAAC,OAAD;IAAK,WAAW,EAAG,2CAA2C,KAAU,gBAAgB;cAAxF,CACE,kBAAC,GAAD;KAA2B;KAAS,QAAQ;IAAS,CAAA,GACnD,IAAmD,OAA1C,kBAAC,GAAD,EAAa,QAAQ,EAAQ,OAAS,CAAA,CAC9C;;GAEL,kBAAC,OAAD;IACE,WAAW,EACT,gCACA,4BACA,KAAU,qBACZ;cALF;KAOE,kBAAC,GAAD;MACE,MAAM,EAAQ;MACd,OAAO,EAAQ;MACf,OAAO,IAAS,KAAA,IAAY;MAC5B,SAAS;MACT,KAAK,EAAQ;MACb,QAAQ,EAAQ;MAChB,WAAW,IAAS,KAAK;KAC1B,CAAA;KACD,kBAAC,GAAD;MAAsB;MAAS,MAAM;MAAW,MAAM,IAAS,OAAO;KAAO,CAAA;KAC7E,kBAAC,GAAD;MACE,MAAM,EAAQ;MACd,OAAO,EAAQ;MACf,OAAO,IAAS,KAAA,IAAY;MAC5B,SAAS;MACT,KAAK,EAAQ;MACb,QAAQ,EAAQ;MAChB,WAAW,IAAS,KAAK;KAC1B,CAAA;IACE;;GAEJ,IACC,kBAAC,OAAD;IAAK,WAAU;cACb,kBAAC,GAAD,EAAa,QAAQ,EAAQ,OAAS,CAAA;GACnC,CAAA,IACH;GAEJ,kBAAC,OAAD;IACE,WAAW,EACT,kFACA,KAAU,qBACZ;cAJF,CAME,kBAAC,QAAD;KAAM,WAAU;eAAhB;MACE,kBAAC,GAAD;OAAe,WAAU;OAAc,eAAY;MAAQ,CAAA;MAAE;MAC5D,EAAW,EAAQ,WAAW;KAC3B;QACL,EAAQ,QACP,kBAAC,QAAD;KAAM,WAAU;eAAhB;MACE,kBAAC,GAAD;OAAQ,WAAU;OAAuB,eAAY;MAAQ,CAAA;MAAC;MAAE,EAAQ;KACpE;SACJ,IACD;;EACI;;AAEf"}
1
+ {"version":3,"file":"Scoreboard.js","names":[],"sources":["../../../src/atheletebridge/components/Scoreboard.tsx"],"sourcesContent":["/**\n * Scoreboard\n * @module atheletebridge/components\n *\n * Crest-vs-crest fixture presentation. `Scoreboard` renders the full match card\n * (competition strip → crest / score / crest → venue) used by the fixtures list\n * and fixture detail; the compact single-line `MatchupRow` (separate file)\n * reuses the same building blocks for the dashboard + team-detail feeds.\n *\n * All colors are semantic tokens. Winner side is tinted with\n * status-success-text, loser muted. The final outcome is derived in\n * `resolveMatchup`: a penalty shootout decides the tie when recorded, else\n * extra time, else the full-time score — so every surface that renders a\n * matchup shows the same winner / draw / AET / pens annotation. Cricket\n * fixtures instead render their scorecard (innings scores with overs and a\n * \"won by N runs/wickets\" result) whenever one was recorded (BOFF-7644).\n */\n\nimport type { FC, ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport { CalendarClock, Handshake, MapPin, Trophy } from 'lucide-react';\nimport { GlassCard } from '@burdenoff/fe-libs/ui';\nimport { StatusBadge } from './StatusBadge';\nimport { Crest } from './Crest';\nimport { SPORT_ICONS, FIXTURE_TYPE_LABELS } from './domain';\nimport { formatDate } from '../utils/formatters';\nimport { cn } from '../utils/cn';\nimport { useAbTranslate } from '../i18n';\nimport type { AthFixture, AthSport } from '../types';\n\n// ── Shared matchup model ─────────────────────────────────────────────────────\n\nexport type AthFixtureOutcome = 'HOME_WIN' | 'AWAY_WIN' | 'DRAW';\nexport type AthFixtureDecidedBy = 'EXTRA_TIME' | 'PENALTY_SHOOTOUT';\n\n/**\n * Cricket presentation derived from the fixture's scorecard (BOFF-7644).\n * A cricket score is innings runs/wickets with overs — \"185/6 (20 ov)\" —\n * and the result is a margin, not a score comparison.\n */\nexport interface CricketMatchup {\n homeLabel: string;\n awayLabel: string;\n oversLabel: string;\n resultText: string;\n}\n\nexport interface Matchup {\n homeName: string;\n awayName: string;\n homeSport?: AthSport;\n awaySport?: AthSport;\n homeScore: number | null;\n awayScore: number | null;\n hasScore: boolean;\n homeWon: boolean;\n awayWon: boolean;\n /** Derived final outcome — null until a score exists. */\n outcome: AthFixtureOutcome | null;\n /** How a win was decided — null for draws and for full-time wins. */\n decidedBy: AthFixtureDecidedBy | null;\n /**\n * Chip rendered under the score: the draw word when the tie was level,\n * otherwise the knockout annotation (\"AET\" / \"4–3 pens\"). Null before a score\n * exists. Always localised — it comes from `MatchupLabels`, never a literal.\n */\n outcomeNote: string | null;\n /** Winning team name — null on a draw or before a score exists. */\n winnerName: string | null;\n /** Cricket scorecard presentation — only for cricket fixtures with one. */\n cricket: CricketMatchup | null;\n}\n\nconst formatInnings = (innings: { runs: number; wickets: number }): string =>\n `${innings.runs}/${innings.wickets}`;\n\nconst formatOvers = (innings: { overs: number; balls: number }): string =>\n innings.balls > 0 ? `${innings.overs}.${innings.balls}` : `${innings.overs}`;\n\n/**\n * Localised copy for the strings `resolveMatchup` cannot know by itself.\n *\n * Passed in rather than pulled from a hook so `resolveMatchup` stays a pure\n * function (it is unit-tested and reused by MatchupRow and the tournament\n * bracket) — and required rather than optional so a new call site cannot\n * quietly reintroduce hardcoded English.\n */\nexport interface MatchupLabels {\n /** Shown when the tie was level, e.g. \"Draw\". */\n draw: string;\n /** Suffix after the winning team, e.g. \"won\". */\n won: string;\n /** Abbreviation for a win after extra time, e.g. \"AET\". */\n aet: string;\n /** Builds the shootout annotation from the two penalty scores. */\n pens: (home: number, away: number) => string;\n /** Cricket: the margin phrase, e.g. \"won by\". */\n wonBy: string;\n /** Cricket: the unit a margin is measured in. */\n marginUnits: { runs: string; wickets: string };\n /** Cricket: parenthetical qualifiers on a decided result. */\n cricketModifiers: { superOver: string; dls: string };\n}\n\n/**\n * Localised labels for the matchup annotations.\n *\n * `tr` takes a key plus a literal English fallback (the i18n extractor in\n * `atheletebridge-app` scans `tr(key, fallback)` call sites for exactly that\n * shape), so there is no interpolation parameter to thread through. Only the\n * word is translated and the two scores are appended around it — the digits\n * and the dash are locale-neutral, and the word order is forced to the English\n * one, which is the same compromise every other score-adjacent string in this\n * package makes.\n */\nexport function useMatchupLabels(): MatchupLabels {\n const tr = useAbTranslate();\n return useMemo(() => {\n const pensWord = tr('atheletebridge.scoreboard.pens', 'pens');\n return {\n draw: tr('atheletebridge.scoreboard.draw', 'Draw'),\n won: tr('atheletebridge.scoreboard.won', 'won'),\n aet: tr('atheletebridge.scoreboard.aet', 'AET'),\n pens: (home: number, away: number) => `${home}–${away} ${pensWord}`,\n wonBy: tr('atheletebridge.scoreboard.wonBy', 'won by'),\n marginUnits: {\n runs: tr('atheletebridge.scoreboard.marginRuns', 'runs'),\n wickets: tr('atheletebridge.scoreboard.marginWickets', 'wickets'),\n },\n cricketModifiers: {\n superOver: tr('atheletebridge.scoreboard.superOver', 'Super Over'),\n dls: tr('atheletebridge.scoreboard.dls', 'DLS'),\n },\n };\n }, [tr]);\n}\n\n/** Derive the display matchup (names, scores, outcome) from a fixture. */\nexport function resolveMatchup(fixture: AthFixture, labels: MatchupLabels): Matchup {\n const homeName = fixture.homeTeam?.name ?? 'Home';\n const awayName = fixture.awayTeam?.name ?? (fixture.awayTeamId ? 'Away' : 'TBD');\n const homeScore = fixture.homeScore;\n const awayScore = fixture.awayScore;\n const hasScore = homeScore !== null && awayScore !== null;\n\n // Cricket (BOFF-7644): a stored scorecard carries its own winner, margin\n // and innings scores — display those instead of the generic comparison.\n const scorecard = fixture.cricketScorecard;\n if (scorecard && fixture.homeTeam?.sport === 'CRICKET') {\n // Resolved three-way, like the penalty / extra-time / full-time branches\n // below, and everything else derived from it. `winner` is typed\n // `'HOME' | 'AWAY'` and the backend's reader rejects anything else, so the\n // DRAW arm is unreachable — but a two-way ternary here would silently\n // report an AWAY_WIN on data that is neither, which is exactly the\n // failure the non-cricket branches guard against.\n const outcome: AthFixtureOutcome =\n scorecard.winner === 'HOME' ? 'HOME_WIN' : scorecard.winner === 'AWAY' ? 'AWAY_WIN' : 'DRAW';\n const winnerName = outcome === 'HOME_WIN' ? homeName : outcome === 'AWAY_WIN' ? awayName : null;\n const marginUnit =\n scorecard.decidedBy === 'RUNS' ? labels.marginUnits.runs : labels.marginUnits.wickets;\n const modifiers = [\n scorecard.superOver ? labels.cricketModifiers.superOver : null,\n scorecard.dls ? labels.cricketModifiers.dls : null,\n ]\n .filter(Boolean)\n .join(', ');\n return {\n homeName,\n awayName,\n homeSport: fixture.homeTeam?.sport,\n awaySport: fixture.awayTeam?.sport,\n homeScore,\n awayScore,\n hasScore,\n homeWon: outcome === 'HOME_WIN',\n awayWon: outcome === 'AWAY_WIN',\n outcome,\n decidedBy: null,\n outcomeNote: null,\n winnerName,\n cricket: {\n homeLabel: formatInnings(scorecard.homeInnings),\n awayLabel: formatInnings(scorecard.awayInnings),\n oversLabel: `${formatOvers(scorecard.homeInnings)} ov · ${formatOvers(scorecard.awayInnings)} ov`,\n resultText: `${winnerName ?? ''} ${labels.wonBy} ${scorecard.margin} ${marginUnit}${modifiers ? ` (${modifiers})` : ''}`,\n },\n };\n }\n\n // A shootout decides the tie when recorded, else extra time, else the\n // full-time score. Both knockout stages resolve three-way, equality\n // included, so corrupt API data can never award a win nobody won — the\n // backend already rejects a fixture left level after extra time without a\n // shootout and a shootout without a winner, but this reads rows, not\n // requests, and a two-way ternary silently reports `AWAY_WIN` on a tie.\n let outcome: AthFixtureOutcome | null = null;\n let decidedBy: AthFixtureDecidedBy | null = null;\n let outcomeNote: string | null = null;\n if (hasScore) {\n const penHome = fixture.penaltyHomeScore;\n const penAway = fixture.penaltyAwayScore;\n const etHome = fixture.extraTimeHomeScore;\n const etAway = fixture.extraTimeAwayScore;\n if (penHome !== null && penAway !== null) {\n outcome = penHome > penAway ? 'HOME_WIN' : penHome < penAway ? 'AWAY_WIN' : 'DRAW';\n decidedBy = outcome === 'DRAW' ? null : 'PENALTY_SHOOTOUT';\n outcomeNote = outcome === 'DRAW' ? labels.draw : labels.pens(penHome, penAway);\n } else if (etHome !== null && etAway !== null) {\n outcome = etHome > etAway ? 'HOME_WIN' : etHome < etAway ? 'AWAY_WIN' : 'DRAW';\n decidedBy = outcome === 'DRAW' ? null : 'EXTRA_TIME';\n outcomeNote = outcome === 'DRAW' ? labels.draw : labels.aet;\n } else if (homeScore !== null && awayScore !== null) {\n outcome = homeScore > awayScore ? 'HOME_WIN' : homeScore < awayScore ? 'AWAY_WIN' : 'DRAW';\n // A full-time draw is the only draw the backend can produce, and it still\n // needs the chip, so the word is set here rather than at the call site.\n outcomeNote = outcome === 'DRAW' ? labels.draw : null;\n }\n }\n\n return {\n homeName,\n awayName,\n homeSport: fixture.homeTeam?.sport,\n awaySport: fixture.awayTeam?.sport,\n homeScore,\n awayScore,\n hasScore,\n homeWon: outcome === 'HOME_WIN',\n awayWon: outcome === 'AWAY_WIN',\n outcome,\n decidedBy,\n outcomeNote,\n winnerName: outcome === 'HOME_WIN' ? homeName : outcome === 'AWAY_WIN' ? awayName : null,\n cricket: null,\n };\n}\n\n// ── One team flank (crest + name) ────────────────────────────────────────────\n\nexport interface MatchupSideProps {\n name: string;\n sport?: AthSport;\n align?: 'start' | 'end';\n /** Winner emphasis — brightens the name. */\n won?: boolean;\n /** Loser de-emphasis when the fixture has a score. */\n dimmed?: boolean;\n crestSize?: number;\n /** Stack crest above name (hero/card) instead of inline (row). */\n stacked?: boolean;\n className?: string;\n}\n\nexport const MatchupSide: FC<MatchupSideProps> = ({\n name,\n sport,\n align = 'start',\n won = false,\n dimmed = false,\n crestSize = 40,\n stacked = false,\n className,\n}) => (\n <div\n className={cn(\n 'flex min-w-0 items-center gap-3',\n stacked\n ? 'flex-col text-center'\n : align === 'end'\n ? 'flex-row-reverse text-right'\n : 'text-left',\n className\n )}\n >\n <Crest name={name} sport={sport} size={crestSize} />\n <span\n className={cn(\n 'min-w-0 truncate font-semibold',\n stacked ? 'max-w-[10rem] text-sm' : 'text-sm',\n won ? 'text-status-success-text' : dimmed ? 'text-text-muted' : 'text-text-primary'\n )}\n >\n {name}\n </span>\n </div>\n);\n\n// ── Centerpiece (score or vs + kickoff) ──────────────────────────────────────\n\nexport interface ScoreCenterProps {\n matchup: Matchup;\n time?: ReactNode;\n size?: 'sm' | 'md' | 'lg';\n className?: string;\n}\n\nconst SCORE_SIZE = {\n sm: 'text-lg',\n md: 'text-2xl',\n lg: 'text-4xl sm:text-5xl',\n} as const;\n\nexport const ScoreCenter: FC<ScoreCenterProps> = ({ matchup, time, size = 'md', className }) => {\n if (matchup.cricket) {\n const cricket = matchup.cricket;\n return (\n <div className={cn('flex flex-col items-center gap-0.5', className)}>\n <span\n className={cn(\n 'flex items-center gap-2 font-bold leading-none tabular-nums',\n SCORE_SIZE[size]\n )}\n >\n <span className={matchup.homeWon ? 'text-status-success-text' : 'text-text-primary'}>\n {cricket.homeLabel}\n </span>\n <span className=\"text-text-muted\">v</span>\n <span className={matchup.awayWon ? 'text-status-success-text' : 'text-text-primary'}>\n {cricket.awayLabel}\n </span>\n </span>\n <span className=\"text-[10px] font-medium uppercase tracking-wide text-text-muted\">\n {cricket.oversLabel}\n </span>\n {time ? <span className=\"text-xs text-text-secondary\">{time}</span> : null}\n </div>\n );\n }\n if (!matchup.hasScore) {\n return (\n <div className={cn('flex flex-col items-center gap-0.5', className)}>\n <span className=\"rounded-lg bg-bg-sunken px-3 py-1 text-xs font-bold uppercase tracking-wide text-text-secondary\">\n vs\n </span>\n {time ? <span className=\"text-xs text-text-secondary\">{time}</span> : null}\n </div>\n );\n }\n return (\n <div className={cn('flex flex-col items-center gap-0.5', className)}>\n <span\n className={cn(\n 'flex items-center gap-2 font-bold leading-none tabular-nums',\n SCORE_SIZE[size]\n )}\n >\n <span className={matchup.homeWon ? 'text-status-success-text' : 'text-text-primary'}>\n {matchup.homeScore}\n </span>\n <span className=\"text-text-muted\">–</span>\n <span className={matchup.awayWon ? 'text-status-success-text' : 'text-text-primary'}>\n {matchup.awayScore}\n </span>\n </span>\n {matchup.outcomeNote ? (\n <span className=\"rounded bg-bg-sunken px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wide text-text-secondary\">\n {matchup.outcomeNote}\n </span>\n ) : null}\n {time ? <span className=\"text-xs text-text-secondary\">{time}</span> : null}\n </div>\n );\n};\n\n// ── Competition eyebrow ──────────────────────────────────────────────────────\n\nconst CompetitionStrip: FC<{ fixture: AthFixture; center?: boolean }> = ({\n fixture,\n center = false,\n}) => {\n const SportIcon = fixture.homeTeam?.sport ? SPORT_ICONS[fixture.homeTeam.sport] : Trophy;\n const parts = [fixture.competition, fixture.round].filter(Boolean).join(' · ');\n return (\n <span\n className={cn(\n 'inline-flex items-center gap-1.5 text-xs font-medium text-text-secondary',\n center && 'justify-center'\n )}\n >\n <SportIcon className=\"h-3.5 w-3.5 shrink-0 text-text-muted\" aria-hidden=\"true\" />\n <span className=\"truncate\">{parts || FIXTURE_TYPE_LABELS[fixture.type]}</span>\n </span>\n );\n};\n\n// ── Full match card / hero ───────────────────────────────────────────────────\n\nexport interface ScoreboardProps {\n fixture: AthFixture;\n onClick?: () => void;\n /** `card` = fixtures-list tile; `hero` = large fixture-detail header. */\n variant?: 'card' | 'hero';\n className?: string;\n}\n\n/** Full crest-vs-crest match card (list tile or detail hero). */\nexport const Scoreboard: FC<ScoreboardProps> = ({\n fixture,\n onClick,\n variant = 'card',\n className,\n}) => {\n const labels = useMatchupLabels();\n const matchup = resolveMatchup(fixture, labels);\n const isHero = variant === 'hero';\n const timeLabel = matchup.hasScore ? null : formatDate(fixture.scheduledAt);\n\n const clickable = Boolean(onClick);\n\n return (\n <GlassCard\n treatment={isHero ? 'glass' : 'metric'}\n glow={isHero}\n role={clickable ? 'button' : undefined}\n tabIndex={clickable ? 0 : undefined}\n onClick={onClick}\n onKeyDown={\n clickable\n ? (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onClick?.();\n }\n }\n : undefined\n }\n className={cn(\n isHero ? 'p-6 sm:p-8' : 'p-5',\n clickable &&\n 'cursor-pointer transition-transform duration-200 hover:-translate-y-0.5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]',\n className\n )}\n >\n <div className={cn('flex items-center justify-between gap-3', isHero && 'justify-center')}>\n <CompetitionStrip fixture={fixture} center={isHero} />\n {!isHero ? <StatusBadge status={fixture.status} /> : null}\n </div>\n\n <div\n className={cn(\n 'mt-4 grid items-center gap-3',\n 'grid-cols-[1fr_auto_1fr]',\n isHero && 'mt-6 gap-4 sm:gap-8'\n )}\n >\n <MatchupSide\n name={matchup.homeName}\n sport={matchup.homeSport}\n align={isHero ? undefined : 'end'}\n stacked={isHero}\n won={matchup.homeWon}\n dimmed={matchup.awayWon}\n crestSize={isHero ? 72 : 40}\n />\n <ScoreCenter matchup={matchup} time={timeLabel} size={isHero ? 'lg' : 'md'} />\n <MatchupSide\n name={matchup.awayName}\n sport={matchup.awaySport}\n align={isHero ? undefined : 'start'}\n stacked={isHero}\n won={matchup.awayWon}\n dimmed={matchup.homeWon}\n crestSize={isHero ? 72 : 40}\n />\n </div>\n\n {/* Explicit match outcome (BOFF-7640) — the score alone does not say\n whether the match was drawn or won after extra time / penalties. */}\n {fixture.status === 'COMPLETED' && matchup.outcome ? (\n <div className={cn('flex justify-center', isHero ? 'mt-4' : 'mt-3')}>\n {matchup.outcome === 'DRAW' ? (\n <span className=\"inline-flex items-center gap-1.5 rounded-full bg-bg-sunken px-3 py-1 text-xs font-semibold text-text-secondary\">\n <Handshake className=\"h-3.5 w-3.5\" aria-hidden=\"true\" /> {labels.draw}\n </span>\n ) : (\n <span className=\"inline-flex items-center gap-1.5 rounded-full bg-status-success-bg-subtle px-3 py-1 text-xs font-semibold text-status-success-text\">\n <Trophy className=\"h-3.5 w-3.5\" aria-hidden=\"true\" />\n {matchup.cricket ? (\n matchup.cricket.resultText\n ) : (\n <>\n {matchup.winnerName} {labels.won}\n {matchup.decidedBy && matchup.outcomeNote ? ` (${matchup.outcomeNote})` : ''}\n </>\n )}\n </span>\n )}\n </div>\n ) : null}\n\n {isHero ? (\n <div className=\"mt-5 flex justify-center\">\n <StatusBadge status={fixture.status} />\n </div>\n ) : null}\n\n <div\n className={cn(\n 'mt-4 flex flex-wrap items-center gap-x-4 gap-y-1.5 text-xs text-text-secondary',\n isHero && 'mt-6 justify-center'\n )}\n >\n <span className=\"flex items-center gap-1\">\n <CalendarClock className=\"h-3.5 w-3.5\" aria-hidden=\"true\" />{' '}\n {formatDate(fixture.scheduledAt)}\n </span>\n {fixture.venue ? (\n <span className=\"flex items-center gap-1 truncate\">\n <MapPin className=\"h-3.5 w-3.5 shrink-0\" aria-hidden=\"true\" /> {fixture.venue}\n </span>\n ) : null}\n </div>\n </GlassCard>\n );\n};\n"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export { useTeams, useTeam, useTeamMembers, useCreateTeam, useUpdateTeam, useArchiveTeam, useAddMember, useRemoveMember, useFixtures, useFixture, useStandings, useScheduleFixture, useRecordFixtureResult, usePrograms, useProgram, useCreateProgram, useUpdateProgram, useTransitionProgram, useArchiveProgram, useAddDrill, useRemoveDrill, useSessions, useSession, useBookSession, useConfirmSession, useCompleteSession, useCancelSession, useWorkoutLogs, usePerformanceMetrics, useLogWorkout, useRecordMetric, useUploadFile, useFile, useUserSearch, directoryUserName, useUsersByIds, useUserDirectory, useAiModelCatalog, useWorkspaceAiConfig, useSetWorkspaceAiModel, useSetWorkspaceAutoPilot, useAgentRuns, useAgentRun, useProgramAiState, useGenerateProgram, useAdjustPlanFromPerformance, useOverrideAgentRun, AthApiError, AI_PROVIDER_UNAVAILABLE, isAiProviderUnavailable, useRecentActivity, useAthleteProfile, useCoachAnalytics, useHealth, } from './useAthleteBridgeApi';
2
+ export { useScheduledTimeGate } from './useScheduledTimeGate';
2
3
  export type { TeamFilters, FixtureFilters, ProgramFilters, SessionFilters, WorkoutLogFilters, AgentRunFilters, WorkspaceFileRef, DirectoryUser, ResolvedUser, UserDirectory, ActivityType, ActivityItem, RecentActivityInput, AthleteProfile, SessionStatusCount, RatingByCoach, AnalyticsTrendPoint, AthleteTrainingLoad, CoachAnalytics, CoachAnalyticsOptions, } from './useAthleteBridgeApi';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,OAAO,EACP,cAAc,EACd,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,eAAe,EAEf,WAAW,EACX,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EAEtB,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,cAAc,EAEd,WAAW,EACX,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAEhB,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,eAAe,EAEf,aAAa,EACb,OAAO,EAEP,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAEhB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,4BAA4B,EAC5B,mBAAmB,EACnB,WAAW,EACX,uBAAuB,EACvB,uBAAuB,EAEvB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EAEjB,SAAS,GACV,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,qBAAqB,GACtB,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,OAAO,EACP,cAAc,EACd,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,eAAe,EAEf,WAAW,EACX,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EAEtB,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,cAAc,EAEd,WAAW,EACX,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAEhB,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,eAAe,EAEf,aAAa,EACb,OAAO,EAEP,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAEhB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,4BAA4B,EAC5B,mBAAmB,EACnB,WAAW,EACX,uBAAuB,EACvB,uBAAuB,EAEvB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EAEjB,SAAS,GACV,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,YAAY,EACV,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,qBAAqB,GACtB,MAAM,uBAAuB,CAAC"}
@@ -1 +1,2 @@
1
1
  import "./useAthleteBridgeApi.js";
2
+ import "./useScheduledTimeGate.js";
@@ -1 +1 @@
1
- {"version":3,"file":"useAthleteBridgeApi.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/hooks/useAthleteBridgeApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useAthleteBridgeApi.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/hooks/useAthleteBridgeApi.ts"],"names":[],"mappings":"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"}