CreateGameView erstellen #67

Merged
sneeex merged 35 commits from feature/3-creategameview-erstellen into development 2025-12-10 20:43:54 +00:00
3 changed files with 67 additions and 40 deletions
Showing only changes of commit 10aad47124 - Show all commits

View File

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

warum ist unselecten hier nicht implementiert, beim choose group view aber schon?

warum ist unselecten hier nicht implementiert, beim choose group view aber schon?

ups, vergessen

ups, vergessen
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(
backgroundColor: CustomTheme.backgroundColor,
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(
'Choose Group',
style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
@@ -46,12 +56,11 @@ class _ChooseGroupViewState extends State<ChooseGroupView> {
return GestureDetector(
flixcoo marked this conversation as resolved
Review

Warum lässt sich in Choose Game View suchen, im Choose Group View aber nicht? Können beides ja potenziell sehr lange Listen sein

Warum lässt sich in Choose Game View suchen, im Choose Group View aber nicht? Können beides ja potenziell sehr lange Listen sein
Review

Erledigt (So würde dass dann auch für die Games funktionieren)

Erledigt (So würde dass dann auch für die Games funktionieren)
onTap: () {
setState(() {
if (selectedGroupIndex == index) {
selectedGroupIndex = -1;
} else {
selectedGroupIndex = index;
});
Future.delayed(const Duration(milliseconds: 500), () {
if (!context.mounted) return;
Navigator.of(context).pop(widget.groups[index]);
}
});
},
child: GroupTile(

View File

@@ -36,6 +36,16 @@ class _ChooseRulesetViewState extends State<ChooseRulesetView> {
appBar: AppBar(
backgroundColor: CustomTheme.backgroundColor,
scrolledUnderElevation: 0,
leading: IconButton(
sneeex marked this conversation as resolved Outdated

Macht keinen Sinn, da gametype und rulesets ausgewählt werden können

Macht keinen Sinn, da gametype und rulesets ausgewählt werden können

Habs jetzt zu Choose Ruleset geändert, da man mit den Gametypes ja auch im Prinzip nur n Ruleset festlegt

Habs jetzt zu `Choose Ruleset` geändert, da man mit den Gametypes ja auch im Prinzip nur n Ruleset festlegt
icon: const Icon(Icons.arrow_back_ios),
onPressed: () {
Navigator.of(context).pop(
selectedRulesetIndex == -1
? null
: widget.rulesets[selectedRulesetIndex].$1,
);
},
),
title: const Text(
'Choose Ruleset',
style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
sneeex marked this conversation as resolved Outdated

warum so viele comments? ist doch klar wofür die settings jeweils sind, also label indicator, divider etc

warum so viele comments? ist doch klar wofür die settings jeweils sind, also label indicator, divider etc

Wollte das einfach bisschen klarer aufteilen

Wollte das einfach bisschen klarer aufteilen
@@ -49,11 +59,11 @@ class _ChooseRulesetViewState extends State<ChooseRulesetView> {
return TitleDescriptionListTile(
onPressed: () async {
setState(() {
if (selectedRulesetIndex == index) {
selectedRulesetIndex = -1;
} else {
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,