teecup/frontend/components
Erol Haagenrud b376f095be Update Todos
Flytte is_participant-logikk til team_authz.py (unngå sirkulær import)

Widen scoring.py: get_scorecard/submit_hole_score/submit_hole_result/concede_match

Widen matches.py: list_matches/add_participant/remove_participant/lock_lineup

Widen tournaments.py: list_sessions/list_teams/concede_tournament

Widen courses.py: list_holes

Widen messaging.py: team chat REST-endepunkter (list/send/delete)

Legge til my_session_id/my_match_id i /auth/me sin my_tournaments

Frontend: legge til lenker til lag-chat/scorekort fra «Mine runder»

Scratch-verifisere hele deltaker-tilgang-runden (positive + negative kontroller)

Ekte typesjekket frontend-produksjonsbuild + backend py_compile på nytt før deploy-forslag

Presentere plan, deploye og oppdatere .md-filer for deltaker-tilgang-runden

Bygge og scratch-verifisere sekundær e-postadresse (migrasjon 017)

Bygge HCP-historikk over tid
Sekundær e-postadresse (det enkle tilfellet) er bygget og scratch-verifisert (20/20 sjekker), test_isolation.sql fortsatt 12/12.

Hva er bygget:

Migrasjon 017_secondary_email.sql — to nye tabeller (secondary_email_token, user_secondary_email), samme bevis-eierskap-token-mønster som ADR-032.
Backend: POST /auth/secondary-email (send bekreftelseslenke), POST /auth/secondary-email/confirm (bekreft, ingen sesjon påkrevd), DELETE /auth/secondary-email/{id}. Viktigst: verify_magic_link og login_with_password løser nå en sekundær adresse til den eksisterende eierens konto i stedet for å opprette en ny, separat konto — dette er selve poenget med funksjonen.
Frontend: ny seksjon "Andre e-postadresser" i /account (ikke dashbordet — se merknad under), /verify-email håndterer nå både e-postbytte og ny-sekundær-adresse via en ?kind=secondary-parameter.
Én bevisst plasseringsavgjørelse jeg tok uten å spørre: du sa opprinnelig at hele multi-e-post-flyten burde skje "fra dashboard-siden". Jeg la likevel dette i /account, fordi jeg her kun bygger det enkle tilfellet (fri adresse) — konsistent med hvor e-postbytte (ADR-032) allerede ligger. Når/hvis den harde saken (ekte konto-sammenslåing, der data faktisk "dukker opp") bygges senere, er dashbordet trolig riktigere siden gevinsten vises der. Si fra hvis du vil at den skal flyttes allerede nå.

Verifisert grundig: ny sekundær-adresse legges IKKE til før bekreftet; token kan ikke gjenbrukes; adresse som allerede er en annens hovedadresse ELLER en annens sekundæradresse avvises tydelig; innlogging (magic-link OG passord) via sekundæradressen løses korrekt til samme, eksisterende konto; en fremmed kan ikke slette andres sekundæradresse; og — kritisk — etter sletting oppretter en ny innlogging på den adressen en helt ny, separat konto (beviser fjerningen er reell).

Ingen migrasjon kjørt mot ekte teecup_db ennå.
2026-07-22 06:14:31 +02:00
..
ui Program-skjermen er bygget og grundig scratch-verifisert. Kort oppsummert: 2026-07-18 12:20:45 +02:00
account-settings.tsx Update Todos 2026-07-22 06:14:31 +02:00
dashboard.tsx Update Todos 2026-07-22 05:46:47 +02:00
login-form.tsx Update Todos 2026-07-19 10:36:50 +02:00
org-members.tsx Update Todos 2026-07-19 10:36:50 +02:00
public-club.tsx Klubb-landingssiden er live på https://teecup.teeoff.no/clubs/{slug} — dermed er ADR-018 sine to planlagte frontend-skjermer komplette. 2026-07-18 10:48:20 +02:00
public-live.tsx Alt scratch-verifisert (5 automatiserte sjekker inkl. faktisk sanntidsmottak over WebSocket for både score-innsending og walkover), typesjekket build OK. Ingen migrasjon, ingen ny Caddy-rute (gjenbruker /ws/* fra sist). 2026-07-19 23:14:17 +02:00
public-tournament.tsx Update Todos 2026-07-19 22:51:07 +02:00
session-blind-draw.tsx Update Todos 2026-07-20 08:53:53 +02:00
session-scorecard.tsx Update Todos 2026-07-20 08:53:53 +02:00
sw-register.tsx PWA er bygget og scratch/build-verifisert. Status: 2026-07-19 23:51:08 +02:00
team-chat.tsx Backend, frontend og Caddy-endringen er alle klare og verifisert (Caddy-syntaksen validert OK). Dette er en stor runde — her er full plan for utrulling: 2026-07-19 22:26:45 +02:00
tournament-card.tsx Klubb-landingssiden er live på https://teecup.teeoff.no/clubs/{slug} — dermed er ADR-018 sine to planlagte frontend-skjermer komplette. 2026-07-18 10:48:20 +02:00
tournament-detail.tsx Update Todos 2026-07-20 10:01:44 +02:00
tournament-leaderboard.tsx Alt er ferdig og live. Kort oppsummering av hele runden: 2026-07-19 09:33:34 +02:00
tournament-program.tsx Begge fiksene er ferdig og verifisert med ekte produksjonsbuild (ren frontend-endring, ingen migrasjon, ingen backend-endring): 2026-07-21 09:18:07 +02:00
tournament-status-badge.tsx Update Todos 2026-07-19 21:51:05 +02:00
two-factor-flow.tsx Update Todos 2026-07-19 10:36:50 +02:00
verify-email-form.tsx Update Todos 2026-07-22 06:14:31 +02:00
verify-form.tsx Update Todos 2026-07-19 10:36:50 +02:00
wordmark.tsx Bygget: 2026-07-18 06:46:09 +02:00