From a4ef9705f950042bd4a73d0b6df4f15327314424 Mon Sep 17 00:00:00 2001 From: Mathis Kirchner Date: Fri, 9 Jan 2026 22:22:26 +0100 Subject: [PATCH 1/8] made PageRoutes adapt to os, default to MaterialPageRoute --- .../main_menu/custom_navigation_bar.dart | 5 +++- .../main_menu/group_view/groups_view.dart | 9 +++++++- .../create_match/create_match_view.dart | 23 ++++++++++++++++--- .../main_menu/match_view/match_view.dart | 5 +++- 4 files changed, 36 insertions(+), 6 deletions(-) diff --git a/lib/presentation/views/main_menu/custom_navigation_bar.dart b/lib/presentation/views/main_menu/custom_navigation_bar.dart index a8b18c8..17eeb41 100644 --- a/lib/presentation/views/main_menu/custom_navigation_bar.dart +++ b/lib/presentation/views/main_menu/custom_navigation_bar.dart @@ -1,3 +1,6 @@ +import 'dart:io'; + +import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:game_tracker/core/custom_theme.dart'; import 'package:game_tracker/l10n/generated/app_localizations.dart'; @@ -56,7 +59,7 @@ class _CustomNavigationBarState extends State onPressed: () async { await Navigator.push( context, - MaterialPageRoute(builder: (_) => const SettingsView()), + Platform.isIOS ? CupertinoPageRoute(builder: (_) => const SettingsView()) : MaterialPageRoute(builder: (_) => const SettingsView()), ); setState(() { tabKeyCount++; diff --git a/lib/presentation/views/main_menu/group_view/groups_view.dart b/lib/presentation/views/main_menu/group_view/groups_view.dart index 57d05a4..d19028f 100644 --- a/lib/presentation/views/main_menu/group_view/groups_view.dart +++ b/lib/presentation/views/main_menu/group_view/groups_view.dart @@ -1,3 +1,6 @@ +import 'dart:io'; + +import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:game_tracker/core/constants.dart'; import 'package:game_tracker/core/custom_theme.dart'; @@ -85,7 +88,11 @@ class _GroupsViewState extends State { onPressed: () async { await Navigator.push( context, - MaterialPageRoute( + Platform.isIOS ? CupertinoPageRoute( + builder: (context) { + return const CreateGroupView(); + }, + ) : MaterialPageRoute( builder: (context) { return const CreateGroupView(); }, 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 dc6690b..cff066d 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 @@ -1,3 +1,5 @@ +import 'dart:io'; + import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:game_tracker/core/custom_theme.dart'; @@ -140,7 +142,12 @@ class _CreateMatchViewState extends State { : games[selectedGameIndex].$1, onPressed: () async { selectedGameIndex = await Navigator.of(context).push( - MaterialPageRoute( + Platform.isIOS ? CupertinoPageRoute( + builder: (context) => ChooseGameView( + games: games, + initialGameIndex: selectedGameIndex, + ), + ) : MaterialPageRoute( builder: (context) => ChooseGameView( games: games, initialGameIndex: selectedGameIndex, @@ -168,7 +175,12 @@ class _CreateMatchViewState extends State { : translateRulesetToString(selectedRuleset!, context), onPressed: () async { selectedRuleset = await Navigator.of(context).push( - MaterialPageRoute( + Platform.isIOS ? CupertinoPageRoute( + builder: (context) => ChooseRulesetView( + rulesets: _rulesets, + initialRulesetIndex: selectedRulesetIndex, + ), + ) : MaterialPageRoute( builder: (context) => ChooseRulesetView( rulesets: _rulesets, initialRulesetIndex: selectedRulesetIndex, @@ -190,7 +202,12 @@ class _CreateMatchViewState extends State { : selectedGroup!.name, onPressed: () async { selectedGroup = await Navigator.of(context).push( - MaterialPageRoute( + Platform.isIOS ? CupertinoPageRoute( + builder: (context) => ChooseGroupView( + groups: groupsList, + initialGroupId: selectedGroupId, + ), + ): MaterialPageRoute( builder: (context) => ChooseGroupView( groups: groupsList, initialGroupId: selectedGroupId, diff --git a/lib/presentation/views/main_menu/match_view/match_view.dart b/lib/presentation/views/main_menu/match_view/match_view.dart index 45b957f..55d35c6 100644 --- a/lib/presentation/views/main_menu/match_view/match_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_view.dart @@ -1,4 +1,5 @@ import 'dart:core' hide Match; +import 'dart:io'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; @@ -105,7 +106,9 @@ class _MatchViewState extends State { onPressed: () async { Navigator.push( context, - MaterialPageRoute( + Platform.isIOS ? CupertinoPageRoute( + builder: (context) => + CreateMatchView(onWinnerChanged: loadGames)) : MaterialPageRoute( builder: (context) => CreateMatchView(onWinnerChanged: loadGames), ), -- 2.49.1 From db3e8215fa48308b8a892309d53e6e7f890e91c3 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 10 Jan 2026 13:42:09 +0100 Subject: [PATCH 2/8] Added ios swipe back gesture --- lib/main.dart | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/main.dart b/lib/main.dart index 1dee10b..8889755 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -44,6 +44,9 @@ class GameTracker extends StatelessWidget { seedColor: CustomTheme.primaryColor, brightness: Brightness.dark, ).copyWith(surface: CustomTheme.backgroundColor), + pageTransitionsTheme: const PageTransitionsTheme( + builders: {TargetPlatform.iOS: CupertinoPageTransitionsBuilder()}, + ), ), home: const CustomNavigationBar(), ); -- 2.49.1 From 66b90aac25871ac5afea2b7db3c91f2f7ddf283d Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 10 Jan 2026 14:09:08 +0100 Subject: [PATCH 3/8] Fixed issue with android page transition --- lib/main.dart | 5 ++++- pubspec.yaml | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 8889755..8fdd4e4 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -45,7 +45,10 @@ class GameTracker extends StatelessWidget { brightness: Brightness.dark, ).copyWith(surface: CustomTheme.backgroundColor), pageTransitionsTheme: const PageTransitionsTheme( - builders: {TargetPlatform.iOS: CupertinoPageTransitionsBuilder()}, + builders: { + TargetPlatform.iOS: CupertinoPageTransitionsBuilder(), + TargetPlatform.android: FadeForwardsPageTransitionsBuilder(), + }, ), ), home: const CustomNavigationBar(), diff --git a/pubspec.yaml b/pubspec.yaml index e79ca17..4944deb 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: game_tracker description: "Game Tracking App for Card Games" publish_to: 'none' -version: 0.0.1+21 +version: 0.0.1+33 environment: sdk: ^3.8.1 -- 2.49.1 From 6faafe9fab327d4e4cfd782dbec8954cc31441a0 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 10 Jan 2026 14:16:16 +0100 Subject: [PATCH 4/8] Changed android page transition to Android U transition --- lib/main.dart | 2 +- pubspec.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 8fdd4e4..2f64e2e 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -47,7 +47,7 @@ class GameTracker extends StatelessWidget { pageTransitionsTheme: const PageTransitionsTheme( builders: { TargetPlatform.iOS: CupertinoPageTransitionsBuilder(), - TargetPlatform.android: FadeForwardsPageTransitionsBuilder(), + TargetPlatform.android: PredictiveBackPageTransitionsBuilder(), }, ), ), diff --git a/pubspec.yaml b/pubspec.yaml index 4944deb..26253fd 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: game_tracker description: "Game Tracking App for Card Games" publish_to: 'none' -version: 0.0.1+33 +version: 0.0.1+37 environment: sdk: ^3.8.1 -- 2.49.1 From d67972624e25227ce6fd7a64cb9fad7b3bfac1d4 Mon Sep 17 00:00:00 2001 From: Mathis Kirchner Date: Sat, 10 Jan 2026 14:44:33 +0100 Subject: [PATCH 5/8] replaced ternary operator solution with custom adaptive_page_route.dart --- lib/core/adaptive_page_route.dart | 19 ++++++++++++++ lib/main.dart | 3 ++- .../main_menu/custom_navigation_bar.dart | 5 ++-- .../main_menu/group_view/groups_view.dart | 9 ++----- .../create_match/create_match_view.dart | 26 ++++--------------- .../main_menu/match_view/match_view.dart | 12 +++------ 6 files changed, 34 insertions(+), 40 deletions(-) create mode 100644 lib/core/adaptive_page_route.dart diff --git a/lib/core/adaptive_page_route.dart b/lib/core/adaptive_page_route.dart new file mode 100644 index 0000000..631f000 --- /dev/null +++ b/lib/core/adaptive_page_route.dart @@ -0,0 +1,19 @@ +import 'dart:io'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; + +Route AdaptivePageRoute({ + required Widget Function(BuildContext) builder, + bool fullscreenDialog = false, +}) { + if (Platform.isIOS) { + return CupertinoPageRoute( + builder: builder, + fullscreenDialog: fullscreenDialog, + ); + } + return MaterialPageRoute( + builder: builder, + fullscreenDialog: fullscreenDialog, + ); +} diff --git a/lib/main.dart b/lib/main.dart index 8889755..9b9683d 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -45,7 +45,8 @@ class GameTracker extends StatelessWidget { brightness: Brightness.dark, ).copyWith(surface: CustomTheme.backgroundColor), pageTransitionsTheme: const PageTransitionsTheme( - builders: {TargetPlatform.iOS: CupertinoPageTransitionsBuilder()}, + builders: {TargetPlatform.iOS: CupertinoPageTransitionsBuilder(), TargetPlatform.android: PredictiveBackPageTransitionsBuilder() + }, ), ), home: const CustomNavigationBar(), diff --git a/lib/presentation/views/main_menu/custom_navigation_bar.dart b/lib/presentation/views/main_menu/custom_navigation_bar.dart index 17eeb41..4850e5a 100644 --- a/lib/presentation/views/main_menu/custom_navigation_bar.dart +++ b/lib/presentation/views/main_menu/custom_navigation_bar.dart @@ -1,7 +1,6 @@ -import 'dart:io'; - import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:game_tracker/core/adaptive_page_route.dart'; import 'package:game_tracker/core/custom_theme.dart'; import 'package:game_tracker/l10n/generated/app_localizations.dart'; import 'package:game_tracker/presentation/views/main_menu/group_view/groups_view.dart'; @@ -59,7 +58,7 @@ class _CustomNavigationBarState extends State onPressed: () async { await Navigator.push( context, - Platform.isIOS ? CupertinoPageRoute(builder: (_) => const SettingsView()) : MaterialPageRoute(builder: (_) => const SettingsView()), + AdaptivePageRoute(builder: (_) => const SettingsView()), ); setState(() { tabKeyCount++; diff --git a/lib/presentation/views/main_menu/group_view/groups_view.dart b/lib/presentation/views/main_menu/group_view/groups_view.dart index d19028f..ce9f697 100644 --- a/lib/presentation/views/main_menu/group_view/groups_view.dart +++ b/lib/presentation/views/main_menu/group_view/groups_view.dart @@ -1,7 +1,6 @@ -import 'dart:io'; - import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:game_tracker/core/adaptive_page_route.dart'; import 'package:game_tracker/core/constants.dart'; import 'package:game_tracker/core/custom_theme.dart'; import 'package:game_tracker/data/db/database.dart'; @@ -88,11 +87,7 @@ class _GroupsViewState extends State { onPressed: () async { await Navigator.push( context, - Platform.isIOS ? CupertinoPageRoute( - builder: (context) { - return const CreateGroupView(); - }, - ) : MaterialPageRoute( + AdaptivePageRoute( builder: (context) { return const CreateGroupView(); }, 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 cff066d..77fe6b9 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 @@ -1,7 +1,6 @@ -import 'dart:io'; - import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:game_tracker/core/adaptive_page_route.dart'; import 'package:game_tracker/core/custom_theme.dart'; import 'package:game_tracker/core/enums.dart'; import 'package:game_tracker/data/db/database.dart'; @@ -142,12 +141,7 @@ class _CreateMatchViewState extends State { : games[selectedGameIndex].$1, onPressed: () async { selectedGameIndex = await Navigator.of(context).push( - Platform.isIOS ? CupertinoPageRoute( - builder: (context) => ChooseGameView( - games: games, - initialGameIndex: selectedGameIndex, - ), - ) : MaterialPageRoute( + AdaptivePageRoute( builder: (context) => ChooseGameView( games: games, initialGameIndex: selectedGameIndex, @@ -175,12 +169,7 @@ class _CreateMatchViewState extends State { : translateRulesetToString(selectedRuleset!, context), onPressed: () async { selectedRuleset = await Navigator.of(context).push( - Platform.isIOS ? CupertinoPageRoute( - builder: (context) => ChooseRulesetView( - rulesets: _rulesets, - initialRulesetIndex: selectedRulesetIndex, - ), - ) : MaterialPageRoute( + AdaptivePageRoute( builder: (context) => ChooseRulesetView( rulesets: _rulesets, initialRulesetIndex: selectedRulesetIndex, @@ -202,12 +191,7 @@ class _CreateMatchViewState extends State { : selectedGroup!.name, onPressed: () async { selectedGroup = await Navigator.of(context).push( - Platform.isIOS ? CupertinoPageRoute( - builder: (context) => ChooseGroupView( - groups: groupsList, - initialGroupId: selectedGroupId, - ), - ): MaterialPageRoute( + AdaptivePageRoute( builder: (context) => ChooseGroupView( groups: groupsList, initialGroupId: selectedGroupId, @@ -257,7 +241,7 @@ class _CreateMatchViewState extends State { if (context.mounted) { Navigator.pushReplacement( context, - CupertinoPageRoute( + AdaptivePageRoute( fullscreenDialog: true, builder: (context) => MatchResultView( match: match, diff --git a/lib/presentation/views/main_menu/match_view/match_view.dart b/lib/presentation/views/main_menu/match_view/match_view.dart index 55d35c6..6797ffc 100644 --- a/lib/presentation/views/main_menu/match_view/match_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_view.dart @@ -1,8 +1,7 @@ import 'dart:core' hide Match; -import 'dart:io'; - import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:game_tracker/core/adaptive_page_route.dart'; import 'package:game_tracker/core/constants.dart'; import 'package:game_tracker/core/custom_theme.dart'; import 'package:game_tracker/data/db/database.dart'; @@ -83,7 +82,7 @@ class _MatchViewState extends State { onTap: () async { Navigator.push( context, - CupertinoPageRoute( + AdaptivePageRoute( fullscreenDialog: true, builder: (context) => MatchResultView( match: matches[index], @@ -106,12 +105,9 @@ class _MatchViewState extends State { onPressed: () async { Navigator.push( context, - Platform.isIOS ? CupertinoPageRoute( + AdaptivePageRoute( builder: (context) => - CreateMatchView(onWinnerChanged: loadGames)) : MaterialPageRoute( - builder: (context) => - CreateMatchView(onWinnerChanged: loadGames), - ), + CreateMatchView(onWinnerChanged: loadGames)) ); }, ), -- 2.49.1 From 97ca62b083760766c588f80c766073cebee31c10 Mon Sep 17 00:00:00 2001 From: Mathis Kirchner Date: Sat, 10 Jan 2026 14:52:59 +0100 Subject: [PATCH 6/8] refactor: rename AdaptivePageRoute to adaptivePageRoute for lowerCamelCase --- lib/core/adaptive_page_route.dart | 2 +- .../views/main_menu/custom_navigation_bar.dart | 3 +-- .../views/main_menu/group_view/groups_view.dart | 3 +-- .../match_view/create_match/create_match_view.dart | 9 ++++----- .../views/main_menu/match_view/match_view.dart | 5 ++--- 5 files changed, 9 insertions(+), 13 deletions(-) diff --git a/lib/core/adaptive_page_route.dart b/lib/core/adaptive_page_route.dart index 631f000..ba68557 100644 --- a/lib/core/adaptive_page_route.dart +++ b/lib/core/adaptive_page_route.dart @@ -2,7 +2,7 @@ import 'dart:io'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -Route AdaptivePageRoute({ +Route adaptivePageRoute({ required Widget Function(BuildContext) builder, bool fullscreenDialog = false, }) { diff --git a/lib/presentation/views/main_menu/custom_navigation_bar.dart b/lib/presentation/views/main_menu/custom_navigation_bar.dart index 4850e5a..0693189 100644 --- a/lib/presentation/views/main_menu/custom_navigation_bar.dart +++ b/lib/presentation/views/main_menu/custom_navigation_bar.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:game_tracker/core/adaptive_page_route.dart'; import 'package:game_tracker/core/custom_theme.dart'; @@ -58,7 +57,7 @@ class _CustomNavigationBarState extends State onPressed: () async { await Navigator.push( context, - AdaptivePageRoute(builder: (_) => const SettingsView()), + adaptivePageRoute(builder: (_) => const SettingsView()), ); setState(() { tabKeyCount++; diff --git a/lib/presentation/views/main_menu/group_view/groups_view.dart b/lib/presentation/views/main_menu/group_view/groups_view.dart index ce9f697..239aa23 100644 --- a/lib/presentation/views/main_menu/group_view/groups_view.dart +++ b/lib/presentation/views/main_menu/group_view/groups_view.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:game_tracker/core/adaptive_page_route.dart'; import 'package:game_tracker/core/constants.dart'; @@ -87,7 +86,7 @@ class _GroupsViewState extends State { onPressed: () async { await Navigator.push( context, - AdaptivePageRoute( + adaptivePageRoute( builder: (context) { return const CreateGroupView(); }, 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 77fe6b9..281928e 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 @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:game_tracker/core/adaptive_page_route.dart'; import 'package:game_tracker/core/custom_theme.dart'; @@ -141,7 +140,7 @@ class _CreateMatchViewState extends State { : games[selectedGameIndex].$1, onPressed: () async { selectedGameIndex = await Navigator.of(context).push( - AdaptivePageRoute( + adaptivePageRoute( builder: (context) => ChooseGameView( games: games, initialGameIndex: selectedGameIndex, @@ -169,7 +168,7 @@ class _CreateMatchViewState extends State { : translateRulesetToString(selectedRuleset!, context), onPressed: () async { selectedRuleset = await Navigator.of(context).push( - AdaptivePageRoute( + adaptivePageRoute( builder: (context) => ChooseRulesetView( rulesets: _rulesets, initialRulesetIndex: selectedRulesetIndex, @@ -191,7 +190,7 @@ class _CreateMatchViewState extends State { : selectedGroup!.name, onPressed: () async { selectedGroup = await Navigator.of(context).push( - AdaptivePageRoute( + adaptivePageRoute( builder: (context) => ChooseGroupView( groups: groupsList, initialGroupId: selectedGroupId, @@ -241,7 +240,7 @@ class _CreateMatchViewState extends State { if (context.mounted) { Navigator.pushReplacement( context, - AdaptivePageRoute( + adaptivePageRoute( fullscreenDialog: true, builder: (context) => MatchResultView( match: match, diff --git a/lib/presentation/views/main_menu/match_view/match_view.dart b/lib/presentation/views/main_menu/match_view/match_view.dart index 6797ffc..1781302 100644 --- a/lib/presentation/views/main_menu/match_view/match_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_view.dart @@ -1,5 +1,4 @@ import 'dart:core' hide Match; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:game_tracker/core/adaptive_page_route.dart'; import 'package:game_tracker/core/constants.dart'; @@ -82,7 +81,7 @@ class _MatchViewState extends State { onTap: () async { Navigator.push( context, - AdaptivePageRoute( + adaptivePageRoute( fullscreenDialog: true, builder: (context) => MatchResultView( match: matches[index], @@ -105,7 +104,7 @@ class _MatchViewState extends State { onPressed: () async { Navigator.push( context, - AdaptivePageRoute( + adaptivePageRoute( builder: (context) => CreateMatchView(onWinnerChanged: loadGames)) ); -- 2.49.1 From 54ec865f04298ee0dfa3652dd5ab8f81c95405b7 Mon Sep 17 00:00:00 2001 From: Mathis Kirchner Date: Sat, 10 Jan 2026 15:00:33 +0100 Subject: [PATCH 7/8] fix merge issues --- .../match_view/create_match/create_match_view.dart | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 134906e..9740b92 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 @@ -142,7 +142,7 @@ class _CreateMatchViewState extends State { : games[selectedGameIndex].$1, onPressed: () async { selectedGameIndex = await Navigator.of(context).push( - MaterialPageRoute( + adaptivePageRoute( builder: (context) => ChooseGameView( games: games, initialGameIndex: selectedGameIndex, @@ -170,7 +170,7 @@ class _CreateMatchViewState extends State { : translateRulesetToString(selectedRuleset!, context), onPressed: () async { selectedRuleset = await Navigator.of(context).push( - MaterialPageRoute( + adaptivePageRoute( builder: (context) => ChooseRulesetView( rulesets: _rulesets, initialRulesetIndex: selectedRulesetIndex, @@ -192,7 +192,7 @@ class _CreateMatchViewState extends State { : selectedGroup!.name, onPressed: () async { selectedGroup = await Navigator.of(context).push( - MaterialPageRoute( + adaptivePageRoute( builder: (context) => ChooseGroupView( groups: groupsList, initialGroupId: selectedGroupId, @@ -242,7 +242,7 @@ class _CreateMatchViewState extends State { if (context.mounted) { Navigator.pushReplacement( context, - CupertinoPageRoute( + adaptivePageRoute( fullscreenDialog: true, builder: (context) => MatchResultView( match: match, -- 2.49.1 From 9eb9c0eb7f4493f546cd74b37ec8c2ff8f400e30 Mon Sep 17 00:00:00 2001 From: Mathis Kirchner Date: Sat, 10 Jan 2026 15:02:01 +0100 Subject: [PATCH 8/8] remove unneccessary import --- .../main_menu/match_view/create_match/create_match_view.dart | 1 - 1 file changed, 1 deletion(-) 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 9740b92..b9885a4 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 @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:game_tracker/core/adaptive_page_route.dart'; import 'package:game_tracker/core/custom_theme.dart'; -- 2.49.1