2026-07-19 22:51:07 +02:00
|
|
|
import { PublicLive } from "@/components/public-live"
|
2026-08-21 19:50:35 +02:00
|
|
|
import { PublicIndividualLive } from "@/components/public-individual-live"
|
|
|
|
|
|
|
|
|
|
// Server-side, IKKE nettleser-fetch -- samme mønster som app/logg-inn/
|
|
|
|
|
// page.tsx og generateMetadata i app/t/[id]/page.tsx (peker direkte på
|
|
|
|
|
// API-et, går IKKE gjennom next.config.mjs sin rewrites()). Avgjør
|
|
|
|
|
// format_type FØR noe rendres, slik at en individuell turnering aldri
|
|
|
|
|
// (heller ikke kortvarig) viser Cup-formatets side -- se CHANGELOG.md
|
|
|
|
|
// 2026-08-21 for hele bakgrunnen (tournament-router.tsx sin tilsvarende
|
|
|
|
|
// klient-side feil, som denne siden bevisst unngår ved å avgjøre server-
|
|
|
|
|
// side i stedet).
|
|
|
|
|
const API_ORIGIN = process.env.TEECUP_API_ORIGIN || "http://localhost:8000"
|
2026-07-19 22:51:07 +02:00
|
|
|
|
|
|
|
|
export default async function PublicLivePage({
|
|
|
|
|
params,
|
|
|
|
|
searchParams,
|
|
|
|
|
}: {
|
|
|
|
|
params: Promise<{ id: string }>
|
|
|
|
|
searchParams: Promise<{ code?: string }>
|
|
|
|
|
}) {
|
|
|
|
|
const { id } = await params
|
|
|
|
|
const { code } = await searchParams
|
2026-08-21 19:50:35 +02:00
|
|
|
|
|
|
|
|
let formatType = "team"
|
|
|
|
|
try {
|
|
|
|
|
const url = `${API_ORIGIN}/public/tournaments/${id}${code ? `?code=${encodeURIComponent(code)}` : ""}`
|
|
|
|
|
const res = await fetch(url, { cache: "no-store" })
|
|
|
|
|
if (res.ok) {
|
|
|
|
|
const data: { format_type?: string } = await res.json()
|
|
|
|
|
formatType = data.format_type === "individual" ? "individual" : "team"
|
|
|
|
|
}
|
|
|
|
|
} catch {
|
|
|
|
|
// Klarte ikke å avgjøre format server-side -- fall tilbake til Cup-
|
|
|
|
|
// siden sin egen feilhåndtering (samme "trygg fallback"-prinsipp som
|
|
|
|
|
// resten av appen), ikke en hard krasj her.
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (formatType === "individual") {
|
|
|
|
|
return <PublicIndividualLive tournamentId={id} code={code} />
|
|
|
|
|
}
|
2026-07-19 22:51:07 +02:00
|
|
|
return <PublicLive tournamentId={id} code={code} />
|
|
|
|
|
}
|