Files
archery-bookkeeper/lib/presentation/pages
Mikkeli Matlock 8c86f9b38d Add 'Keep current scores?' confirmation dialog for arrow count switching
Implements smart score preservation when switching between 3-arrow and 6-arrow modes:

Core functionality:
- Detects existing scores before allowing arrow count mode changes
- Shows confirmation dialog only when scores exist on scorecard
- Two-option dialog: 'Yes - Keep scores' or 'No - Clear scores'
- User can cancel dialog to abort mode change completely

Score preservation logic:
- Preserves existing scores in their current positions when keeping scores
- Handles 6→3 arrow transition: rows 11-12 become inactive but retain scores
- Maintains visual greying and unselectable state for deactivated cells
- Respects new arrow count limits when copying scores to new structure

Dialog UX improvements:
- Clear messaging explaining the consequences of each choice
- Professional button styling with explicit action descriptions
- Cancellable dialog preserves current state if user changes mind
- Seamless integration with existing toggle switch behavior

Technical implementation:
- _hasAnyScores() helper efficiently detects non-empty scorecard
- _preserveScoresWithNewArrowCount() safely migrates scores to new structure
- Async/await pattern for proper dialog handling and state updates
- Maintains all existing sophisticated end interaction behaviors

This enhancement prevents accidental score loss while allowing flexible
rule switching, matching professional archery scoring conventions.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-23 22:45:28 +09:00
..