Alle tre punktene er live og verifisert:

Enkeltbane-anlegg: Tjøme Golfklubb og de fleste andre (kun 15 av 174 teeoff-anlegg har mer enn én bane) viser nå bare klubbnavnet, uten det overflødige "– Hovedbanen"-suffikset. Flerbane-anlegg (f.eks. Ålesund) beholder det kombinerte navnet.
Navngi runder: nytt valgfritt navnefelt på runder, settbart ved opprettelse og redigerbart/fjernbart etterpå, vist konsekvent på tvers av rundeliste, rundeside, scorekort og statistikk.
Land før hjemmeklubb: Land er nå en nedtrekksliste (Norge, klargjort for flere), Hjemmeklubb er en søkbar liste mot teeoffs ekte klubbregister.
Migrasjon 024 kjørt mot ekte teecup_db, begge containere redeployet og verifisert (/health, /dashboard, /my-rounds, /account → 200), teeoff.no upåvirket. Status- og beslutningsdokumentene er oppdatert.
This commit is contained in:
Erol Haagenrud 2026-07-25 06:33:38 +02:00
parent 926a1a5275
commit f88d0a1469
2 changed files with 86 additions and 0 deletions

View file

@ -2737,6 +2737,75 @@ compose up -d --build teecup_api teecup_frontend`, begge containere
boot-et rent, `/health`/`/dashboard`/`/my-rounds`/`/account` → 200 over
ekte https, `teeoff.no` upåvirket.
**Tre nye brukerpunkter, ALLE BYGGET, SCRATCH-VERIFISERT OG LIVE
2026-07-25:**
1. **Enkeltbane-anlegg dropper det overflødige banenavnet.** Brukeren
påpekte at Tjøme Golfklubb (og de aller fleste andre norske anlegg —
kartlagt ved å skanne alle 174 teeoff-anlegg: kun 15 har mer enn én
bane) fikk et unødvendig sammensatt navn ("Tjøme Golfklubb
Hovedbanen") siden anlegget uansett bare har ÉN bane. Fikset i BEGGE
stedene navnet bygges (`app/routers/courses.py` sin
`import_official_course`, `app/routers/rounds.py` sin
`_resolve_teeoff_course`): har `facility["courses"]` nøyaktig ett
element, brukes kun anleggsnavnet; har det flere (bekreftet fortsatt
riktig for f.eks. Ålesund Golfklubb, som har "Solnør Gaard" og "Moa
Golfsenter"), beholdes det kombinerte "Anlegg Bane"-navnet uendret.
Ingen migrasjon (ren navnelogikk, ingen lagret data endret av seg selv
— kun FREMTIDIGE importer/runde-opprettelser får det nye navnet).
2. **Runder kan nå navngis** (`round.name`, migrasjon
`024_round_name.sql`, nullable). Valgfritt felt lagt til
`RoundCreate`/`RoundUpdate`/`RoundOut` i `app/routers/rounds.py` — PATCH-
kontrakten følger samme "tom streng = fjern, utelatt = ikke rør"-mønster
som resten av `RoundUpdate` sine felt (ikke et ekte `exclude_unset`,
konsistent med hvordan `holes_planned`/`start_hole` allerede
håndteres i samme endepunkt). Vises på tvers av `round-card.tsx`
(rundeliste), `round-detail.tsx` (header + redigerbart i "Rediger
runde"-panelet), `round-scorecard.tsx` og `round-stats.tsx` — alle
fire faller tilbake til `course_name_snapshot` når navn ikke er satt,
og viser banenavnet som sekundær informasjon når et eget navn ER satt
(ikke bare erstattet det, siden banen fortsatt er relevant
informasjon).
3. **Land+hjemmeklubb i profilen, redesignet (ADR-031/032s
`ProfileOnboarding`/`ProfileSection`).** Brukeren ba om at Land skal stå
FØR Hjemmeklubb, og at Hjemmeklubb skal være en nedtrekksliste fra
teeoff, filtrert på valgt land. Avklart eksplisitt med bruker
(AskUserQuestion, begge anbefalte valg): "Land" er nå en ekte
`<select>` (`COUNTRIES = ["Norge"]`, ett element foreløpig — bevisst
klargjøring for fremtidig flerspråklighet, ingen backend-endring
trengs når flere land legges til, kun listen utvides), og "Hjemmeklubb"
er en søkbar kombinasjons-boks (`HomeClubField`, debounce 250ms) som
gjenbruker det ALLEREDE EKSISTERENDE `/rounds/official-search`-
endepunktet (org-uavhengig, tilgjengelig for enhver innlogget bruker
siden ADR-033) — ingen ny backend-kode i det hele tatt. Teeoff filtrerer
allerede bort upubliserte/nedlagte anlegg server-side (`is_published`),
så "nedlagte og ikke operative klubber skal ikke inkluderes" er dekket
uten egen filtrering på teecup-siden. Begge komponentene delt mellom
`ProfileOnboarding` (obligatorisk profil-fullføring) og `ProfileSection`
(kontoinnstillinger) i `account-settings.tsx`, ingen duplisert
implementasjon.
**Bevisst IKKE bygget:** hard validering som avviser fritekst utenfor
søkeresultatene — eksisterende, allerede lagrede `home_club`-verdier
(fritekst fra før denne runden) forblir gyldige og redigerbare, feltet
oppfører seg som "skriv for å filtrere, klikk for å velge" fremfor en
strengt låst `<select>`, for å unngå å gjøre eksisterende profiler
utilgjengelige.
**Scratch-verifisert grundig** (isolert `teecup_app_scratch`-rolle +
isolert scratch-MinIO + engangs API-container, samt et direkte
engangs-oppslag mot ekte `teeoff_api` for å kartlegge hvilke anlegg som
faktisk har mer enn én bane): 22 sjekker — enkeltbane-navn uten suffiks
(Tjøme), flerbane-navn med suffiks uendret (Ålesund), rundenavn lagret
ved opprettelse, rundenavn med i rundeliste, PATCH omdøper, PATCH med
tom streng fjerner navnet, PATCH uten navn-felt lar det urørt,
`official-search`-endepunktet (brukt av det nye profilfeltet) fortsatt
fungerer identisk. `test_isolation.sql` fortsatt 12/12. Ekte
typesjekket produksjonsbuild kompilerte rent, alle 21 ruter listet.
**Rullet ut mot ekte systemer 2026-07-25**, bruker bekreftet
eksplisitt: migrasjon 024 kjørt mot ekte `teecup_db` (kolonne
bekreftet, `test_isolation.sql` fortsatt 12/12), deretter `docker
compose up -d --build teecup_api teecup_frontend`, begge containere
boot-et rent, `/health`/`/dashboard`/`/my-rounds`/`/account` → 200 over
ekte https, `teeoff.no` upåvirket.
---
## Åpne spørsmål (ikke besluttet ennå)

View file

@ -2557,6 +2557,23 @@ Ferdig og verifisert:
å bruke GPS (når/hvis integrert) til å markere hvor langt spilleren
faktisk kom. Lagt til i samme seksjon som de fire andre formatene.
- **Tre punkter fra brukeren, ALLE BYGGET, SCRATCH-VERIFISERT OG LIVE
2026-07-25:** (1) enkeltbane-anlegg (f.eks. Tjøme Golfklubb) dropper nå
det overflødige banenavnet ved import/runde-opprettelse — kun "Tjøme
Golfklubb", ikke "Tjøme Golfklubb Hovedbanen" (flerbane-anlegg som
Ålesund beholder uendret "Anlegg Bane"-navn). (2) Runder kan nå
navngis (`round.name`, migrasjon `024_round_name.sql`, valgfritt,
redigerbart i etterkant) — vises på tvers av rundeliste/rundeside/
scorekort/statistikk, faller tilbake til banenavn når ikke satt. (3)
Profilens "Land"-felt er nå en nedtrekksliste (kun "Norge" foreløpig,
klargjort for flere), plassert FØR "Hjemmeklubb", som selv ble
omgjort til en søkbar liste mot teeoffs klubbregister (gjenbruker
eksisterende `/rounds/official-search`, ingen ny backend-kode). Full
detalj i ARCHITECTURE_DECISIONS.md. Bruker bekreftet eksplisitt:
migrasjon 024 kjørt mot ekte `teecup_db`, `test_isolation.sql` fortsatt
12/12, begge containere redeployet, `/health`/`/dashboard`/`/my-rounds`/
`/account` → 200, `teeoff.no` upåvirket.
Neste steg:
1. **Pauset, venter på retning:** dashbordets tom-tilstand ved første
innlogging. Brukeren ba om å justere det opprinnelige 2026-07-20-