diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_game/create_game_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_game/create_game_view.dart index 2907720..c27ecac 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_game/create_game_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_game/create_game_view.dart @@ -183,6 +183,7 @@ class _CreateGameViewState extends State { body: SafeArea( child: Column( children: [ + // Game name input field Container( margin: CustomTheme.tileMargin, child: TextInputField( @@ -191,30 +192,35 @@ class _CreateGameViewState extends State { hintText: loc.game_name, ), ), - ChooseTile( - title: loc.ruleset, - trailingText: selectedRuleset == null - ? loc.none - : translateRulesetToString(selectedRuleset!, context), - onPressed: () async { - final result = await Navigator.of(context).push( - adaptivePageRoute( - builder: (context) => ChooseRulesetView( - rulesets: _rulesets, - initialRulesetIndex: selectedRulesetIndex, + + // Choose ruleset tile + if (!isEditMode()) + ChooseTile( + title: loc.ruleset, + trailingText: selectedRuleset == null + ? loc.none + : translateRulesetToString(selectedRuleset!, context), + onPressed: () async { + final result = await Navigator.of(context).push( + adaptivePageRoute( + builder: (context) => ChooseRulesetView( + rulesets: _rulesets, + initialRulesetIndex: selectedRulesetIndex, + ), ), - ), - ); - if (mounted) { - setState(() { - selectedRuleset = result; - selectedRulesetIndex = result == null - ? -1 - : _rulesets.indexWhere((r) => r.$1 == result); - }); - } - }, - ), + ); + if (mounted) { + setState(() { + selectedRuleset = result; + selectedRulesetIndex = result == null + ? -1 + : _rulesets.indexWhere((r) => r.$1 == result); + }); + } + }, + ), + + // Choose color tile ChooseTile( title: loc.color, trailingText: selectedColor == null @@ -234,6 +240,8 @@ class _CreateGameViewState extends State { } }, ), + + // Description input field Container( margin: CustomTheme.tileMargin, child: TextInputField( @@ -245,7 +253,10 @@ class _CreateGameViewState extends State { showCounterText: true, ), ), + const Spacer(), + + // Create/Edit game button Padding( padding: const EdgeInsets.all(12.0), child: CustomWidthButton( @@ -349,4 +360,8 @@ class _CreateGameViewState extends State { ); } } + + bool isEditMode() { + return widget.gameToEdit != null; + } } diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index b042ebb..945e68a 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -126,29 +126,30 @@ class _CreateMatchViewState extends State { ), // Game selection tile. - ChooseTile( - title: loc.game, - trailingText: selectedGame == null - ? loc.none_group - : selectedGame!.name, - onPressed: () async { - selectedGame = await Navigator.of(context).push( - adaptivePageRoute( - builder: (context) => ChooseGameView( - games: gamesList, - initialGameId: selectedGame?.id ?? '', + if (!isEditMode()) + ChooseTile( + title: loc.game, + trailingText: selectedGame == null + ? loc.none_group + : selectedGame!.name, + onPressed: () async { + selectedGame = await Navigator.of(context).push( + adaptivePageRoute( + builder: (context) => ChooseGameView( + games: gamesList, + initialGameId: selectedGame?.id ?? '', + ), ), - ), - ); - setState(() { - if (selectedGame != null) { - hintText = selectedGame!.name; - } else { - hintText = loc.match_name; - } - }); - }, - ), + ); + setState(() { + if (selectedGame != null) { + hintText = selectedGame!.name; + } else { + hintText = loc.match_name; + } + }); + }, + ), // Group selection tile. ChooseTile(