diff --git a/src/pages/EnterScores.module.css b/src/pages/EnterScores.module.css index fac417d..e2afdff 100644 --- a/src/pages/EnterScores.module.css +++ b/src/pages/EnterScores.module.css @@ -27,6 +27,18 @@ background: #fff5f5; } +.signToggle { + width: 2.5rem; + height: 2.5rem; + border-radius: 50%; + border: 2px solid var(--color-parchment-border); + background: #fdfaf4; + font-size: 1.2rem; + font-weight: 600; + color: #555; + flex-shrink: 0; +} + .sumLine { margin: 0.5rem 0 0; text-align: center; diff --git a/src/pages/EnterScores.tsx b/src/pages/EnterScores.tsx index f5fe15f..8463dac 100644 --- a/src/pages/EnterScores.tsx +++ b/src/pages/EnterScores.tsx @@ -17,6 +17,15 @@ export default function EnterScores({ game, onSubmit }: Props) { setValues(vs => vs.map((val, idx) => (idx === i ? v : val))) } + function toggleSign(i: number) { + setValues(vs => vs.map((val, idx) => { + if (idx !== i) return val + const digits = val.startsWith('-') ? val.slice(1) : val + if (!digits) return val + return val.startsWith('-') ? digits : '-' + digits + })) + } + const parsed = values.map(v => parseInt(v, 10)) const fieldError = values.map((v, i) => v !== '' && (isNaN(parsed[i]) || !isIndividualScoreValid(parsed[i]))) const allFilled = parsed.every(n => !isNaN(n)) @@ -35,9 +44,12 @@ export default function EnterScores({ game, onSubmit }: Props) { {game.players.map((name, i) => (