Implemented consistency changes

This commit is contained in:
2026-05-02 16:11:15 +02:00
parent 633a0599eb
commit 2e1314ccd4
2 changed files with 61 additions and 45 deletions

View File

@@ -183,6 +183,7 @@ class _CreateGameViewState extends State<CreateGameView> {
body: SafeArea( body: SafeArea(
child: Column( child: Column(
children: [ children: [
// Game name input field
Container( Container(
margin: CustomTheme.tileMargin, margin: CustomTheme.tileMargin,
child: TextInputField( child: TextInputField(
@@ -191,30 +192,35 @@ class _CreateGameViewState extends State<CreateGameView> {
hintText: loc.game_name, hintText: loc.game_name,
), ),
), ),
ChooseTile(
title: loc.ruleset, // Choose ruleset tile
trailingText: selectedRuleset == null if (!isEditMode())
? loc.none ChooseTile(
: translateRulesetToString(selectedRuleset!, context), title: loc.ruleset,
onPressed: () async { trailingText: selectedRuleset == null
final result = await Navigator.of(context).push<Ruleset?>( ? loc.none
adaptivePageRoute( : translateRulesetToString(selectedRuleset!, context),
builder: (context) => ChooseRulesetView( onPressed: () async {
rulesets: _rulesets, final result = await Navigator.of(context).push<Ruleset?>(
initialRulesetIndex: selectedRulesetIndex, adaptivePageRoute(
builder: (context) => ChooseRulesetView(
rulesets: _rulesets,
initialRulesetIndex: selectedRulesetIndex,
),
), ),
), );
); if (mounted) {
if (mounted) { setState(() {
setState(() { selectedRuleset = result;
selectedRuleset = result; selectedRulesetIndex = result == null
selectedRulesetIndex = result == null ? -1
? -1 : _rulesets.indexWhere((r) => r.$1 == result);
: _rulesets.indexWhere((r) => r.$1 == result); });
}); }
} },
}, ),
),
// Choose color tile
ChooseTile( ChooseTile(
title: loc.color, title: loc.color,
trailingText: selectedColor == null trailingText: selectedColor == null
@@ -234,6 +240,8 @@ class _CreateGameViewState extends State<CreateGameView> {
} }
}, },
), ),
// Description input field
Container( Container(
margin: CustomTheme.tileMargin, margin: CustomTheme.tileMargin,
child: TextInputField( child: TextInputField(
@@ -245,7 +253,10 @@ class _CreateGameViewState extends State<CreateGameView> {
showCounterText: true, showCounterText: true,
), ),
), ),
const Spacer(), const Spacer(),
// Create/Edit game button
Padding( Padding(
padding: const EdgeInsets.all(12.0), padding: const EdgeInsets.all(12.0),
child: CustomWidthButton( child: CustomWidthButton(
@@ -349,4 +360,8 @@ class _CreateGameViewState extends State<CreateGameView> {
); );
} }
} }
bool isEditMode() {
return widget.gameToEdit != null;
}
} }

View File

@@ -126,29 +126,30 @@ class _CreateMatchViewState extends State<CreateMatchView> {
), ),
// Game selection tile. // Game selection tile.
ChooseTile( if (!isEditMode())
title: loc.game, ChooseTile(
trailingText: selectedGame == null title: loc.game,
? loc.none_group trailingText: selectedGame == null
: selectedGame!.name, ? loc.none_group
onPressed: () async { : selectedGame!.name,
selectedGame = await Navigator.of(context).push( onPressed: () async {
adaptivePageRoute( selectedGame = await Navigator.of(context).push(
builder: (context) => ChooseGameView( adaptivePageRoute(
games: gamesList, builder: (context) => ChooseGameView(
initialGameId: selectedGame?.id ?? '', games: gamesList,
initialGameId: selectedGame?.id ?? '',
),
), ),
), );
); setState(() {
setState(() { if (selectedGame != null) {
if (selectedGame != null) { hintText = selectedGame!.name;
hintText = selectedGame!.name; } else {
} else { hintText = loc.match_name;
hintText = loc.match_name; }
} });
}); },
}, ),
),
// Group selection tile. // Group selection tile.
ChooseTile( ChooseTile(