Skip to content

Front end for the scoresheet#12

Draft
troccoli wants to merge 53 commits into
mainfrom
issue-6-front-end
Draft

Front end for the scoresheet#12
troccoli wants to merge 53 commits into
mainfrom
issue-6-front-end

Conversation

@troccoli
Copy link
Copy Markdown
Owner

@troccoli troccoli commented Apr 3, 2026

Closes #6

troccoli added 30 commits March 8, 2026 15:25
@troccoli troccoli force-pushed the issue-6-front-end branch from 4de7d5d to 8491745 Compare May 9, 2026 15:03
troccoli and others added 10 commits May 9, 2026 16:04
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Clicking the substitutions card opens a modal showing on-court players
(coloured round buttons) and bench players (white badges). Clicking a
player fills the corresponding input; if a substitution pair is active,
the partner input is auto-filled. Locked players (whose pair has already
swapped back) are visually disabled and rejected server-side.

JSON data is stored in data-* attributes to avoid double-quote conflicts
with the x-data HTML attribute.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
When a set is in progress and a team has used all 6 substitutions, the
substitutions card remains clickable and opens a confirmation popup.
Confirming shows a dismissible "No substitutions left" modal with a
return-to-play button, mirroring the third-timeout flow.

Server-side validation in submitSubstitution() also rejects any attempt
to submit beyond the limit as a defence-in-depth measure.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…URATION

Defaults to 30 seconds. Override in .env to shorten during development.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Initial design of the screen

1 participant