Presentation Layer
Designprinciper
- Responsiv från grunden – samma funktioner på mobil, surfplatta och desktop.
- Sammanfattning först – användaren ska förstå sidan utan att öppna detaljer.
- Progressiv informationsvisning – längre listor och statistik öppnas aktivt.
- Kort före breda tabeller – nya publika vyer fungerar utan horisontell scroll.
- Läsning från lokal databas – sidvisning gör inga nätanrop till Min Golf.
Routes
/historik/spelare– sökbar spelaröversikt./spelare/<player_id>– spelarprofil./tavlingar/<competition_id>– tävlingsprofil.
Spelarprofil
Direkt synligt:
- namn, klubb och födelseår
- antal starter
- bästa placering
- segrar, topp 3 och topp 10
- tre senaste resultat
Bakom expanderbara sektioner:
- full tävlingshistorik
- sammanställd statistik
Tävlingsprofil
Direkt synligt:
- tävlingsnamn, datum, klubb och bana
- antal resultat, klass, tour och nivå
- topp 10
Bakom expanderbar sektion:
- full resultatlista
Responsiva acceptanskriterier
Vyerna ska fungera utan horisontell scroll vid minst:
- 360 × 800
- 390 × 844
- 768 × 1024
- 1366 × 768
- 1920 × 1080
- 2560 × 1440
Interaktion får inte kräva hover. Tryckytor för primära kontroller ska vara ungefär 44 px eller större.
Normalisering av klubbnamn
Klubböversikten använder club_names.py för att översätta importerade namnvarianter till ett kanoniskt visningsnamn. Resultatfrågan använder samtidigt samtliga registrerade alias. Originalvärdet i databasen behålls för spårbarhet och någon migration krävs därför inte.