teecup/frontend/next.config.mjs
Erol Haagenrud 3f888f1e10 De to gjenværende UI-hullene fra 2026-07-19-runden (ingen vei til å opprette en ANDRE organisasjon, og intet sammendrag for "alle runder har dato") er de mest opplagte å ta først — begge er ferdig diagnostisert, null designtvil, og rene tilføyelser i frontend uten backend-endring.
Det jeg egentlig vil trekke frem som det strategisk viktigste, er derimot deltaker-tilgang til lag-chat og scorekort uten org-medlemskap — den naturlige fortsettelsen av dagens ADR-031-arbeid («Mine runder» viser nå turneringen, men en ren spiller kan fortsatt ikke åpne laget sin chat eller scorekortet derfra, siden begge fortsatt krever get_authorized_org). Tradeoffen: det er en bredere og mer risikofylt endring enn dagens papirkutt, siden get_authorized_org brukes av dusinvis av endepunkter — bør gjøres som en egen, forsiktig gjennomgått runde, ikke tas i forbifarten.
2026-07-21 09:03:52 +02:00

31 lines
1.4 KiB
JavaScript

// API-et proxyes server-side under samme opprinnelse (ingen CORS, cookien
// fungerer uendret) -- se ADR-009/015. TEECUP_API_ORIGIN peker mot en lokal
// backend i dev; i prod peker den mot teecup_api på det delte Docker-nettverket.
const API_ORIGIN = process.env.TEECUP_API_ORIGIN || "http://localhost:8000"
/** @type {import('next').NextConfig} */
const nextConfig = {
output: "standalone",
images: {
unoptimized: true,
},
// MERK (funnet 2026-07-19, se FEATURE_BACKLOG.md): en plain array her gir
// implisitt "afterFiles"-semantikk -- statiske filer/sider sjekkes FØR
// disse rewrites, men DYNAMISKE Next.js-sider (app/x/[id]/page.tsx)
// sjekkes ETTER. En frontend-SIDE må derfor ALDRI nestes direkte under
// et av prefiksene under (f.eks. /orgs/[id]/members) -- rewrite-regelen
// vinner presedens og siden blir uoppnåelig (rå API-404 i stedet).
// Legg nye frontend-sider et sted UTENFOR disse prefiksene (se
// app/organizations/[id]/members for eksempelet dette ble rettet på).
async rewrites() {
return [
{ source: "/auth/:path*", destination: `${API_ORIGIN}/auth/:path*` },
{ source: "/orgs/:path*", destination: `${API_ORIGIN}/orgs/:path*` },
{ source: "/public/:path*", destination: `${API_ORIGIN}/public/:path*` },
{ source: "/superadmin/:path*", destination: `${API_ORIGIN}/superadmin/:path*` },
{ source: "/health", destination: `${API_ORIGIN}/health` },
]
},
}
export default nextConfig