Commit Graph

17 Commits

Author SHA1 Message Date
Mikkeli Matlock c57418ea8b Add swipe-in side navigation with Main/Settings pages
Implements professional navigation structure with Material Design drawer:

- MainNavigationPage: Central navigation hub with AppBar and Drawer
- SettingsPage: Placeholder settings page for future configuration options
- Drawer navigation: Swipe-in side menu with Main (Scorer) and Settings options
- App title updates dynamically based on current page selection
- Clean architecture separating navigation from scoring logic

Navigation features:
- Material Design drawer with branded header showing 'Archery Bookkeeper Alpha 0.1'
- Icons for visual clarity (sports for scorer, settings for configuration)
- Selected state highlighting for current page
- Automatic drawer close on navigation selection
- Professional app description in drawer footer

Updated main.dart to use MainNavigationPage as entry point
Modified ScoringPage to work as embedded page without its own AppBar
Maintained all sophisticated end interaction behaviors within scoring context

This establishes the foundation for additional pages and features while
preserving the advanced scoring functionality implemented in the previous release.

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

Co-Authored-By: Claude <noreply@anthropic.com>
v0.1.0-alpha
2025-08-23 22:42:32 +09:00
Mikkeli Matlock 074f827c8b Implement comprehensive end interaction system with split viewport keypad
This major enhancement transforms the scoring interface into a sophisticated end interaction system that mirrors professional archery scoring workflows.

Core behaviors: per-end descending sorting, smart cell selection snapping, active end visual highlighting, cross-end disarm, enhanced keypad pop-up/retract.

Split viewport: upper viewport with scrollable scorecard, lower viewport with 30% keypad, 250ms animated transitions, proper separation prevents UI obstruction.

Enhanced 4x4 keypad: responsive Expanded widgets, CLEAR and CLOSE buttons, percentage-based sizing eliminates overflow.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-23 22:36:10 +09:00
Mikkeli Matlock 12956c27dc new gitignore 2025-08-23 11:10:25 +09:00
Mikkeli Matlock a65d6396fd new gitignore 2025-08-23 11:08:46 +09:00
Mikkeli Matlock 565a054ed9 Update documentation reflecting completed 6-arrow layout implementation
- Mark 6-arrow layout as completed in CLAUDE.md with architectural details
- Update current functionality descriptions for both 3-arrow and 6-arrow modes
- Reduce remaining UI priorities from 6 to 4 items
- Add gitignore patterns for layout documentation and user notes
- Update README.md with enhanced feature descriptions

Documentation now accurately reflects the stable static grid architecture
with logical grouping system and responsive percentage-based layout.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-23 11:01:18 +09:00
Mikkeli Matlock 75b350f08d 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>
2025-08-23 10:55:58 +09:00
Mikkeli Matlock a1642c1fe7 Upgraded Flutter dependencies 2025-08-23 01:41:27 +09:00
Mikkeli Matlock 1aff6f9546 Documentation updates 2025-08-23 01:13:59 +09:00
Mikkeli Matlock d3a8a5c6da Implement centralized color scheme system with Sum of 6 greying
- Add ScoringColorScheme class with explicit text colors per scheme
- Implement traditional (vibrant) and lowSaturation (muted) color schemes
- Add disabled state colors for greying out inactive elements
- Refactor scoring_cell.dart and scoring_keypad.dart to use centralized colors
- Grey out Sum of 6 column when in 3-arrow end mode while maintaining layout
- Add comprehensive color scheme documentation and usage examples

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-23 01:07:04 +09:00
Mikkeli Matlock e9c8bc48b0 Minor compacting 2025-08-23 00:51:25 +09:00
Mikkeli Matlock ea0370aa9c Noted features with a WIP status 2025-08-23 00:33:19 +09:00
Mikkeli Matlock 78753071d0 Update flutter_lints to 6.0.0 and fix widget tests
- Upgrade flutter_lints from 5.0.0 to 6.0.0
- Fix widget test to reference correct app class (ArcheryBookkeeperApp)
- Update widget test to check for actual app title "Archery Scoring"
- Clean up project description in pubspec.yaml

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-23 00:31:08 +09:00
Mikkeli Matlock d7cbe2e87b Fixed color schemes 2025-08-23 00:15:18 +09:00
Mikkeli Matlock 631a186dfd Restructured to use Flutter. Mockup UIs 2025-08-22 23:42:12 +09:00
Mikkeli Matlock ae746c23f4 node.js conversion 2024-02-21 15:58:29 +09:00
Mikkeli Matlock 462ca55412 initialisation 2023-09-06 16:55:01 +09:00
WAN Ziyu 69178c7db1 Initial commit 2023-09-06 16:40:41 +09:00