UX-riktlinjer
Mobil först
- Designa och verifiera först vid 375–430 px.
- Ingen horisontell sidscroll.
- Primära tryckytor ska vara minst 44 px.
- Filter är hopfällda och benämns endast Filter.
- Tabeller ersätts med kort där informationen annars blir svårläst.
Desktop
- Utnyttja bredden med kolumner och tabeller när det ökar överblicken.
- Filter kan vara öppna från början.
- Hover får förbättra upplevelsen men får aldrig vara ett krav.
Gemensamt
- Samma statusbrickor och typografi används i alla vyer.
- Intern tävlingssida prioriteras när tävlingen finns lokalt; Min Golf är sekundär källa.
- Spelar- och klubbsökning ska ha samma autocompletebeteende.
- UX-prestanda följs med anonymiserad telemetri utan söksträngar eller personnamn.
Långvariga åtgärder
- En åtgärd som kan ta mer än cirka en sekund ska ge omedelbar visuell återkoppling.
- Tävlingsanalys låser sin startknapp, visar en aktivitetsindikator och förklarar extern väntetid.
- Indikatorn får inte påstå exakt procent eller verkliga delsteg om backend inte rapporterar dem; stegen beskriver arbetsflödet och aktiviteten visas som obestämd.
Dashboard Experience principles (20.60.0)
- Product direction: Apple clarity with Sofascore information density.
- Information first, then action, then detail.
- Main functions are reachable directly from the dashboard.
- Progressive disclosure: dashboard shows live top three, full views remain one action away.
- Recent history is browser-local and requires no login.
Dashboard Experience 20.60.1
- Liveplaceringar ska alltid presenteras inom sin tävlingsklass. Placeringar från Pojkar och Flickor får inte blandas i samma topplista.
- Autocomplete är en handling, inte bara en sökning: val av spelare, klubb eller tävling ska föra användaren direkt till rätt objekt.
- Klickbara informationskort ska också kunna aktiveras med tangentbord.
- Mobilens informationsdensitet ska prioriteras utan att tryckytor blir mindre än designstandardens miniminivå.
20.60.3 – Result presentation refactor
Tävlingsprofil och live-dashboard använder nu gemensamma klass- och könssemantiker i result_classes.py.