feat: lägg till refresh-knapp i mobil-kortvyn (endast utfällt läge) #26
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Beskrivning
Refresh-knappen som finns i desktop-tabellen saknas helt i mobil-vyn. Användaren har ingen möjlighet att uppdatera en spelares rating/round history från mobil.
Önskat: en något större refresh-knapp placerad bredvid spelarnamnet i mobil-kortet, men endast synlig när kortet är utfällt (
.is-open).Teknisk orsak
Mobil och desktop renderas via två separata EJS-templates. Refresh-knappen finns bara i desktop-varianten:
views/partials/ratings-table.ejs:82-84—<button class="icon-btn refresh-icon" onclick="refreshPlayerData(...)">views/partials/ratings-cards.ejs— kortets huvud (.m-card__head, rad ~58-70) innehåller rank-chip, namn-stack och chevron, men ingen refresh-knapp.public/css/mobile.css:61-65döljer hela desktop-tabellen (#ratings-table table { display: none }) under brytpunkten, så desktop-knappen är inte tillgänglig på mobil. Knappen är alltså inte CSS-dold — den existerar aldrig i mobil-markupen.Design / lösning
Markup (
ratings-cards.ejs): Lägg en refresh-knapp i.m-card__head, bredvid.m-card__name-stack. Återanvändrefresh-icon-mönstret medfa-sync-alt.onclickmåste haevent.stopPropagation()så att klick inte triggar kortets expand/collapse (toggleMobilePlayerCard).CSS (
mobile.css): Dölj knappen som default, visa endast i utfällt läge:Gör knappen något större än desktop (touch-target, ≥44px rekommenderat).
JS (
public/js/players.js):refreshPlayerData()(rad 135-149) är hårdkodad mot desktop — den slår upp ikonen via#row-${pdgaNumber} .cell-actions .refresh-iconoch swappar om#ratings-tablevia HTMX. På mobil finns varken den ikonen eller den tabellen. Funktionen behöver en mobil-medveten gren som:#m-card-${pdgaNumber} .refresh-icon)/partials/ratings-cards→#ratings-cardsel. motsv.) istället för desktop-tabellenRefresh-beteendet ska vara samma som desktop: uppdatera rating + prediction + round history parallellt (
Promise.allSettledmot/api/refresh-playeroch/api/refresh-round-history). Notera 24h-cooldown på round history (src/routes/players.js).Scope
Ingår: refresh-knapp i mobil-kort, synlig endast i utfällt läge, samma kombinerade refresh som desktop, mobil-anpassad JS-gren.
Ingår inte: ändringar i desktop-knappen, ändringar i cooldown-logiken, refaktorering av de två templatesarna till en gemensam.