Merge branch 'enhancement/70-konsistenzfehler-im-json-vermeiden' of git.yannick-weigert.de:liquid-development/game-tracker into enhancement/70-konsistenzfehler-im-json-vermeiden
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m3s
Pull Request Pipeline / lint (pull_request) Successful in 2m6s

This commit is contained in:
gelbeinhalb
2026-01-05 11:46:34 +01:00
3 changed files with 143 additions and 100 deletions

View File

@@ -47,7 +47,17 @@ class _ChooseGameViewState extends State<ChooseGameView> {
),
centerTitle: true,
),
body: Column(
body: PopScope(
// This fixes that the Android Back Gesture didn't return the
// selectedGameIndex and therefore the selected Game wasn't saved
canPop: false,
onPopInvokedWithResult: (bool didPop, Object? result) {
if (didPop) {
return;
}
Navigator.of(context).pop(selectedGameIndex);
},
child: Column(
children: [
Padding(
padding: const EdgeInsets.symmetric(horizontal: 10),
@@ -81,6 +91,7 @@ class _ChooseGameViewState extends State<ChooseGameView> {
),
],
),
),
);
}
}

View File

@@ -57,7 +57,23 @@ class _ChooseGroupViewState extends State<ChooseGroupView> {
),
centerTitle: true,
),
body: Column(
body: PopScope(
// This fixes that the Android Back Gesture didn't return the
// selectedGroupId and therefore the selected Group wasn't saved
canPop: false,
onPopInvokedWithResult: (bool didPop, Object? result) {
if (didPop) {
return;
}
Navigator.of(context).pop(
selectedGroupId == ''
? null
: widget.groups.firstWhere(
(group) => group.id == selectedGroupId,
),
);
},
child: Column(
children: [
Padding(
padding: const EdgeInsets.symmetric(horizontal: 10),
@@ -113,6 +129,7 @@ class _ChooseGroupViewState extends State<ChooseGroupView> {
),
],
),
),
);
}

View File

@@ -52,7 +52,21 @@ class _ChooseRulesetViewState extends State<ChooseRulesetView> {
),
centerTitle: true,
),
body: ListView.builder(
body: PopScope(
// This fixes that the Android Back Gesture didn't return the
// selectedRulesetIndex and therefore the selected Ruleset wasn't saved
canPop: false,
onPopInvokedWithResult: (bool didPop, Object? result) {
if (didPop) {
return;
}
Navigator.of(context).pop(
selectedRulesetIndex == -1
? null
: widget.rulesets[selectedRulesetIndex].$1,
);
},
child: ListView.builder(
padding: const EdgeInsets.only(bottom: 85),
itemCount: widget.rulesets.length,
itemBuilder: (BuildContext context, int index) {
@@ -73,6 +87,7 @@ class _ChooseRulesetViewState extends State<ChooseRulesetView> {
},
),
),
),
);
}
}