Add playing handicap, 6-digit login code, and game UX improvements
- Playing handicap: computed at game creation (WHS formula), stored on game_players alongside per-hole strokes allocation; displayed on game summary with HC card and / markers on scorecard (only when SI defined); live game shows +N per player card when SI exists, HC total otherwise; new game confirmation previews computed HC per player - Login: 6-digit code sent alongside magic link in every auth email; check_email page has auto-advancing digit inputs with paste support; new POST /auth/verify-code route handles code verification - Game view: Score/Card toggle fixed with position:fixed to always show above nav bar on mobile; swipe on score view changes holes, swipe on scorecard switches tabs; dirty tracking prevents saving unmodified holes Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -108,7 +108,9 @@
|
||||
</div>
|
||||
<div class="form-group" style="margin:0; width:7rem;">
|
||||
<label style="font-size:0.8rem;">Rating</label>
|
||||
<input type="number" step="0.1" name="rating" value="{{ t.rating }}" min="60" max="80" required style="padding:0.4rem 0.6rem;">
|
||||
<input type="number" step="0.1" name="rating" value="{{ t.rating }}"
|
||||
min="{{ '29' if course.holes == 9 else '60' }}" max="{{ '40' if course.holes == 9 else '80' }}"
|
||||
required style="padding:0.4rem 0.6rem;">
|
||||
</div>
|
||||
<div style="display:flex; gap:0.4rem; padding-bottom:0.1rem;">
|
||||
<button type="submit" class="btn btn-primary" style="padding:0.4rem 0.75rem; font-size:0.85rem;">Save</button>
|
||||
@@ -138,7 +140,10 @@
|
||||
</div>
|
||||
<div class="form-group" style="margin:0; width:7rem;">
|
||||
<label style="font-size:0.8rem;">Rating</label>
|
||||
<input type="number" step="0.1" name="rating" placeholder="72.0" min="60" max="80" required style="padding:0.4rem 0.6rem;">
|
||||
<input type="number" step="0.1" name="rating"
|
||||
placeholder="{{ '35.0' if course.holes == 9 else '72.0' }}"
|
||||
min="{{ '29' if course.holes == 9 else '60' }}" max="{{ '40' if course.holes == 9 else '80' }}"
|
||||
required style="padding:0.4rem 0.6rem;">
|
||||
</div>
|
||||
<div style="padding-bottom:0.1rem;">
|
||||
<button type="submit" class="btn btn-primary" style="padding:0.4rem 0.75rem; font-size:0.85rem;">Add tee</button>
|
||||
|
||||
Reference in New Issue
Block a user