Update Todos

Pakke ut og diffe alle tre V0-eksporter mot levende tre

Lese V0s round-card.tsx, own-rounds.tsx, new-round.tsx, round-detail.tsx grundig

Lese V0s app/rounds*/page.tsx routing-filer

Ta inn round-card.tsx uendret

Skrive om datalaget i own-rounds.tsx (fjerne mock/toggle, ekte fetch)

Skrive om datalaget i new-round.tsx (ekte søk/opprett/bekreft)

Skrive om datalaget i round-detail.tsx (ekte runde/deltakere/hull, fjerne preview-toggle)

Oppdatere page.tsx-rutene og slette gamle hånd-bygde komponentfiler

Typesjekket produksjonsbuild + slette V0-zip-filene

Rulle ut live etter bekreftelse
Rullet ut og dokumentert. Oppsummert:

Frontend for frittstående rundeføring bruker nå V0s design på alle tre skjermene (/rounds, /rounds/new, /rounds/[id]), med ekte data koblet inn på samme måte som resten av appen. Verifisert med typesjekket produksjonsbuild, ingen backend-endring, teeoff.no upåvirket gjennom hele utrullingen. Status oppdatert i CLAUDE.md, FEATURE_BACKLOG.md og ADR-033.

Gjenstår fortsatt fra tidligere: ekte kontokobling for gjestedeltakere, automatisk HCP-oppdatering ved fullført runde, shotgun-start (egen ADR-034), og GPS/avstandsmåling.
This commit is contained in:
Erol Haagenrud 2026-07-23 11:31:50 +02:00
parent 546b52665f
commit 7301de72c5
4 changed files with 89 additions and 1 deletions

View file

@ -360,7 +360,8 @@
"Bash(curl -s -o /dev/null -w \"teecup.teeoff.no/dashboard: %{http_code}\\\\n\" https://teecup.teeoff.no/dashboard)",
"Bash(curl -s -o /dev/null -w \"teecup.teeoff.no/rounds: %{http_code}\\\\n\" https://teecup.teeoff.no/rounds)",
"Read(//home/**)",
"Bash(rm -f \"tee-cup-login-screen \\(10\\).zip\" \"tee-cup-login-screen \\(11\\).zip\" \"tee-cup-login-screen \\(12\\).zip\")"
"Bash(rm -f \"tee-cup-login-screen \\(10\\).zip\" \"tee-cup-login-screen \\(11\\).zip\" \"tee-cup-login-screen \\(12\\).zip\")",
"Bash(curl -s -o /dev/null -w \"teecup.teeoff.no/rounds/new: %{http_code}\\\\n\" https://teecup.teeoff.no/rounds/new)"
],
"additionalDirectories": [
"/opt/teeoff/deploy",

View file

@ -1962,6 +1962,59 @@ for gjeste-deltakere (Beslutning D), automatisk oppdatering av
(egen, separat ADR-034), GPS/avstandsmåling (se eget notat i
FEATURE_BACKLOG.md, krever data ingen kilde har i dag).
**Frontend ERSTATTET med V0-designet versjon 2026-07-23, samme dag som
den hånd-bygde frontend-en over ble rullet ut:** brukeren påpekte
(berettiget) at de tre nye skjermene var hånd-kodet av meg direkte i
stedet for designet i V0 -- et avvik fra prosjektets etablerte mønster
gjennom HELE resten av appen. Bekreftet med bruker at arbeidsmåten
fortsatt skal være: JEG skriver V0-prompten, BRUKEREN kjører den i
v0.app og sender koden tilbake, JEG integrerer (samme flyt som alltid,
ikke endret). Skrev tre detaljerte prompter (liste/opprett/hull-
registrering, inkl. eksplisitt tilgjengelighetskrav i hver) -- bruker
lastet opp tre zip-eksporter (`tee-cup-login-screen (10/11/12).zip`).
**Samme "full re-eksport hver gang"-mønster som ALLE tidligere V0-runder:**
diffet mot levende tre FØR noe ble tatt inn -- kun fire filer var reelt
nye/relevante (`round-card.tsx`, `own-rounds.tsx`, `new-round.tsx`,
`round-detail.tsx` + tre `app/rounds*/page.tsx`-ruter), resten
(login-form, dashboard, config, ui/*) var forventede full-reverts og ble
IKKE tatt inn. **Samme kjente V0-feil dukket opp igjen, hoppet bevisst
over:** `app/clubs/[id]/page.tsx` med feilnavngitt `[id]`-parameter
(egentlig en slug) -- identisk feil som ble rettet i klubbside-runden
under ADR-018, V0 gjenskaper den tydeligvis når prosjektet re-genereres.
**Mine tre hånd-bygde komponenter (`personal-rounds.tsx`, `round-new.tsx`,
og min opprinnelige `round-detail.tsx`) er ERSTATTET, ikke supplert** --
V0s presentasjon beholdt, datalaget skrevet om fra mock til ekte fetch
(samme "V0 leverte mock, jeg kabler ekte data"-mønster som enhver annen
skjerm i appen). Reelle tilpasninger utover ren om-kabling:
1. V0s teeoff-søkemodell antok hele bane+utslag-lista lå ferdig i
søkeresultatet -- det ekte API-et er et to-stegs oppslag (søk →
facility-detalj). Løst med en `resolving`-tilstand i
`OfficialSearchStep` (eneste strukturelle tillegg til V0s JSX).
2. La til et tredje kjønnsvalg "Annet" i gjeste-skjemaets `ChoiceRow`
(V0 hadde kun Mann/Kvinne) -- matcher appens ellers etablerte
Herre/Dame/Annet-konvensjon (`account-settings.tsx` m.fl.), og
API-ets `GuestParticipantCreate.gender` støtter allerede `x`.
3. Beholdt merge-før-PATCH-sikringen fra forrige rundes kontraktsfunn
(hull-PATCH skriver alle felt, ikke bare det endrede) -- V0 kjente
naturligvis ikke til denne kontraktsdetaljen, lagt inn i
`updateStat()` uendret i prinsipp fra min opprinnelige versjon.
4. Fjernet V0s dev-only forhåndsvisningskontroller (`ReviewToggle` i
`own-rounds.tsx`, den nederste "Forhåndsvis: Pågår/Fullført"-linjen i
`round-detail.tsx`) -- samme opprydningsmønster som ALLE tidligere
V0-runder i prosjektet.
Ingen backend-endring i denne del-runden (samme API-kontrakt som allerede
var scratch-verifisert). **Verifisert:** ekte typesjekket
produksjonsbuild (`docker build --target builder`) kompilerte rent, alle
ruter listet. Ingen ny interaktiv nettleser-test utført (intet slikt
verktøy tilgjengelig i denne økten) -- kun kodegjennomgang + typesjekk,
flagget eksplisitt til bruker.
**Rullet ut live 2026-07-23**, bruker bekreftet eksplisitt: `docker
compose up -d --build teecup_frontend` (gjenskapte også `teecup_api` som
vanlig compose-bivirkning, ingen backend-kode rørt), begge containere
boot-et rent, `/health`/`/dashboard`/`/rounds`/`/rounds/new` → 200 over
ekte https, `teeoff.no` upåvirket. De tre V0-zip-ene slettet fra
prosjektroten etter fullført integrering.
**Motor-komponenten (punkt 1-11) er ✅ BYGGET OG TESTET 2026-07-22,**
som første, isolerte byggesteg (ren Python, ingen DB/API/frontend ennå —
matcher ADR-005s "test i isolasjon FØR resten"). Nye funksjoner i

View file

@ -2399,6 +2399,28 @@ Neste steg:
`teeoff.no` upåvirket. **Frittstående rundeføring har dermed backend
OG frontend live** — se ADR-033 i ARCHITECTURE_DECISIONS.md for full
detalj om alle fire lagene (engine/skjema/API/frontend).
**Frontend ERSTATTET med V0-designet versjon, samme dag:** brukeren
påpekte berettiget at de tre skjermene over var hånd-kodet av meg i
stedet for designet i V0, som er prosjektets etablerte mønster for
ALL øvrig frontend. Bekreftet arbeidsmåten uendret (jeg skriver
V0-prompten, brukeren kjører den og sender koden tilbake, jeg
integrerer). Tre prompter skrevet (liste/opprett/hull-registrering,
inkl. eksplisitt tilgjengelighetskrav i hver), tre zip-eksporter
mottatt og diffet mot levende tre (samme "full re-eksport"-mønster som
alltid — kun `round-card.tsx`/`own-rounds.tsx`/`new-round.tsx`/
`round-detail.tsx` + rutene var reelt nye). Samme kjente V0-feil dukket
opp igjen og ble hoppet over (`app/clubs/[id]/page.tsx`, feilnavngitt
slug-parameter — identisk feil som ble rettet under ADR-018). Mine
hånd-bygde komponenter ERSTATTET (ikke supplert), datalag skrevet om
fra V0s mock til ekte fetch — samme mønster som enhver annen skjerm.
Full detalj (inkl. de fire reelle tilpasningene utover ren om-kabling)
i ADR-033. Ekte typesjekket produksjonsbuild kjørt og bekreftet, ingen
ny interaktiv nettleser-test (intet slikt verktøy tilgjengelig,
flagget eksplisitt). **Rullet ut live 2026-07-23**, bruker bekreftet
eksplisitt: `docker compose up -d --build teecup_frontend` (gjenskapte
også `teecup_api` som vanlig bivirkning), begge containere boot-et
rent, `/health`/`/dashboard`/`/rounds`/`/rounds/new` → 200, `teeoff.no`
upåvirket. V0-zip-ene slettet fra prosjektroten.
4. **Del 1 (fri, ukrevd sekundær-e-post) er nå BYGGET OG LIVE** (2026-07-21,
se status over). **Del 2 (ekte konto-sammenslåing) fortsatt IKKE
designet:** hva skjer hvis den ønskede adressen ALLEREDE tilhører en

View file

@ -1385,6 +1385,18 @@ organisasjonsuavhengige endepunkter i `rounds.py`
(`official-search`/`official-search/{slug}`/`personal-courses/{id}`/
`.../holes`) og en endring av hull-PATCH-responsen.
**Frontend-presentasjonen ERSTATTET med V0-design 2026-07-23, samme dag:**
den første frontend-runden var hånd-kodet direkte av meg (avvik fra
prosjektets ellers gjennomgående V0-mønster, påpekt av bruker). Skrev tre
V0-prompter, mottok tre zip-eksporter, diffet mot levende tre (samme
rutine som alltid — kun fire filer reelt nye), erstattet de hånd-bygde
komponentene med V0s presentasjon og kablet ekte data inn på samme måte
som enhver annen skjerm i appen. Se ADR-033 for full detalj om
tilpasningene (to-stegs teeoff-oppslag, tredje kjønnsvalg «Annet»,
merge-før-PATCH beholdt, dev-forhåndsvisningskontroller fjernet). Ingen
backend-endring i denne del-runden. Rullet ut live, `teeoff.no`
upåvirket.
**Notat fra bruker, IKKE designet/bygget ennå (fanget 2026-07-22):**
brukeren har tenkt å ha med (a) måling av lengde på slag, og (b) å kunne
få opplyst avstand til forskjellige steder på banen (typisk pin/hazard/