Commit graph

13 commits

Author SHA1 Message Date
e2ea0c0fe3 Live. Kort oppsummert:
Taltastaturet for Slag viser nå Eagle/Birdie/Par/Bogey/Dobbel bogey under hvert tall, regnet ut fra hullets par — samme prinsipp som videoen, ingen hoderegning nødvendig.
Automatisk fremdrift: når en spillers registrering er "god nok" (slag, eller slag+putter avhengig av statistikknivå), viser knappen nederst enten "Neste: {navn}" (bytter aktiv spiller på samme hull) eller "Neste hull" (er hen den siste, går videre og starter på spiller 1 igjen) — ingen manuell skrolling opp til spillerlisten for å bytte spiller.
Bevisst forskjell fra GameBook: ikke en full skjermovertakende veiviser (det ville vært et større og mer risikofylt bygg uten visuell testing) — samme side, men med den friksjonsreduserende logikken lagt inn. Test gjerne selv, spesielt hvordan det føles å gå gjennom begge spillerne på et hull etter hverandre.
2026-07-26 15:48:07 +02:00
5d319f1b68 Leaderboard — ikke bygget frontend ennå, kun backend. V0-prompten er skrevet og ligger i FEATURE_BACKLOG.md, klar til å limes inn i v0.app.
Mottatte slag i hull-headeren — live nå, viser f.eks. "Hull 7 · Par 4 · Hcp 5 · −1" når aktiv spiller mottar slag på hullet.

Gjeste-e-post/kjønn/navn — backend er live (kan nå lagres og redigeres for midlertidige spillere), men jeg har ikke bygget selve grensesnittet for det ennå — det hører sammen med spillerliste-redesignet du ba om.

Spillerliste-redesign — skrev et fullstendig V0-prompt (i FEATURE_BACKLOG.md) som dekker: vertikal liste, utslag/HCP/Rediger inne i hvert spillerkort, og for midlertidige spillere også Navn/Kjønn/E-post i redigeringsflyten. Klar for deg å kjøre i v0.app — send meg zip-en når den er klar, så integrerer jeg den (og erstatter min midlertidige EditParticipantPanel med den nye designen).
2026-07-26 09:42:06 +02:00
9d5e9965db Alt er live. Kort oppsummert:
HCP i søket — søkeresultatene under "+ Medspiller" viser nå HCP ved siden av hjemmeklubb (der du sirklet inn i skjermbildet).

Rediger utslag/HCP per deltaker — hver spiller viser nå sitt utslag og HCP under statistikknivå-velgeren, med en "Rediger for denne runden"-lenke (kun eier ser den, kun før runden er fullført). Der kan du velge et annet utslagssted for akkurat den spilleren (filtrert på deres kjønn) og justere HCP — begge deler gjelder kun denne runden, spillerens egen profil røres aldri. Fant og fikset samtidig et reelt hull: alle deltakere delte tidligere samme utslag uansett, det fantes ingen vei til å velge et annet.

Rundeleaderboard — backenden var allerede live. Fant at V0-prompten (skrevet og sendt til deg tidligere) hadde en utdatert antakelse om "Deg"-merket siden medspillere nå også kan se runden — rettet den til to uavhengige merker (Eier/Deg) før du kjører den i v0.app.

Alt scratch-verifisert (27/27 nye sjekker + full regresjon av forrige rundes 35 sjekker), migrasjon 028 kjørt mot ekte teecup_db, begge containere redeployet og bekreftet friske, teeoff.no upåvirket.
2026-07-26 09:18:52 +02:00
3fc0c7460c Live. Kort oppsummert: spillere ser nå i sanntid når noen registrerer en score, endrer en medspiller, eller fullfører runden — samme lette WebSocket-mønster som "Følg live" på turneringer. Ingen migrasjon, teeoff.no upåvirket, verifisert med en ekte WebSocket-klient (ikke bare REST) at kringkastingen faktisk fungerer begge veier. 2026-07-26 08:49:37 +02:00
89136a1a83 Update Todos
Backend: migrasjon 027 (unik user_id per runde)

Backend: søke-basert deltaker-innsetting (user_id via /people/search)

Backend: åpne opp co-player-tilgang (accessible vs owned) + viewer-relative RoundOut

Frontend: rename Gjest→Medspiller + søk-UI + viewer-relativ "Deg"

Frontend: fiks round-stats.tsx/round-scorecard.tsx samme viewer-bug

Typesjekket produksjonsbuild

Scratch-verifisere hele funksjonen grundig

Oppdatere .md-filer

Legge frem utrullingsplan og vente på bekreftelse
Live. Søket på "+ Medspiller" fungerer nå, og en lagt-til medspiller har full tilgang til å registrere score for hele flighten mens rundeforvaltning (rediger/slett/legg til/fjern) forblir eierens alene.
2026-07-26 08:22:41 +02:00
a09fea3caa Begge bugs er fikset og live:
Dashbord-hilsen — bruker nå fornavn (me.first_name), ikke fullt navn.
Stroke-scoring-krasj på hulless bane — en bane uten registrerte hull ga en rå 500-krasj ved scoreinnsending; gir nå en ren 400 VALIDATION_FAILED.
Gikk grundig gjennom loggen og fant at nesten alt annet merket "IKKE fikset" faktisk var løst i senere runder (bare stale seksjonsoverskrifter) — rettet to av dem samtidig. Ingen andre genuint åpne små bugs igjen i dokumentasjonen.
2026-07-26 07:54:00 +02:00
9987c93e18 Varsler (fra zip 20): in-app varslingssenter er live — bjelle med uleste-tall i dashbord-headeren, /my-notifications-side. Trigges i dag ved venneforespørsel sendt/akseptert; flere hendelser kan kobles på senere.
Rundeleaderboard: ny GET /rounds/{id}/leaderboard-backend er live (rangering, thru-tall, brutto+netto til par, håndterer 1 til 15+ deltakere). V0-prompten for selve visningen ligger i FEATURE_BACKLOG.md, klar til å limes inn i v0.app — send meg zip-en når du har den, så kobler jeg den på (foreslått rute /my-rounds/[id]/leaderboard, lenket fra rundesiden).

Begge deler scratch-verifisert (39/39 sjekker, inkl. en uavhengig kryssjekk av netto-beregningen mot handicap_engine direkte), rullet ut mot ekte teecup_db/containere, teeoff.no upåvirket.
2026-07-26 06:53:58 +02:00
0e17a257dc display_name synkroniseres nå automatisk med for-/etternavn ved profilendring. Rettet også de to eksisterende kontoene som allerede hadde fylt ut profilen sin (erolhaagenrud@gmail.com → "Tore Morell", hei@erol.no → "Erol Haagenrud") — bekreftet med en tørrkjøring først, verifisert med RETURNING etterpå.
Varsel-spørsmålet
Ekte push til telefonens varslingssystem: teknisk mulig, men ikke gratis. Fundamentet finnes (ADR-028s PWA), men iOS Safari krever at PWA-en faktisk er lagt til på hjemskjermen for at Web Push skal fungere i det hele tatt — en vanlig fane kan aldri motta push på iPhone, uansett tillatelse. Krever i tillegg ny infrastruktur (VAPID-nøkler, abonnement-tabell, utsendingslogikk, eksplisitt tillatelsesspørsmål). Reelt eget byggeløft, ikke noe jeg vil anbefale som første steg.

Anbefaling: bygg et in-app varslingssenter først — fungerer på alle enheter uten noen tillatelse, og løser akkurat det du beskrev (venneforespørsel synlig på dashbordet). Design: en notification-tabell, varsler skapt når en forespørsel sendes/aksepteres, bjelle-ikon med tall-merke i header, ny side på /my-notifications.

V0-prompten er skrevet og ligger i FEATURE_BACKLOG.md, klar til å sendes. Ekte push kan bygges som egen, senere runde hvis dere fortsatt vil ha det etterpå.
2026-07-26 05:58:35 +02:00
a635ea289f Fase 1 av ADR-036 er nå helt ferdig og live på teecup.teeoff.no/my-friends, med dashbordets "Venner"-blokk koblet til ekte data. Neste naturlige steg er fase 2 (rundevisibilitet — offentlig/privat/delt med venner i valgte grupper) eller fase 3 (ekte medspillere på runder) — si ifra når du vil gå videre. 2026-07-25 08:39:16 +02:00
e13975396e Frontend for fase 1 er bygget: components/friends.tsx + ny rute /my-friends (bevisst ikke V0s eget forslag /friends, siden det nå er API-prefikset). Datalag koblet til de ekte endepunktene, kategori-koder mappet til norske visningsnavn. Dashbordets "Venner"-blokk viser nå ekte data (antall venner, ventende forespørsler) og lenker til den nye siden. Typesjekket produksjonsbuild kompilerte rent.
Ikke rullet ut ennå — ren frontend-endring, ingen migrasjon eller backend-kode rørt.
2026-07-25 08:37:07 +02:00
e7dd3e0cb0 Fase 1-backend er live: migrasjon 025 kjørt mot ekte teecup_db, begge containere redeployet og verifisert (/health//dashboard → 200, teeoff.no upåvirket, og anonymt kall mot de nye endepunktene ga korrekt 401 fra FastAPI selv, ikke en rå 404).
V0-prompten for /my-friends-siden ligger klar i FEATURE_BACKLOG.md — send meg zip-eksporten når du har kjørt den, så kobler jeg datalaget til de nye endepunktene og wirer dashbordets "Venner"-blokk til ekte data.
2026-07-25 08:20:51 +02:00
345e697e12 Backend for fase 1 (venner-kjernen) er bygget og scratch-verifisert (31/31 sjekker, test_isolation.sql fortsatt 12/12). Ny migrasjon 025_friends.sql, nytt app/routers/friends.py med tiered søk, forespørsel/aksept/fjern, og privat kategorisering — bekreftet at kategoriseringen faktisk er privat (B ser aldri hvilke grupper A har satt B i).
Frontend er bevisst ikke hånd-kodet denne gangen — jeg husket korrigeringen fra rundeskjermene tidligere i prosjektet, så jeg har i stedet skrevet en V0-prompt (i FEATURE_BACKLOG.md) for en ny /my-friends-side, klar til å kjøres når du vil.
2026-07-25 08:14:48 +02:00
c8c4ad29b6 Dashbordet er bygget (zip 18 integrert): kun dashboard.tsx var reelt nytt fra V0, og jeg fant en genuin merge-situasjon i tournament-card.tsx — V0s nye "Arrangør"-merkelapp lagt til ved siden av den eksisterende offentlig/innlogget-lenkelogikken, ikke en revert. "Ny turnering" implementerer nå selve ADR-035-mekanismen (usynlig org-opprettelse ved innsending), "Statistikk"/"Spilte baner" er ren klientside-utledning fra data vi allerede har, og "Venner" viser en ærlig tom-tilstand siden ADR-036 ikke er bygget ennå. Typesjekket produksjonsbuild kompilerte rent.
Notert og bekreftet:

Medspillere skal kunne registrere score for hele flighten, ikke bare egen rad — oppdatert i ADR-036 (sletting av runden/bane-bytte forblir eier-eksklusivt).
To nye backlog-notater: flytte spillere mellom lag i turneringsoppsett, og flere flighter i én frittstående runde (sistnevnte har en reell modelleringsspenning mellom to retninger — ikke besluttet, bør trolig vente til ADR-036 fase 1 er bygget).
2026-07-25 07:51:32 +02:00