diff --git a/lib/main.dart b/lib/main.dart index 0cd28cb..16433b5 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -231,18 +231,21 @@ class _LoginPageState extends State { var odsouhlasil = await storage.read(key: "oc_souhlas"); if (!mounted) return; if (odsouhlasil == null || odsouhlasil != "ano") { - Navigator.pushReplacement( + Navigator.pushAndRemoveUntil( context, MaterialPageRoute( - builder: (c) => WelcomeScreen( - canteen: canteen, n: flutterLocalNotificationsPlugin))); + builder: (c) => WelcomeScreen( + canteen: canteen, n: flutterLocalNotificationsPlugin), + ), + (route) => false); } else { - Navigator.pushReplacement( - context, - MaterialPageRoute( + Navigator.pushAndRemoveUntil( + context, + MaterialPageRoute( builder: (context) => JidelnicekPage( - canteen: canteen, n: flutterLocalNotificationsPlugin)), - ); + canteen: canteen, n: flutterLocalNotificationsPlugin), + ), + (route) => false); } } on PlatformException { if (!mounted) return; @@ -381,20 +384,21 @@ class _LoginPageState extends State { await storage.read(key: "oc_souhlas"); if (!mounted) return; if (odsouhlasil == null || odsouhlasil != "ano") { - Navigator.pushReplacement( + Navigator.pushAndRemoveUntil( context, MaterialPageRoute( builder: (c) => WelcomeScreen( canteen: canteen, - n: flutterLocalNotificationsPlugin))); + n: flutterLocalNotificationsPlugin)), + (route) => false); } else { - Navigator.pushReplacement( - context, - MaterialPageRoute( - builder: (context) => JidelnicekPage( - canteen: canteen, - n: flutterLocalNotificationsPlugin)), - ); + Navigator.pushAndRemoveUntil( + context, + MaterialPageRoute( + builder: (context) => JidelnicekPage( + canteen: canteen, + n: flutterLocalNotificationsPlugin)), + (route) => false); } } on PlatformException { if (!mounted) return; @@ -445,10 +449,11 @@ class _LoginPageState extends State { den: DateTime.parse(j["den"]))); } if (!mounted) return; - Navigator.pushReplacement( + Navigator.pushAndRemoveUntil( context, MaterialPageRoute( - builder: ((context) => OfflineJidelnicek(jidla: jidla)))); + builder: ((context) => OfflineJidelnicek(jidla: jidla))), + (route) => false); } } } diff --git a/lib/okna/jidelnicek.dart b/lib/okna/jidelnicek.dart index f79880b..b7ec276 100644 --- a/lib/okna/jidelnicek.dart +++ b/lib/okna/jidelnicek.dart @@ -330,8 +330,10 @@ class _JidelnicekPageState extends State { onPressed: () { const storage = FlutterSecureStorage(); storage.deleteAll(); - Navigator.pushReplacement(context, - MaterialPageRoute(builder: (c) => const LoginPage())); + Navigator.pushAndRemoveUntil( + context, + MaterialPageRoute(builder: (c) => const LoginPage()), + (route) => false); }, child: Text(Languages.of(context)!.yes)), TextButton( diff --git a/lib/okna/welcome.dart b/lib/okna/welcome.dart index bae4aaa..676e023 100644 --- a/lib/okna/welcome.dart +++ b/lib/okna/welcome.dart @@ -70,9 +70,11 @@ class _WelcomeScreenState extends State { const storage = FlutterSecureStorage(); await storage.write(key: "oc_souhlas", value: "ano"); if (!mounted) return; - Navigator.of(context).pushReplacement(MaterialPageRoute( - builder: (c) => - JidelnicekPage(canteen: widget.canteen, n: widget.n))); + Navigator.of(context).pushAndRemoveUntil( + MaterialPageRoute( + builder: (c) => + JidelnicekPage(canteen: widget.canteen, n: widget.n)), + (route) => false); }, ), );