Fix vertical overflow by removing nested Scaffold architecture

- Remove nested Scaffold from ScoringPage (now uses LayoutBuilder)
- Use proper constraint-based height calculation instead of MediaQuery
- Maintain score preservation across navigation without nested scaffolds
- Fix viewport architecture to work within MainNavigationPage body
- Minor keypad layout adjustment (77%/23% flex ratio)

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Mikkeli Matlock
2025-08-24 13:28:43 +09:00
parent fd5a034ed4
commit 8f7d870985
16 changed files with 1289 additions and 86 deletions
+11 -5
View File
@@ -5,16 +5,22 @@
// gestures. You can also use WidgetTester to find child widgets in the widget
// tree, read text, and verify that the values of widget properties are correct.
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:archery_bookkeeper/main.dart';
import 'package:archery_scorer/main.dart';
void main() {
testWidgets('Archery Bookkeeper app loads', (WidgetTester tester) async {
testWidgets('App loads successfully with basic structure', (WidgetTester tester) async {
// Build our app and trigger a frame.
await tester.pumpWidget(const ArcheryBookkeeperApp());
await tester.pumpWidget(const ArcheryScorerApp());
// Verify that the app loads properly
expect(find.text('Archery Scoring'), findsOneWidget);
// Verify core app structure exists - completely localization-safe
expect(find.byType(MaterialApp), findsOneWidget);
expect(find.byType(Scaffold), findsAtLeastNWidgets(1));
expect(find.byType(AppBar), findsAtLeastNWidgets(1));
// Verify drawer menu button by icon type (drawer hamburger menu)
expect(find.byIcon(Icons.menu), findsOneWidget);
});
}