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:
parent
926a1a5275
commit
f88d0a1469
2 changed files with 86 additions and 0 deletions
|
|
@ -2737,6 +2737,75 @@ compose up -d --build teecup_api teecup_frontend`, begge containere
|
||||||
boot-et rent, `/health`/`/dashboard`/`/my-rounds`/`/account` → 200 over
|
boot-et rent, `/health`/`/dashboard`/`/my-rounds`/`/account` → 200 over
|
||||||
ekte https, `teeoff.no` upåvirket.
|
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å)
|
## Åpne spørsmål (ikke besluttet ennå)
|
||||||
|
|
|
||||||
17
CLAUDE.md
17
CLAUDE.md
|
|
@ -2557,6 +2557,23 @@ Ferdig og verifisert:
|
||||||
å bruke GPS (når/hvis integrert) til å markere hvor langt spilleren
|
å bruke GPS (når/hvis integrert) til å markere hvor langt spilleren
|
||||||
faktisk kom. Lagt til i samme seksjon som de fire andre formatene.
|
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:
|
Neste steg:
|
||||||
1. **Pauset, venter på retning:** dashbordets tom-tilstand ved første
|
1. **Pauset, venter på retning:** dashbordets tom-tilstand ved første
|
||||||
innlogging. Brukeren ba om å justere det opprinnelige 2026-07-20-
|
innlogging. Brukeren ba om å justere det opprinnelige 2026-07-20-
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue