teecup/app/routers
Erol Haagenrud 99b71ab97b All shipped, tested, and browser-verified. Summary of this round:
GIR question answered, not a gap: score − putts ≤ par − 2 is already the general formula, already ported to the new endpoint — it's not case-by-case, it works for every combination. The one real limit: it needs putts, so strokes_only rounds can't get a reliable GIR (score alone almost never proves it — a chipped-in birdie and a real GIR+1-putt look identical).

Miss direction — added fairway left/right and green long/short/left/right as pooled distribution bars on the aggregate stats page, using the same fields the per-round page already tracks.

Time-window picker — Siste runde / 5 / 10 / Denne måneden / I år / Siste år / Alltid, filters the whole page.

"vs. forrige periode" deltas — added, per your ask. One rule for every window type: "previous" = the same length (rounds or days) immediately before the current window's start, so there's no special-casing per calendar type. Colored by direction (green = improvement, orange = worse) except on the miss-direction numbers, which have no "better" side.

Verified with standalone logic tests against hand-computed scenarios, a full app import check, a clean typecheck, and live in the browser (clicked through windows, confirmed real numbers and a correct empty-previous case since your account only has 2 completed rounds so far).
2026-07-28 07:43:47 +02:00
..
__init__.py Alle "oppsett"-endepunktene fra planen er bygget og verifisert for ekte mot scratch-databasen (fersk teecup_scratch, 001→002→003, container med pip install + uvicorn, curl gjennom hele flyten, deretter fullstendig opprydding). 2026-07-16 09:16:22 +02:00
auth.py 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å. 2026-07-26 05:58:35 +02:00
courses.py All three changes are implemented and scratch-verified (22/22 checks passed, test_isolation.sql still 12/12, frontend typechecks cleanly). Summary of what's ready to ship: 2026-07-25 06:29:09 +02:00
friends.py Alt er live. Kort oppsummert: 2026-07-26 09:18:52 +02:00
matches.py Update Todos 2026-07-22 05:46:47 +02:00
messaging.py Update Todos 2026-07-22 05:46:47 +02:00
notifications.py 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. 2026-07-26 06:53:58 +02:00
organizations.py Update Todos 2026-07-19 10:36:50 +02:00
players.py Update Todos 2026-07-20 10:01:44 +02:00
registration.py Update Todos 2026-07-22 05:46:47 +02:00
rounds.py All shipped, tested, and browser-verified. Summary of this round: 2026-07-28 07:43:47 +02:00
scoring.py Begge bugs er fikset og live: 2026-07-26 07:54:00 +02:00
tournaments.py Update Todos 2026-07-22 05:46:47 +02:00