Fiks flytende Registrer score-knapp som ble hengende over Kommentarer
playerListReached-effekten i round-detail.tsx hadde en stale "if (!mapExpanded) return"-vakt igjen fra før knappens synlighets- trigger ble frikoblet fra mapExpanded (se CHANGELOG #146). Siden banekartet er kollapset som standard, kjørte effekten aldri for de fleste brukere -- playerListReached ble værende false for alltid, og knappen sluttet aldri å vises igjen etter å ha dukket opp forbi side-flyt-knappen, inkl. over Kommentarer-seksjonen lengre ned. Fjernet vakten, effekten måler nå alltid. Verifisert i full-stack scratch med samme scenario som brukerens skjermdump (3 spillere + 6 kommentarer), aria-hidden bekreftet korrekt gjennom hele scrollet. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
6fdd40ae5c
commit
3b90061c73
3 changed files with 54 additions and 3 deletions
45
CHANGELOG.md
45
CHANGELOG.md
|
|
@ -14626,3 +14626,48 @@ Neste steg:
|
||||||
`docker compose build teecup_api teecup_frontend && up -d`, begge
|
`docker compose build teecup_api teecup_frontend && up -d`, begge
|
||||||
containere friske, rene logger. `https://teecup.golf/health` 200
|
containere friske, rene logger. `https://teecup.golf/health` 200
|
||||||
etter utrulling.
|
etter utrulling.
|
||||||
|
|
||||||
|
164. **Flytende "Registrer score" sluttet aldri å vises igjen etter
|
||||||
|
spillerlisten -- dekket over "Kommentarer"-seksjonen, 2026-08-23.**
|
||||||
|
Bruker viste to skjermdumper (desktop + mobil): scrollet helt ned
|
||||||
|
til kommentartråden, den flytende knappen hang fortsatt igjen nederst
|
||||||
|
og dekket delvis over "Kommentarer (1)"-overskriften.
|
||||||
|
|
||||||
|
Rot-årsak: en stale vakt igjen fra FØR #146 (se punkt over/CHANGELOG
|
||||||
|
#146) frikoblet knappens synlighets-TRIGGER fra `mapExpanded` (byttet
|
||||||
|
til `inFlowButtonVisible`) -- men selve `playerListReached`-
|
||||||
|
MÅLE-effekten (`round-detail.tsx`) beholdt sin egen, aldri fjernede
|
||||||
|
`if (!mapExpanded) return`-vakt (linje 6448) fra FØR den omleggingen.
|
||||||
|
Siden banekartet er kollapset som standard (`mapExpanded = false`,
|
||||||
|
"kompakt som standard"-designet), kjørte scroll/resize-lytteren for
|
||||||
|
`playerListReached` ALDRI for de aller fleste brukere -- tilstanden
|
||||||
|
forble fastlåst på sin initielle `false` for hele økten. Synlighets-
|
||||||
|
betingelsen `inFlowButtonVisible || playerListReached` degraderte
|
||||||
|
dermed reelt til bare `inFlowButtonVisible`: så snart brukeren
|
||||||
|
scrollet forbi selve side-flyt-knappen tidlig på siden, dukket den
|
||||||
|
flytende knappen opp -- og forsvant ALDRI igjen resten av siden
|
||||||
|
(spillerliste, alle hullkort, og til slutt "Kommentarer" lengst
|
||||||
|
ned), fordi mekanismen som skulle skjule den igjen ("nådd
|
||||||
|
spillerlisten") aldri fikk kjøre i utgangspunktet.
|
||||||
|
|
||||||
|
Rettet ved å fjerne `if (!mapExpanded) return`-vakten helt (samme
|
||||||
|
linje) og endre effektens avhengighetsliste fra `[mapExpanded]` til
|
||||||
|
`[]` -- måler nå alltid, uansett kart-tilstand, akkurat som
|
||||||
|
kode-kommentaren over effekten allerede beskrev at oppførselen SKULLE
|
||||||
|
være ("forblir sant BÅDE mens listen vises OG etter at brukeren har
|
||||||
|
scrollet helt forbi den").
|
||||||
|
|
||||||
|
**Verifisert i full-stack scratch** (egen db + to one-off-containere,
|
||||||
|
ekte innlogging, en frittstående runde med 3 spillere + 6
|
||||||
|
kommentarer for å gi siden nok høyde til å reprodusere scenarioet
|
||||||
|
nøyaktig): `evaluate_script`-målt `aria-hidden` på selve den flytende
|
||||||
|
knappens DOM-element gjennom hele scrollet -- korrekt skjult mens
|
||||||
|
side-flyt-knappen er synlig, korrekt skjult idet spillerlisten nås,
|
||||||
|
og BEKREFTET FORTSATT skjult helt ned til og forbi
|
||||||
|
"Kommentarer"-seksjonen (der bildet av bruker viste den låst synlig
|
||||||
|
før fiksen) -- reprodusert med skjermbilder identisk til brukerens
|
||||||
|
egne. Scroll tilbake opp bekreftet at knappen dukker opp igjen som
|
||||||
|
forventet når spillerlisten forlates oppover. `tsc --noEmit` rent,
|
||||||
|
ingen backend-endring. Alle scratch-ressurser ryddet opp.
|
||||||
|
|
||||||
|
**Ikke rullet ut ennå** -- venter på brukerens bekreftelse.
|
||||||
|
|
|
||||||
|
|
@ -6445,7 +6445,13 @@ function PlayerHoleCards({
|
||||||
// stedet, se `getHeaderHeight()` under.
|
// stedet, se `getHeaderHeight()` under.
|
||||||
const [playerListReached, setPlayerListReached] = useState(false)
|
const [playerListReached, setPlayerListReached] = useState(false)
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!mapExpanded) return
|
// Ingen `mapExpanded`-vakt her (fjernet 2026-08-22, funnet av bruker):
|
||||||
|
// knappens synlighet styres av `inFlowButtonVisible` uansett kartets
|
||||||
|
// tilstand (se kommentaren under), så denne målingen må også løpe
|
||||||
|
// uansett -- ellers forblir `playerListReached` fastlåst på `false` for
|
||||||
|
// alle som aldri utvider kartet (standard), og knappen slutter da aldri
|
||||||
|
// å vises igjen etter at den først har dukket opp forbi
|
||||||
|
// side-flyt-knappen, inkl. over "Kommentarer"-seksjonen lenger ned.
|
||||||
function check() {
|
function check() {
|
||||||
const el = playerListRef.current
|
const el = playerListRef.current
|
||||||
if (!el) return
|
if (!el) return
|
||||||
|
|
@ -6458,7 +6464,7 @@ function PlayerHoleCards({
|
||||||
window.removeEventListener("scroll", check)
|
window.removeEventListener("scroll", check)
|
||||||
window.removeEventListener("resize", check)
|
window.removeEventListener("resize", check)
|
||||||
}
|
}
|
||||||
}, [mapExpanded])
|
}, [])
|
||||||
// Den flytende knappen ble opprinnelig styrt av `mapExpanded` alene --
|
// Den flytende knappen ble opprinnelig styrt av `mapExpanded` alene --
|
||||||
// FEIL, funnet av bruker 2026-08-20: den IKKE-utvidede ("compact")
|
// FEIL, funnet av bruker 2026-08-20: den IKKE-utvidede ("compact")
|
||||||
// visningen viser OGSÅ hele hindringslisten (ADR-083, alle hindringer,
|
// visningen viser OGSÅ hele hindringslisten (ADR-083, alle hindringer,
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue