teecup/frontend/app/tournaments/[id]/sessions/[sessionId]/matches/[matchId]/page.tsx
Erol Haagenrud 21196c9cfd Update Todos
Diffe zip 7 mot live-treet

Integrere session-scorecard.tsx mot ekte API

Lenke fra blind draw/program til scorekort-siden

Ekte typesjekket frontend-build

Scratch/manuell verifisering av hele skrive-flyten

Rulle ut live

Oppdatere .md-filer + slette zip 7
Scorekort-skjermen er live. Oppsummert:

Ett hull i fokus om gangen, store steppere for slag-modus, tre-valgs vinnerknapper for hullresultat-modus, hull-navigasjon med registrert-markering, kollapsbar full oversikt, og et feiret «avgjort»-banner som låser alt read-only
Lenket inn fra blind draw sin avslørte visning
Ingen nye backend-hull denne runden — forrige rundes forarbeid dekket alt
Verifisert med en test som speiler frontend-ens egen last-sekvens nøyaktig, test_isolation.sql 12/12, ekte typesjekket build
.md-filene oppdatert, zip 7 slettet
2026-07-18 17:47:33 +02:00

35 lines
1.1 KiB
TypeScript

import { SessionScorecard } from "@/components/session-scorecard"
export default async function SessionScorecardPage({
params,
searchParams,
}: {
params: Promise<{ id: string; sessionId: string; matchId: string }>
searchParams: Promise<{ org?: string; name?: string }>
}) {
const { id, sessionId, matchId } = await params
const { org, name } = await searchParams
const tournamentName = name?.trim() || "Turnering"
// Samme grunn som de andre turnering-undersidene: API-et krever
// organization_id på alle match-/scoring-endepunkter (RLS, se ADR-001/003).
if (!org) {
return (
<main className="flex min-h-[100dvh] flex-col items-center justify-center gap-2 bg-background px-5 text-center">
<p className="text-sm font-medium text-destructive">
Mangler organisasjon i lenken. tilbake til dashbordet og prøv igjen.
</p>
</main>
)
}
return (
<SessionScorecard
organizationId={org}
tournamentId={id}
sessionId={sessionId}
matchId={matchId}
tournamentName={tournamentName}
/>
)
}