2 Commits

Author SHA1 Message Date
10aad47124 Updated choosing mechanism
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m5s
Pull Request Pipeline / lint (pull_request) Successful in 2m9s
2025-12-06 17:13:33 +01:00
75b62d0854 Replaced temp navigator 2025-12-06 16:58:12 +01:00
4 changed files with 69 additions and 42 deletions

View File

@@ -35,13 +35,24 @@ class _ChooseGameViewState extends State<ChooseGameView> {
appBar: AppBar( appBar: AppBar(
backgroundColor: CustomTheme.backgroundColor, backgroundColor: CustomTheme.backgroundColor,
scrolledUnderElevation: 0, scrolledUnderElevation: 0,
leading: IconButton(
icon: const Icon(Icons.arrow_back_ios),
onPressed: () {
Navigator.of(
context,
).pop(selectedGameIndex == -1 ? null : selectedGameIndex);
},
),
title: const Text( title: const Text(
'Choose Game', 'Choose Game',
style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold), style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
), ),
centerTitle: true, centerTitle: true,
), ),
body: Column( body: Container(
decoration: CustomTheme.standardBoxDecoration,
padding: const EdgeInsets.all(10),
child: Column(
children: [ children: [
CustomSearchBar( CustomSearchBar(
controller: searchBarController, controller: searchBarController,
@@ -61,10 +72,6 @@ class _ChooseGameViewState extends State<ChooseGameView> {
setState(() { setState(() {
selectedGameIndex = index; selectedGameIndex = index;
}); });
Future.delayed(const Duration(milliseconds: 500), () {
if (!context.mounted) return;
Navigator.of(context).pop(selectedGameIndex);
});
}, },
); );
}, },
@@ -72,6 +79,7 @@ class _ChooseGameViewState extends State<ChooseGameView> {
), ),
], ],
), ),
),
); );
} }
} }

View File

@@ -33,6 +33,16 @@ class _ChooseGroupViewState extends State<ChooseGroupView> {
appBar: AppBar( appBar: AppBar(
backgroundColor: CustomTheme.backgroundColor, backgroundColor: CustomTheme.backgroundColor,
scrolledUnderElevation: 0, scrolledUnderElevation: 0,
leading: IconButton(
icon: const Icon(Icons.arrow_back_ios),
onPressed: () {
Navigator.of(context).pop(
selectedGroupIndex == -1
? null
: widget.groups[selectedGroupIndex],
);
},
),
title: const Text( title: const Text(
'Choose Group', 'Choose Group',
style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold), style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
@@ -46,12 +56,11 @@ class _ChooseGroupViewState extends State<ChooseGroupView> {
return GestureDetector( return GestureDetector(
onTap: () { onTap: () {
setState(() { setState(() {
if (selectedGroupIndex == index) {
selectedGroupIndex = -1;
} else {
selectedGroupIndex = index; selectedGroupIndex = index;
}); }
Future.delayed(const Duration(milliseconds: 500), () {
if (!context.mounted) return;
Navigator.of(context).pop(widget.groups[index]);
}); });
}, },
child: GroupTile( child: GroupTile(

View File

@@ -36,6 +36,16 @@ class _ChooseRulesetViewState extends State<ChooseRulesetView> {
appBar: AppBar( appBar: AppBar(
backgroundColor: CustomTheme.backgroundColor, backgroundColor: CustomTheme.backgroundColor,
scrolledUnderElevation: 0, scrolledUnderElevation: 0,
leading: IconButton(
icon: const Icon(Icons.arrow_back_ios),
onPressed: () {
Navigator.of(context).pop(
selectedRulesetIndex == -1
? null
: widget.rulesets[selectedRulesetIndex].$1,
);
},
),
title: const Text( title: const Text(
'Choose Ruleset', 'Choose Ruleset',
style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold), style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
@@ -49,11 +59,11 @@ class _ChooseRulesetViewState extends State<ChooseRulesetView> {
return TitleDescriptionListTile( return TitleDescriptionListTile(
onPressed: () async { onPressed: () async {
setState(() { setState(() {
if (selectedRulesetIndex == index) {
selectedRulesetIndex = -1;
} else {
selectedRulesetIndex = index; selectedRulesetIndex = index;
}); }
Future.delayed(const Duration(milliseconds: 500), () {
if (!context.mounted) return;
Navigator.of(context).pop(widget.rulesets[index].$1);
}); });
}, },
title: widget.rulesets[index].$2, title: widget.rulesets[index].$2,

View File

@@ -5,7 +5,7 @@ import 'package:game_tracker/data/db/database.dart';
import 'package:game_tracker/data/dto/game.dart'; import 'package:game_tracker/data/dto/game.dart';
import 'package:game_tracker/data/dto/group.dart'; import 'package:game_tracker/data/dto/group.dart';
import 'package:game_tracker/data/dto/player.dart'; import 'package:game_tracker/data/dto/player.dart';
import 'package:game_tracker/presentation/views/main_menu/create_group_view.dart'; import 'package:game_tracker/presentation/views/main_menu/create_game/create_game_view.dart';
import 'package:game_tracker/presentation/views/main_menu/game_result_view.dart'; import 'package:game_tracker/presentation/views/main_menu/game_result_view.dart';
import 'package:game_tracker/presentation/widgets/app_skeleton.dart'; import 'package:game_tracker/presentation/widgets/app_skeleton.dart';
import 'package:game_tracker/presentation/widgets/buttons/custom_width_button.dart'; import 'package:game_tracker/presentation/widgets/buttons/custom_width_button.dart';
@@ -133,7 +133,7 @@ class _GameHistoryViewState extends State<GameHistoryView> {
context, context,
MaterialPageRoute( MaterialPageRoute(
builder: (context) { builder: (context) {
return const CreateGroupView(); return const CreateGameView();
}, },
), ),
); );