diff --git a/CHANGELOG.md b/CHANGELOG.md index 6919774..4aa2171 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13354,3 +13354,37 @@ Neste steg: kodefeil, siden logikken er en direkte, symmetrisk speiling av den allerede beviste `initialTab`-beregningen ved førstegangslasting. Flagget eksplisitt til bruker som ikke fullt skjermbilde-verifisert. + +135. **Spillerkort på Score-fanen: "Mer"-knapp toner ned historikk + + Avslutt/Send scorekort, 2026-08-20.** Direkte oppfølging av #134 -- + historikk-panelet og Avslutt/Send-radene lå fortsatt alltid synlig + på hvert kort, bare henholdsvis begrenset til eget kort og uendret. + Bruker foreslo selv en "Mer"-knapp som løsning; Claude skrev en + V0-prompt for mønsteret, bruker kjørte den og lastet opp eksporten + (`player-card-more.tsx`). + + Ny lokal komponent `PlayerCardMore` i `round-detail.tsx` (rett etter + `ParticipantCompletionActions`) -- eier KUN vis/skjul, tar imot + `history`/`actions` som `ReactNode`-props. Interaksjonsmønsteret + (grid-rows 0fr->1fr myk høyde-animasjon, samme prinsipp som "Vis + banekart og hindringer" fra #133, tekst+chevron på knappen, innhold + tatt ut av a11y-tre/tab-rekkefølge mens skjult) hentet fra + V0-eksporten. De EKTE `HoleHistoryPanel` og `ParticipantCompletionActions` + sendes inn uendret som barn -- V0 sine egne plassholder-rader + (`HistoryRow`/`SecondaryActions`) ble IKKE tatt i bruk, kun designet + for dem. Kun `PlayerHoleCards` (Score-fanen) endret -- `PlayerList` + ("Spillere og runde") beholder `ParticipantCompletionActions` synlig + uten veksling, siden den siden allerede er en ren + administrasjonsvisning der handlingene ikke er "i veien". + + **Verifisert i scratch:** mocket `RoundDetail`-forhåndsvisning med tre + spillere (eier m/historikk, to medspillere u/historikk). Bekreftet: + alle tre kort viser kompakt "Mer" som standard, klikk utvider korrekt + (knapp blir "Skjul", chevron snur), egen historikk + Avslutt/Send + scorekort vises for eierens kort, KUN Avslutt/Send (ingen tomt/rart + mellomrom) for medspillerne, ingen dobbel padding/kant-artefakt der + de ekte komponentenes egen styling (border-t/px-4) møter wrapperen. + Sjekket lys og mørk modus. `tsc --noEmit` rent. + + **Ikke rullet ut ennå** -- verifisert i scratch, venter på + bekreftelse fra bruker før build/deploy til live. diff --git a/frontend/components/round-detail.tsx b/frontend/components/round-detail.tsx index 906f852..60c6a6e 100644 --- a/frontend/components/round-detail.tsx +++ b/frontend/components/round-detail.tsx @@ -9,7 +9,7 @@ // aldri kun det ene feltet som ble endret. import type React from "react" -import { useCallback, useEffect, useMemo, useRef, useState } from "react" +import { useCallback, useEffect, useId, useMemo, useRef, useState } from "react" import Link from "next/link" import dynamic from "next/dynamic" import { usePathname, useRouter, useSearchParams } from "next/navigation" @@ -5945,6 +5945,54 @@ function ParticipantCompletionActions({ ) } +// Tone-ned-mønster for spillerkortets sekundære rader (historikk + +// Avslutt/Send scorekort) på Score-fanen -- V0-eksport (zip, 2026-08-20, +// brukerkorrigering: disse lå tidligere alltid synlig, uansett hvor sjelden +// brukt). Eier KUN vis/skjul -- selve historikk-panelet og handlingsraden +// forblir de ekte, uendrede komponentene (HoleHistoryPanel/ +// ParticipantCompletionActions), sendt inn som barn. Brukes KUN i +// PlayerHoleCards (Score-fanen) -- PlayerList ("Spillere og runde") beholder +// ParticipantCompletionActions synlig uten denne vekslen, siden den siden +// allerede er en ren administrasjonsvisning. +function PlayerCardMore({ history, actions }: { history?: React.ReactNode; actions: React.ReactNode }) { + const [open, setOpen] = useState(false) + const regionId = useId() + return ( +
+ + {/* Myk høyde-animasjon via grid-rows 0fr -> 1fr -- samme prinsipp som + "Vis banekart og hindringer" lenger oppe på skjermen. Innholdet + fjernes fra a11y-treet og tab-rekkefølgen mens det er skjult. */} +
+
+
+ {history &&
{history}
} + {actions} +
+
+
+
+ ) +} + // ADR-066-flagg-tillegget (2026-08-14) -- V0-eksport (zip 11), integrert // mot samme props-kontrakt som den midlertidige versjonen den erstatter. // Ren UI: komponenten eier kun steg-/geo-/inputtilstand og gjør aldri @@ -6910,21 +6958,28 @@ function PlayerHoleCards({ spilleren ikke har historikk ennå. KUN scorekortførers (isSelf) eget kort (2026-08-20, brukerkorrigering -- panelets tekst sier "Din historikk", som var feil for - andre spilleres kort). */} - {player.isSelf && ( -
- setHistoryPlayerId(player.id)} + andre spilleres kort). Tonet ned bak "Mer" sammen med + Avslutt/Send scorekort (2026-08-20, V0-eksport + `player-card-more.tsx`) -- begge var sjeldent brukte + handlinger som likevel alltid tok plass på hvert kort. */} + setHistoryPlayerId(player.id)} + /> + ) : undefined + } + actions={ + h.played).length ?? 0} + readOnly={readOnly} + onPatch={onPatchParticipant} + onSendScorecard={onSendScorecard} /> -
- )} - h.played).length ?? 0} - readOnly={readOnly} - onPatch={onPatchParticipant} - onSendScorecard={onSendScorecard} + } /> {playFormat === "flag" && (() => { const currentPosition = computeFlagCurrentPosition(