Implement static 6-arrow layout with logical grouping system
- Fix dynamic column generation issue that created 6 columns instead of 3 - Implement static 12-row grid with intelligent visual state management - Add visual-to-logical mapping system for proper end/arrow indexing - Fix sum calculations using logical end groupings instead of visual rows - Replace ends per set selector with automatic ruleset inference - Convert to percentage-based responsive layout eliminating viewport overflow - Add clean merged arrow header replacing individual column indices Core improvements: - 3-arrow (Indoor): 10 ends, sum-3 active, sum-6 on even ends - 6-arrow (Outdoor): 6 ends, sum-3 greyed, sum-6 every 2 visual rows - No more RenderFlex overflow errors with responsive column widths - Proper bounds checking prevents range errors on inactive rows - Package identifier updated to com.novoyuuparosk.archery_bookkeeper 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -33,13 +33,8 @@ class _ScoringPageState extends State<ScoringPage> {
|
||||
void _onArrowsPerEndChanged(int arrows) {
|
||||
setState(() {
|
||||
arrowsPerEnd = arrows;
|
||||
_initializeScores();
|
||||
});
|
||||
}
|
||||
|
||||
void _onEndsPerSetChanged(int ends) {
|
||||
setState(() {
|
||||
endsPerSet = ends;
|
||||
// Infer ends per set based on ruleset
|
||||
endsPerSet = arrows == 3 ? 10 : 6;
|
||||
_initializeScores();
|
||||
});
|
||||
}
|
||||
@@ -90,9 +85,7 @@ class _ScoringPageState extends State<ScoringPage> {
|
||||
padding: const EdgeInsets.all(16.0),
|
||||
child: ToggleSwitches(
|
||||
arrowsPerEnd: arrowsPerEnd,
|
||||
endsPerSet: endsPerSet,
|
||||
onArrowsPerEndChanged: _onArrowsPerEndChanged,
|
||||
onEndsPerSetChanged: _onEndsPerSetChanged,
|
||||
),
|
||||
),
|
||||
|
||||
|
||||
Reference in New Issue
Block a user