From 2052dfd60a9a92bf2add0857ed86d24e8c5ade2e Mon Sep 17 00:00:00 2001 From: b3ni15 Date: Fri, 27 Feb 2026 11:57:42 +0100 Subject: [PATCH] Implement demo mode activation via tap gesture in login screen --- .../lib/screens/login/login_screen.dart | 41 ++++++++----------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/refilc_mobile_ui/lib/screens/login/login_screen.dart b/refilc_mobile_ui/lib/screens/login/login_screen.dart index 0a0b3a5a..46b3d29c 100644 --- a/refilc_mobile_ui/lib/screens/login/login_screen.dart +++ b/refilc_mobile_ui/lib/screens/login/login_screen.dart @@ -52,6 +52,7 @@ class LoginScreenState extends State { LoginState _loginState = LoginState.normal; bool showBack = false; + int _demoTapCount = 0; // Scaffold Gradient background // final LinearGradient _backgroundGradient = const LinearGradient( @@ -127,9 +128,23 @@ class LoginScreenState extends State { padding: EdgeInsets.only(left: 24, top: paddingTop), child: Row( children: [ - Image.asset( - 'assets/icons/ic_rounded.png', - width: 30.0, + GestureDetector( + onTap: () { + setState(() => _demoTapCount++); + if (_demoTapCount >= 10) { + _demoTapCount = 0; + final userProvider = Provider.of(context, listen: false); + final demoUser = User.demo(); + userProvider.addUser(demoUser); + userProvider.setUser(demoUser.id); + setSystemChrome(context); + Navigator.of(context).pushReplacementNamed('login_to_navigation'); + } + }, + child: Image.asset( + 'assets/icons/ic_rounded.png', + width: 30.0, + ), ), const SizedBox(width: 8), Text( @@ -363,26 +378,6 @@ class LoginScreenState extends State { ), ), const SizedBox(height: 19), - // demo mode button - GestureDetector( - onTap: () { - final userProvider = Provider.of(context, listen: false); - final demoUser = User.demo(); - userProvider.addUser(demoUser); - userProvider.setUser(demoUser.id); - setSystemChrome(context); - Navigator.of(context).pushReplacementNamed('login_to_navigation'); - }, - child: Text( - 'Demo mód', - style: TextStyle( - color: AppColors.of(context).loginSecondary, - fontWeight: FontWeight.w500, - fontSize: 14.0, - ), - ), - ), - const SizedBox(height: 12), // privacy policy GestureDetector( onTap: () => PrivacyView.show(context),