From 436d81baf77780151c6bb6e3763fa06ce51ac1a0 Mon Sep 17 00:00:00 2001 From: AmanRajSinghMourya Date: Wed, 7 Jan 2026 18:58:40 +0530 Subject: [PATCH 01/10] Add new assets --- mobile/apps/auth/assets/2.0x/upload_file.png | Bin 0 -> 6836 bytes mobile/apps/auth/assets/2.0x/warning-grey.png | Bin 0 -> 4987 bytes mobile/apps/auth/assets/3.0x/upload_file.png | Bin 0 -> 10179 bytes mobile/apps/auth/assets/3.0x/warning-grey.png | Bin 0 -> 7743 bytes mobile/apps/auth/assets/upload_file.png | Bin 0 -> 3496 bytes mobile/apps/auth/assets/warning-grey.png | Bin 0 -> 2527 bytes 6 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 mobile/apps/auth/assets/2.0x/upload_file.png create mode 100644 mobile/apps/auth/assets/2.0x/warning-grey.png create mode 100644 mobile/apps/auth/assets/3.0x/upload_file.png create mode 100644 mobile/apps/auth/assets/3.0x/warning-grey.png create mode 100644 mobile/apps/auth/assets/upload_file.png create mode 100644 mobile/apps/auth/assets/warning-grey.png diff --git a/mobile/apps/auth/assets/2.0x/upload_file.png b/mobile/apps/auth/assets/2.0x/upload_file.png new file mode 100644 index 0000000000000000000000000000000000000000..12a92132296b9755da8db9b0f920a87099251f8d GIT binary patch literal 6836 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 FV1k`IG*tiq literal 0 HcmV?d00001 diff --git a/mobile/apps/auth/assets/3.0x/upload_file.png b/mobile/apps/auth/assets/3.0x/upload_file.png new file mode 100644 index 0000000000000000000000000000000000000000..dd49cfd45d0ba772143bbb9f7f2d176990986df1 GIT binary patch literal 10179 zcmb7K^24QRT9EEqmhMKR5$Wy@L3Zg5>F(~Xl@1AM7FkM^MjGMS&+{LA zf0%n;Gk0e0`<$6M^FC(=s;RDkheM5nf`WplqzKkVK|ysxCM>L%$dbw`SS|8}?W*|R z0|f;j{9i(qOXo317NUA+D}YeyW@rzQ8FU*NH5n9?#su6)3k(z#7DFYljIJ;0ajsn~ z?LjX5Ss+TdMR;L2lh{&;&k^*JQL{*xzaeaoi8{FP?ZIp8mG^8*T$P;3tmh}mAaZ?# z*ASo~(ISY5swOZ{Q+SBC0TuIg=h8%VAXat~t&8~p?OM7OH?SdUexjRsPejCkq4mmB zLq%fKMbF2}z@Yc^!z=--m&O&uL+YyjAOuPX!U9D6Pmh+*OcAWNKdQ28B^X$h_d0hb zDsJ8xJqOn@`H7Qb0;TwYmtu4_rdWVR8KU;YuPCyCeJt1i94@#3@#Ud(~(3qQ#9nbanE@>}*h6_MP!(|&$%xnz`4 z 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 SONqR5hoU5>4z2^4hyNctf|yAF literal 0 HcmV?d00001 diff --git a/mobile/apps/auth/assets/3.0x/warning-grey.png b/mobile/apps/auth/assets/3.0x/warning-grey.png new file mode 100644 index 0000000000000000000000000000000000000000..e8b788289c90c01cbe02712775f43afe4298bd39 GIT binary patch literal 7743 zcmW+*c|26z8#jbOm_bI$GRPJNp^|lG7_y73GxoC68#Ty28f*4Q5o2EmA!+P0^wMUm z>5Yug&|*X(^t=83xS#vE=bYy}=RVK(Sx=g+HHM#8oR^J_jo;i1ZO_IALI4jBmyJ;Ch&3Wy0Mip8(Uj8-+>n=8=J(G zIoj9(5Bgd(~=WQ%dt)IG>?=P=u5F_%> z(V^uF9UYx^GNv+D>xClrF<%f3%wksr+sj_Bzp8vW%sw&tNo(uo>OyZ!*!=42(o12h zYim#bB#(a&y6#oGlLtZSa_-IFzaZ4K6kg0T`sDhXh25c+URgtTfTygXdGF)vbD`prnL?7y#l{yA|rfr!K_mQ?WVIJ ziVlp8)fa9y;JJFzOaboc?>8pfzPGoh!u!NiP8cLBiDGRfqg4nSfHFq{y!}azXvy4C z{TLk!**4jL!RZJW{oD=?+PI*!JI4oZS-Pu>i-z*KRO62H7c_~0PTFfl>P7d{t?`nO#^y6i0v}XVMiuSui-5GyXeN`25pr6ay~`fR9`@-Uu9N)g zkjY-hXo9<~nyt

3+<1VJ)yjln6Pqur%hhV_esZk)2NGR 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 p%uk`IRi^hdg002ovPDHLkV1lc_k*5Fv literal 0 HcmV?d00001 From ddcfa7ad1639918748f707b97e8ad36ea308951d Mon Sep 17 00:00:00 2001 From: AmanRajSinghMourya Date: Wed, 7 Jan 2026 18:59:34 +0530 Subject: [PATCH 02/10] rename auth logo and fix naming --- mobile/apps/auth/assets/svg/{auth-logo.svg => app-logo.svg} | 0 mobile/apps/auth/lib/onboarding/view/onboarding_page.dart | 2 +- mobile/apps/auth/lib/ui/home/widgets/auth_logo_widget.dart | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename mobile/apps/auth/assets/svg/{auth-logo.svg => app-logo.svg} (100%) diff --git a/mobile/apps/auth/assets/svg/auth-logo.svg b/mobile/apps/auth/assets/svg/app-logo.svg similarity index 100% rename from mobile/apps/auth/assets/svg/auth-logo.svg rename to mobile/apps/auth/assets/svg/app-logo.svg diff --git a/mobile/apps/auth/lib/onboarding/view/onboarding_page.dart b/mobile/apps/auth/lib/onboarding/view/onboarding_page.dart index ba4442dc560..4ff93f92f19 100644 --- a/mobile/apps/auth/lib/onboarding/view/onboarding_page.dart +++ b/mobile/apps/auth/lib/onboarding/view/onboarding_page.dart @@ -85,7 +85,7 @@ class _OnboardingPageState extends State { backgroundColor: accentColor, appBar: AppBar( leading: const SizedBox(), - title: SvgPicture.asset("assets/svg/auth-logo.svg"), + title: SvgPicture.asset("assets/svg/app-logo.svg"), backgroundColor: accentColor, elevation: 0, scrolledUnderElevation: 0, diff --git a/mobile/apps/auth/lib/ui/home/widgets/auth_logo_widget.dart b/mobile/apps/auth/lib/ui/home/widgets/auth_logo_widget.dart index 922ee95fff3..c128cb87523 100644 --- a/mobile/apps/auth/lib/ui/home/widgets/auth_logo_widget.dart +++ b/mobile/apps/auth/lib/ui/home/widgets/auth_logo_widget.dart @@ -18,7 +18,7 @@ class AuthLogoWidget extends StatelessWidget { final logoColor = color ?? colorScheme.textBase; return SvgPicture.asset( - 'assets/svg/auth-logo.svg', + 'assets/svg/app-logo.svg', height: height, colorFilter: ColorFilter.mode(logoColor, BlendMode.srcIn), ); From a36ba2072b14bff1063fa64b69c2ca370672bb48 Mon Sep 17 00:00:00 2001 From: AmanRajSinghMourya Date: Wed, 7 Jan 2026 18:59:52 +0530 Subject: [PATCH 03/10] minor fix --- mobile/apps/auth/lib/ente_theme_data.dart | 7 ------- mobile/apps/auth/lib/ui/components/auth_qr_dialog.dart | 2 +- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/mobile/apps/auth/lib/ente_theme_data.dart b/mobile/apps/auth/lib/ente_theme_data.dart index 82fbf3d3134..79d3df27697 100644 --- a/mobile/apps/auth/lib/ente_theme_data.dart +++ b/mobile/apps/auth/lib/ente_theme_data.dart @@ -165,13 +165,6 @@ final darkThemeData = ThemeData( ), shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)), ), - inputDecorationTheme: const InputDecorationTheme().copyWith( - focusedBorder: const UnderlineInputBorder( - borderSide: BorderSide( - color: Color.fromARGB(255, 152, 77, 244), - ), - ), - ), checkboxTheme: CheckboxThemeData( side: const BorderSide( color: Colors.grey, diff --git a/mobile/apps/auth/lib/ui/components/auth_qr_dialog.dart b/mobile/apps/auth/lib/ui/components/auth_qr_dialog.dart index 51d6aa785c0..2a975f60ad0 100644 --- a/mobile/apps/auth/lib/ui/components/auth_qr_dialog.dart +++ b/mobile/apps/auth/lib/ui/components/auth_qr_dialog.dart @@ -241,7 +241,7 @@ class _AuthQrDialogState extends State { Align( alignment: Alignment.centerRight, child: SvgPicture.asset( - 'assets/svg/auth-logo.svg', + 'assets/svg/app-logo.svg', height: 16, colorFilter: const ColorFilter.mode( accentColor, From 9efc33531e512734b5c91855df93ca0479c93197 Mon Sep 17 00:00:00 2001 From: AmanRajSinghMourya Date: Wed, 7 Jan 2026 19:01:40 +0530 Subject: [PATCH 04/10] feat: replace locker logo with SVG app logo across multiple pages --- .../accounts/lib/pages/email_entry_page.dart | 10 +++++++++- mobile/packages/accounts/lib/pages/login_page.dart | 10 ++++++++-- .../lib/pages/login_pwd_verification_page.dart | 10 ++++++++-- .../accounts/lib/pages/ott_verification_page.dart | 10 ++++++++-- mobile/packages/accounts/lib/pages/passkey_page.dart | 10 ++++++++-- .../accounts/lib/pages/password_entry_page.dart | 12 +++++++++--- .../accounts/lib/pages/password_reentry_page.dart | 10 ++++++++-- .../accounts/lib/pages/recovery_key_page.dart | 11 ++++++++++- .../packages/accounts/lib/pages/recovery_page.dart | 10 ++++++++-- .../lib/pages/two_factor_authentication_page.dart | 10 ++++++++-- .../accounts/lib/pages/two_factor_recovery_page.dart | 10 ++++++++-- 11 files changed, 92 insertions(+), 21 deletions(-) diff --git a/mobile/packages/accounts/lib/pages/email_entry_page.dart b/mobile/packages/accounts/lib/pages/email_entry_page.dart index 8623107137b..a5268654603 100644 --- a/mobile/packages/accounts/lib/pages/email_entry_page.dart +++ b/mobile/packages/accounts/lib/pages/email_entry_page.dart @@ -8,6 +8,7 @@ import 'package:ente_ui/theme/ente_theme.dart'; import 'package:ente_utils/platform_util.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:password_strength/password_strength.dart'; import "package:styled_text/styled_text.dart"; @@ -86,7 +87,14 @@ class _EmailEntryPageState extends State { scrolledUnderElevation: 0, backgroundColor: colorScheme.backgroundBase, centerTitle: true, - title: Image.asset('assets/locker-logo-blue.png', height: 24), + title: SvgPicture.asset( + 'assets/svg/app-logo.svg', + height: 24, + colorFilter: ColorFilter.mode( + colorScheme.primary700, + BlendMode.srcIn, + ), + ), leading: IconButton( icon: const Icon(Icons.arrow_back), color: colorScheme.primary700, diff --git a/mobile/packages/accounts/lib/pages/login_page.dart b/mobile/packages/accounts/lib/pages/login_page.dart index c657a50117e..3a8e9ff6193 100644 --- a/mobile/packages/accounts/lib/pages/login_page.dart +++ b/mobile/packages/accounts/lib/pages/login_page.dart @@ -7,6 +7,7 @@ import 'package:ente_ui/components/buttons/dynamic_fab.dart'; import 'package:ente_ui/theme/ente_theme.dart'; import 'package:ente_utils/platform_util.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:logging/logging.dart'; import "package:styled_text/tags/styled_text_tag_action.dart"; import "package:styled_text/widgets/styled_text.dart"; @@ -85,11 +86,16 @@ class _LoginPageState extends State { backgroundColor: colorScheme.backgroundBase, appBar: AppBar( elevation: 0, + scrolledUnderElevation: 0, backgroundColor: colorScheme.backgroundBase, centerTitle: true, - title: Image.asset( - 'assets/locker-logo-blue.png', + title: SvgPicture.asset( + 'assets/svg/app-logo.svg', height: 24, + colorFilter: ColorFilter.mode( + colorScheme.primary700, + BlendMode.srcIn, + ), ), leading: IconButton( icon: const Icon(Icons.arrow_back), diff --git a/mobile/packages/accounts/lib/pages/login_pwd_verification_page.dart b/mobile/packages/accounts/lib/pages/login_pwd_verification_page.dart index 6429d56e8a7..49538533e42 100644 --- a/mobile/packages/accounts/lib/pages/login_pwd_verification_page.dart +++ b/mobile/packages/accounts/lib/pages/login_pwd_verification_page.dart @@ -10,6 +10,7 @@ import "package:ente_ui/theme/ente_theme.dart"; import "package:ente_ui/utils/dialog_util.dart"; import "package:ente_utils/email_util.dart"; import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import "package:logging/logging.dart"; // LoginPasswordVerificationPage is a page that allows the user to enter their password to verify their identity. @@ -74,11 +75,16 @@ class _LoginPasswordVerificationPageState backgroundColor: colorScheme.backgroundBase, appBar: AppBar( elevation: 0, + scrolledUnderElevation: 0, backgroundColor: colorScheme.backgroundBase, centerTitle: true, - title: Image.asset( - 'assets/locker-logo-blue.png', + title: SvgPicture.asset( + 'assets/svg/app-logo.svg', height: 24, + colorFilter: ColorFilter.mode( + colorScheme.primary700, + BlendMode.srcIn, + ), ), leading: IconButton( icon: const Icon(Icons.arrow_back), diff --git a/mobile/packages/accounts/lib/pages/ott_verification_page.dart b/mobile/packages/accounts/lib/pages/ott_verification_page.dart index d85e1719d4c..d6fa05bb449 100644 --- a/mobile/packages/accounts/lib/pages/ott_verification_page.dart +++ b/mobile/packages/accounts/lib/pages/ott_verification_page.dart @@ -4,6 +4,7 @@ import 'package:ente_strings/ente_strings.dart'; import 'package:ente_ui/components/buttons/dynamic_fab.dart'; import 'package:ente_ui/theme/ente_theme.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:pinput/pinput.dart'; class OTTVerificationPage extends StatefulWidget { @@ -68,11 +69,16 @@ class _OTTVerificationPageState extends State { backgroundColor: colorScheme.backgroundBase, appBar: AppBar( elevation: 0, + scrolledUnderElevation: 0, backgroundColor: colorScheme.backgroundBase, centerTitle: true, - title: Image.asset( - 'assets/locker-logo-blue.png', + title: SvgPicture.asset( + 'assets/svg/app-logo.svg', height: 24, + colorFilter: ColorFilter.mode( + colorScheme.primary700, + BlendMode.srcIn, + ), ), leading: IconButton( icon: const Icon(Icons.arrow_back), diff --git a/mobile/packages/accounts/lib/pages/passkey_page.dart b/mobile/packages/accounts/lib/pages/passkey_page.dart index 3372ddfced5..76acf7f3931 100644 --- a/mobile/packages/accounts/lib/pages/passkey_page.dart +++ b/mobile/packages/accounts/lib/pages/passkey_page.dart @@ -12,6 +12,7 @@ import 'package:ente_ui/utils/dialog_util.dart'; import 'package:ente_ui/utils/toast_util.dart'; import 'package:ente_utils/navigation_util.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:logging/logging.dart'; import 'package:url_launcher/url_launcher_string.dart'; @@ -148,11 +149,16 @@ class _PasskeyPageState extends State { backgroundColor: colorScheme.backgroundBase, appBar: AppBar( elevation: 0, + scrolledUnderElevation: 0, backgroundColor: colorScheme.backgroundBase, centerTitle: true, - title: Image.asset( - 'assets/locker-logo-blue.png', + title: SvgPicture.asset( + 'assets/svg/app-logo.svg', height: 24, + colorFilter: ColorFilter.mode( + colorScheme.primary700, + BlendMode.srcIn, + ), ), leading: IconButton( icon: const Icon(Icons.arrow_back), diff --git a/mobile/packages/accounts/lib/pages/password_entry_page.dart b/mobile/packages/accounts/lib/pages/password_entry_page.dart index 30f87f7be13..db697491134 100644 --- a/mobile/packages/accounts/lib/pages/password_entry_page.dart +++ b/mobile/packages/accounts/lib/pages/password_entry_page.dart @@ -13,6 +13,7 @@ import 'package:ente_utils/navigation_util.dart'; import 'package:ente_utils/platform_util.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:logging/logging.dart'; import 'package:password_strength/password_strength.dart'; import 'package:styled_text/styled_text.dart'; @@ -113,11 +114,17 @@ class _PasswordEntryPageState extends State { resizeToAvoidBottomInset: isKeypadOpen, backgroundColor: colorScheme.backgroundBase, appBar: AppBar( + elevation: 0, + scrolledUnderElevation: 0, backgroundColor: colorScheme.backgroundBase, centerTitle: true, - title: Image.asset( - 'assets/locker-logo-blue.png', + title: SvgPicture.asset( + 'assets/svg/app-logo.svg', height: 24, + colorFilter: ColorFilter.mode( + colorScheme.primary700, + BlendMode.srcIn, + ), ), leading: widget.mode == PasswordEntryMode.reset ? Container() @@ -128,7 +135,6 @@ class _PasswordEntryPageState extends State { Navigator.of(context).pop(); }, ), - elevation: 0, ), body: _getBody(title), floatingActionButton: DynamicFAB( diff --git a/mobile/packages/accounts/lib/pages/password_reentry_page.dart b/mobile/packages/accounts/lib/pages/password_reentry_page.dart index 11aa46ea80c..12ca4a9875c 100644 --- a/mobile/packages/accounts/lib/pages/password_reentry_page.dart +++ b/mobile/packages/accounts/lib/pages/password_reentry_page.dart @@ -14,6 +14,7 @@ import 'package:ente_ui/theme/ente_theme.dart'; import 'package:ente_ui/utils/dialog_util.dart'; import 'package:ente_utils/email_util.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:logging/logging.dart'; class PasswordReentryPage extends StatefulWidget { @@ -69,11 +70,16 @@ class _PasswordReentryPageState extends State { backgroundColor: colorScheme.backgroundBase, appBar: AppBar( elevation: 0, + scrolledUnderElevation: 0, backgroundColor: colorScheme.backgroundBase, centerTitle: true, - title: Image.asset( - 'assets/locker-logo-blue.png', + title: SvgPicture.asset( + 'assets/svg/app-logo.svg', height: 24, + colorFilter: ColorFilter.mode( + colorScheme.primary700, + BlendMode.srcIn, + ), ), leading: IconButton( icon: const Icon(Icons.arrow_back), diff --git a/mobile/packages/accounts/lib/pages/recovery_key_page.dart b/mobile/packages/accounts/lib/pages/recovery_key_page.dart index 2f69fd8665b..c3d812c30c7 100644 --- a/mobile/packages/accounts/lib/pages/recovery_key_page.dart +++ b/mobile/packages/accounts/lib/pages/recovery_key_page.dart @@ -14,6 +14,7 @@ import 'package:ente_utils/share_utils.dart'; import 'package:file_saver/file_saver.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:share_plus/share_plus.dart'; class RecoveryKeyPage extends StatefulWidget { @@ -88,9 +89,17 @@ class _RecoveryKeyPageState extends State { backgroundColor: colorScheme.backgroundBase, appBar: AppBar( elevation: 0, + scrolledUnderElevation: 0, backgroundColor: colorScheme.backgroundBase, centerTitle: true, - title: Image.asset('assets/locker-logo-blue.png', height: 24), + title: SvgPicture.asset( + 'assets/svg/app-logo.svg', + height: 24, + colorFilter: ColorFilter.mode( + colorScheme.primary700, + BlendMode.srcIn, + ), + ), leading: widget.showAppBar == false ? const SizedBox.shrink() : IconButton( diff --git a/mobile/packages/accounts/lib/pages/recovery_page.dart b/mobile/packages/accounts/lib/pages/recovery_page.dart index 9080441eccb..8533150bbee 100644 --- a/mobile/packages/accounts/lib/pages/recovery_page.dart +++ b/mobile/packages/accounts/lib/pages/recovery_page.dart @@ -10,6 +10,7 @@ import 'package:ente_ui/utils/dialog_util.dart'; import 'package:ente_ui/utils/toast_util.dart'; import "package:ente_utils/email_util.dart"; import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; class RecoveryPage extends StatefulWidget { final BaseConfiguration config; @@ -80,11 +81,16 @@ class _RecoveryPageState extends State { backgroundColor: colorScheme.backgroundBase, appBar: AppBar( elevation: 0, + scrolledUnderElevation: 0, backgroundColor: colorScheme.backgroundBase, centerTitle: true, - title: Image.asset( - 'assets/locker-logo-blue.png', + title: SvgPicture.asset( + 'assets/svg/app-logo.svg', height: 24, + colorFilter: ColorFilter.mode( + colorScheme.primary700, + BlendMode.srcIn, + ), ), leading: IconButton( icon: const Icon(Icons.arrow_back), diff --git a/mobile/packages/accounts/lib/pages/two_factor_authentication_page.dart b/mobile/packages/accounts/lib/pages/two_factor_authentication_page.dart index bb96e0e5aea..a6fbb0f6b36 100644 --- a/mobile/packages/accounts/lib/pages/two_factor_authentication_page.dart +++ b/mobile/packages/accounts/lib/pages/two_factor_authentication_page.dart @@ -5,6 +5,7 @@ import 'package:ente_ui/lifecycle_event_handler.dart'; import 'package:ente_ui/theme/ente_theme.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:pinput/pinput.dart'; class TwoFactorAuthenticationPage extends StatefulWidget { @@ -64,11 +65,16 @@ class _TwoFactorAuthenticationPageState backgroundColor: colorScheme.backgroundBase, appBar: AppBar( elevation: 0, + scrolledUnderElevation: 0, backgroundColor: colorScheme.backgroundBase, centerTitle: true, - title: Image.asset( - 'assets/locker-logo-blue.png', + title: SvgPicture.asset( + 'assets/svg/app-logo.svg', height: 24, + colorFilter: ColorFilter.mode( + colorScheme.primary700, + BlendMode.srcIn, + ), ), leading: IconButton( icon: const Icon(Icons.arrow_back), diff --git a/mobile/packages/accounts/lib/pages/two_factor_recovery_page.dart b/mobile/packages/accounts/lib/pages/two_factor_recovery_page.dart index e6ccdafcf38..15101eecf69 100644 --- a/mobile/packages/accounts/lib/pages/two_factor_recovery_page.dart +++ b/mobile/packages/accounts/lib/pages/two_factor_recovery_page.dart @@ -4,6 +4,7 @@ import 'package:ente_ui/components/buttons/dynamic_fab.dart'; import 'package:ente_ui/theme/ente_theme.dart'; import 'package:ente_utils/email_util.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; class TwoFactorRecoveryPage extends StatefulWidget { final String sessionID; @@ -55,11 +56,16 @@ class _TwoFactorRecoveryPageState extends State { backgroundColor: colorScheme.backgroundBase, appBar: AppBar( elevation: 0, + scrolledUnderElevation: 0, backgroundColor: colorScheme.backgroundBase, centerTitle: true, - title: Image.asset( - 'assets/locker-logo-blue.png', + title: SvgPicture.asset( + 'assets/svg/app-logo.svg', height: 24, + colorFilter: ColorFilter.mode( + colorScheme.primary700, + BlendMode.srcIn, + ), ), leading: IconButton( icon: const Icon(Icons.arrow_back), From 51a0d5cd1f97d62e64c7d115aa1805294645c61f Mon Sep 17 00:00:00 2001 From: AmanRajSinghMourya Date: Wed, 7 Jan 2026 19:14:25 +0530 Subject: [PATCH 05/10] added more icons --- .../apps/auth/assets/2.0x/lock_screen_icon.png | Bin 0 -> 7833 bytes .../apps/auth/assets/3.0x/lock_screen_icon.png | Bin 0 -> 12143 bytes mobile/apps/auth/assets/lock_screen_icon.png | Bin 0 -> 3982 bytes .../locker/assets/2.0x/lock_screen_icon.png | Bin 0 -> 7936 bytes .../locker/assets/3.0x/lock_screen_icon.png | Bin 0 -> 12101 bytes mobile/apps/locker/assets/lock_screen_icon.png | Bin 0 -> 3966 bytes mobile/apps/locker/assets/svg/app-logo.svg | 8 ++++++++ 7 files changed, 8 insertions(+) create mode 100644 mobile/apps/auth/assets/2.0x/lock_screen_icon.png create mode 100644 mobile/apps/auth/assets/3.0x/lock_screen_icon.png create mode 100644 mobile/apps/auth/assets/lock_screen_icon.png create mode 100644 mobile/apps/locker/assets/2.0x/lock_screen_icon.png create mode 100644 mobile/apps/locker/assets/3.0x/lock_screen_icon.png create mode 100644 mobile/apps/locker/assets/lock_screen_icon.png create mode 100644 mobile/apps/locker/assets/svg/app-logo.svg diff --git a/mobile/apps/auth/assets/2.0x/lock_screen_icon.png b/mobile/apps/auth/assets/2.0x/lock_screen_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..89ef88981596baa8b74ac7978e5ffac709d477b1 GIT binary patch literal 7833 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 literal 0 HcmV?d00001 diff --git a/mobile/apps/auth/assets/3.0x/lock_screen_icon.png b/mobile/apps/auth/assets/3.0x/lock_screen_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1497653e9cacc6c258e104c23819ec54adc8f733 GIT binary patch literal 12143 zcmb_iXJ*b^bA_uY$zWrVV<8|QV1JT@s39OAhQJRh3^e%23C0^*_yyBRR@Vgq zftK&T15ql8!x%n@=%OYgflxI@xexz=VkxdDj(|`b^XAC}6#;<_X$q1SXq<9Hz?gA=ByYZ9iRW)`9=;ZF6&G7wv*TbwP1J~H`Vbd4AY#iyh3(LKAP z?4R!x%bGn-S9Z@d?zE^o@bSGA zRid^1Y?iRf7Rj#fB;5pEcE>Wg{QUgH&x1Z~APy(7Eat2Tm35@Xe6m_&05fCQ=nHar zU2JV0oUpaFwET#a*=7M+A?E0M_9{bq5$nTvixg5Xy6-P{AOA=?Qv>i&G!X7OT3W@S z&!{wglsb)*lY#6`muI_oNH^*9CNO~3UPMG49j z^dNT(hen{Pee$_I;YN}q@ME^W+SV_Oro={*PiB4o?tQ8LDVD?(4|Kt*4+FnOXEb7R z-RRa^NF8`=0Z>AZ7aRM1tL?WwfcQuN-9b6rD~ETq5_nb)4oQ$c2Ple&Mq>azra#bI z$XROZ2AdX4dWF*{zxx+|A3({CRsu=#D-yREo*8=R9aZx;Y9Ok6w16sPmM&{Ire1b8 z-skQPiPGr`y6(mP`t|GW!wNcsa@N!K8&cK`d{TY_Ks+ka2-3~byjcZCT?k_5u16X8 zbsU^bi1rEWj1}Bf8}m7;F|~xnHlcF(M)v+!HxAaI#*;21-$*s7Zj(?wLR|L;*mYp6 z8@oyn0?S*&m|Fo0=}Oe3%a`TI%!vWrJ{U^!8RUo- z$a;+qnP)<3V#P-0c%Y#M7zNeE<>hL8SLIy7pCR+;$-6ZR-A3o1A4)I`_LZ~9$>%Is z2vT!b+^^jR27fXXHZ-_N$mL6n;$-=r{maXy*GUaBky79DXO2ffnYF=H-*+5C2a&Hwz3 zZo9YJhzp&z)XTWCX4Zv=1cd)P8SH(g@=#`LBY522t4Y`YjOJC9WbD(ijsI2JfJzK7 zIX3&%)b9%iwAq20=JAN3GbwE6nOj|&CzzS;qL{b$?uA8`fUS0)B$K3u7bdMJB_-tr z!t+$8Oi*PnDKCF~Dfsj=?buM#W>4PeL2bkZ1Et?Rtb+`apeLS4@Q{jylD|1Y22+m_ zW{7#+RvP?+ef=opFSGT6N|5?|h?wiLS5ijzaWG+U>f1XBZ%WeMf7!UBbsOShVoBS7 z!U+it)i+NC+{9lNb8~Y=zRE7Z5cX*`|M~Zva1%vz-j6!=30a~cwbAD-37)~+xw)Vu zdw3YXeQR~=zH)(_AB*HLwZ9_;i&)X_>60C+a(xS+`-1zPkwd=8v1q97L*%P}xmG17 z)~)5(94mN%-RI^=I~cZB!UsAw&dI}18)In{iIF&W85btKq(nwk_0Q~ZmR%vUix%>K zdM~)WYX79X@lB7}UL!AJWNKG|@>kW$QQX3Ow6sa;2E|kUTSW@tr?Vbu$NX|_20($; zql^3~&W}jscg2@ua96h1a-^;oiFrmAbU#WtdjX(8?nC`h-VsG|DPs4!Y$GRflD}D& zu@GC8F9>jmz%nxy>@{@b!x3163O5_^zIOI>bd>qZtqrOAt*V z-jkQj#6bxZGbT!;{}qA9ElJ2zZ{CtyIcMDVq#o?d-Z#tl*f7-J*Vn;@Bg+r`W{Ju@ zvl~Y((XUDsELJBg135YP%adrLbv8hn_6J*Xd15|DSCqYXaZZ{rQ?Bk7tGw|q&Cm%w zg9SPhIT02)c!)M@&w&2w!GYJrdY)Qcr2RnG&NbZQ*Z-cpz8EFZ!}( zQww8lK^4;D7&(%7v=ArlNz5tSRy5akhHp?Ikf*Jfvm!2rRiRjF&j@JZ2!V8yhv&;r zW;t^UcG?AF>6~3uM6TfB-B4)6G!Qq(StD;=yiKyZ?h|n#0f0v*yXL*|)oVRooJ>N} z2*CyK2w($Mr(pf4&m@s~0YsJ-zbAD?OOW1<>aLy;Br3a-Yvum6U}``WO(wOtV1t{F zAhXDbd`NK!LuM+?Z}y6?RX~*gpmkNo)u6Z1Svo{xOh2p9geuHGz{^k)0N%k(ds1h+ir`|Q8-sBJw!N*T)o zbAjI@??gULCA_T;7<>4(%p9bTj_hh8G_z_dNZ2)9W%@ZWZQ);en>88kd`?~=Z^R+l zk*i;I&?jYlvXEUQj|JlzO6LyvQV9eo!qde6!$-z`f8y=?vIlU1V;MuG;kNk6nVxQ{|Xm|8Mce8gv zgtOGR8JilZIYqgP3-K|@2$sL-T|`C;C6xyr(aU;_-j~Bk8j8&y=}4G3s6C!`*l0FO zFBxAz^EP?phlK9-8pt%Clys00gAs~sR}K7@?t;ufpolV-$ejcid_d9nDagZ!*em%H z)~4Llr0~Tucfa{)@ZJma2oT5jEIYcsa5;hT(v+9_J#l={uaKYy!@!O6IcU=fuitn- z3X+0o=ks3^It+GV$j7*jwqLhqx7wZ{;2N_g8#SGQ9%C$lgvwmYQ9p;7lHP4q$_yBy(Y5}?2*D`+H*xYhq&8fQUSN7+`Q;Dv%1W5_FlKvh4HE1zpyo^>4H zv_ZC4kF;rwgBro_&r>YMC5!W0klAw zdBp&ySxrRk5jcHdapThb$l}Xl!$M7ZaLU9g+vw+RwDq;5rcHavc{Aeqaz;Usrw#{= zPWzAM9ok`Z6%YfeW+oia)ZeQyk#MF)WP9Een@gR?#^Gn_)Mod0^jo03_;|loK%#Pfy zdYk9@elFNPT2>;=b*f-<`S2|fGH9&-pdFb`7qfiu?aaCsE<;ybve#k^3p)7?JEdrt z^@g$gWYd(9dQq3Fnkl|T8subVuF9%q=k05OH!Aw@m6T4kBhl76FDqtQ??p#I@VBAL zK(AT3ie#(R+SGWKyBzC6hz}1C@Z%59Z|0)Ith zGXt5G@`LLlF088($}Qk8?7V8nAP?EE#Tjxah>+{)O!IEf0Y>z)`SZwDx2^v*EmSu{U!FJSFQc`1}oI^%>ZNz z;1^agg?%`Z2%x8Jdwk5rqG{Zz;UjOqfOL1!gR!u~t!jo?)lMyZqa; zO@AOjX!%Dlv~E|cM}X3T%dPLv2FGIG9ib%}M5-(LyW3O`Ar48*8{`l~ReYy>lg#FL zXzyls7hDX=RbG`k_TiB`b-m}2kuECo%p2&FxG2(8>36r8QH$8f-+(QgF#t3o@ET*p zPF>0(V&Joo1qIe^lV1_yf8uI>LkE7FWEw2mki;x+yEmevA?JbDzx1@!N#!&E-gtUpgrfL*Do_{7aEDM z?Y1Zl6^cEeZr2H$s~J!|KK5_ac5Vv;L3qEck=v;#IsN3?vvFcNTOauJwh0OmcEfKC zBOP#hM%K>4wFZfj5)PQae6A+RX;c-75B%xPt6gCi)BvPL&S3+vSX3Dq+bzA31bk0rgH6u4;5#KSXk_U0keTK_2A0#S)eu^0C2 zzdcBtiWO%ZTJx@a4nbkP_;K9`Y~;Rd9O|PN1QOM4-AqoxO*Cbs?`56%k>&a8((E~M zpRw2%HeEcO<_cAEnxzkiS`KnvYmFhDk&8ox(RJJF7MsmkF@jMKl8=uvTXxz47 zTs))70-O141Vm8%bnVT_=S zww!9ff%GHP3XBq%ycz(0hX+Evnl>9BRDK;c8Am~)Lh63?y=fA9NzCLJH%kf(kZ14F z4DJ1M+?Qh~Bfdo^`=n~-zI{3p1p zUSL)bJt(eTa*Uhs)c8Ci(kY*k-hDo{z`Sc*UzNRwA#ujxQmS1e7HB8{RXS&%@>J>0 z-j5L2kj@UjsXmVQ)g#71siI%Bw6V?up|&K&@c;F!X@rh6)k2&eO_ZF)!^uwtH^XmhQ>-}j>@?a|1#{QC&GI4wHTPlLbz?axmn z2N2<&D}#fC?qAD}#ZuPdhZt13YX z!fY)$cjP6b(tV6<&GAi#1(xuk^jIRK{6!?Pr;H$edG@x&Mv*IuT;Kb`YSuK&YUeoRY*q=~ZD@>LVwLV?Cf0VD23_MitB;!`mjqDtJIE zm+7c!D4CMfnsJS55GCXffdw*-*VHn*Yt=|H&dfFxx!)O@yptL;WzPu?%iCOwR-)?- zq&U%2MjK}EGw!L#0czvYholBIq$rFHmDw`cqHRe5_mmBU-)3f0e&RdRRwz%B;yNr; zTecY{FN9Zh2}*L90q)CoQ~eenGxPs)yI!+mk_bT<8>g4Y~vFKyRE9_nb#bcHG}*v9#gO=#H*H z-uj8Pw0k{azdsBii1%5lfo>(GsRn^v#8ej8P2Db>V&Blx_7Ljhq&5q#<`IKMs;0S~ zJ7u?-S3hB3HC0wW71>p+#9iuIaRSh`Z0|z*9()fqDU!^q^qN0uO;`S0DBG^9$rGs4 zsNdbhX%_kjYNzoS;&)37f7}s2c4y~Hxkmd*29jVZa#J(>Y%ZkKf6CTD&>TY+L^{rT zL+%@M_G(4_-9@f&o=2;HHD-NUvqRI(tzmk0R$fyx@hgqvIS>sE?Te=;JQoWVwzn@g z?XQq6IqKU9-LI8fqjUZ$ND+|KkNe8*_9X29HF{5 zC_oji<%-ZwGlN=FGz^sQF2X6|SMo6}G|B>qNT-A@C4N+vsHHX<;!6OurUjW=9*Xm- zi&61qEVI>X*xxSS-J*dzd$(7My@vQw@NFr~JM95KgM-bLhQ@L{OSsOgA7{SZr;(DM zKu&yPcYFJ`v5*RHsrw`TJx&!;fd7jgM-T#fj~UO}TVb&j?Gq(bD13Vn7)qpSula(G z+*wl;p%!_bd{Ve)Ry$5asEGa5rZDlkO1oF|(sLei zC)%P2tc0_yMHU3yp%!44vck#mmH(`k6w+elhQ>3Xu(k+DC_jgYpdWxG_i>P zC!_rDfk9MUX_b2U)=GZ$`I#J~T>rV<8<-Ot`Oj>RL(`w>))q|T9|jUcdRm0GstNzb zGPgX4@A<2%Us=vCX=dV*p(8s8Zbs8xiB9pczkTg!5ed{~2MR^$aX5|3JvhAh+;tM3$v(A&3d`TzkT3*a;e0YI^ zLJ;v)53q9Y9Bw{N(%V$=?(`NG3T;PS^v3i`I8(d3rJrOQ@|D;99but!_M|=0Z zN@{?OWp(7^i$l@wrT-*ZFwA3?GP@>YNN9=jZ!iD(-%$@Aep{;&6DEK@qef^*)J* zd{yrk*6rjw?h&k;_Gtq3_kS%r?z{dcjjL-SaA*CZiQo@l9iFQ3*}61KRo6}gtlN6M z2HKH#x79%Y0(<(}t#DJSxUh_C^spMumbzpiZsAC}`R)uga#Gj+E?9)c-!Ywa^l@ zkVhW0Hi&L?{U?hF4f&$*;*2eh8t+X0x!ZPp0M__9DyPO_yC|XRg8lDpiTDZ-7$q)x zS?)`i)U8#5*y(K1{vmB1M0^{1a@ct#%HJ-Il%G33QH4f_7Bc`20;2JU+9uOljX+CE}AGQA|H?ANV)m1LDPh z%q{8M-}r<@A?);DUo?Mv6?|rCEWG%dh{Ar0t|m{8f2wlg#=j@`PgRlZ5{nArHs%+d34g}0_>8Xo08fxy zxkl}#U7nA)VLGx(NTFT^_Vb?yHQEsHDXE|ZX=>PbrC9&a-FMtDt%Vc_RmHp5NF9o+ zDb?z~J!4+}amUjrQfA^pOP-9c`&E6xWm3d7V({@l*RgRU)ki zfVQLg&KCV9R<572{g`HPY3)oO$6ux>^z?CO7Rqgb=kGF96oyXF1Ygf@`X>-jlU- zAO80Ph-k=Q+^)o`EM(CV8+4&VPy&x+E53S}urF4s9@9fqFd}aTKELB(-JFHb-oWRP zeQ-h8XN{o|qBQaC&M@WNAx5B64_Vx04H6c`o`NhXm9K3zQF-#p9924X*~*~HxWS)~ z_;F#z=5bl90=}jJ1<&Ff;%N$wffNG)JltC;B!bHzz75Y|Tc+QAKoX&%$;;*z&CDffbnzuQ`-?6I`$BW_T?FoE~XU0KnrBPzYL2Z>w~&vsK|{;Jou^)Q8Qy@O>NSs-_4$Vwx_p$ zr_B0@oIsC`44Qwbl55)~EtGk0b`Y}fWgptaP#}y{$BB0>ro00)cOF7 zbOlhwO$gTR((YM)7|$@YD2T-avYY9!7k?J!l_wc1jcCKMsJ)#^pVc%l?J7~cDnpnO zbTVWu4R*`pA_bx>1rcXv$r9qndF+el!rKJQoTtgKxNzZUc4)Su6L)qrynoX-RLp&u z21M}6i4^GlVK_0kWk@bEYbCB_^Ae}rx84-%OF`8$Lc<7aoV-cN7QgpL3ah*z zTR13a1vV9}KC_ieAKWzeD|t94VAL9^1k9v)QTV}Bpt1=1Pvha9{h%XWa2m& z#e^$9+Vv^7%($Z10;2|Ulf$Ejs(gy>XOdF-6mQX!C`x6rw(ZUtAW=6Q9)nyF#kolv z>z^w-#=5d#kY><2*@_MLnHhe9&q;J&`=kNKUV7@5RiBdSX=<*mi;Ek%k(?esuJuY2 zo{_5v8K$*ZVwU=qtPY*EF2bUMVfO!($C)eZbDEGh@5}yRzF}!iLvBoEc21{=^!(5G z1aRcgK9S2B?EAq_3SV97tUCFnpDqv$;ILrj zM(rn2F?4zPX2SUZcz}us%Ch#CC?#NoQXG+Jq3hbPf1(rD1F*@1jsW-_CF9iq43IdzvyVIZX6ce{+`Z)-q}5MIq?1VSMm6(TOo)Ds+;QGi?>g!5R~{=^Pmj_9AJB zu(VVgZ|%4ZHYhhBXsCW>+4`YO^#NROA*KZKP(k)xW%R~mRll7u$UW1 z(#9vN*G5wdREp#yJm*<^lGt!Y;uNxqYP%moeRA0$j=!N(hTfZA`(%4iA!)pgiY`BW z_|joo)M-~|wvuHO?Vj=fW?iOBprE^73Q~Z)gd~jq#O)v_#Ea$hKDfv3`#_tS6KE)N zC#d}TMP9+C1pLI`RNa+bgn>_t$_09Aacp$Op$ZprEQp@AUyc}^EOBViysmRn(kxhH zLVJ~$M0Tz!H&_^_s$Cw9n#Qw00ie9}{uk-+{(FICji!IKgSXGV$3L+cJpuN+e32Z| z(!uQi;sYMq>39D0EuB}x{q~uxn^a^Bq&wgtDYpxc3h2N4L>8Ee>!xgz(wRZ|oP3kH z4mbT8dBkq;^hHPiZN~+G6dDQ(ghnA6IvU|?aD}FC_HYXOvSZ%@h(zG~pfrS#fMykr z^+`1_817(TFnkP5@V`?GajeX#e)7utUH>JjBQ^#;KL5Bn48b8KKa(T#==ltfuUE!AYHy%De-KjNr1n}Z8dX71s4JQ;Vv}AFd(CN&zbbN(*0r4Pyhyoy}>x} z&wmV8)XLpTxPhpN}p zsEMpTxJ%VcU^moQ3KE(RuMy+EOCy{uoNTD3{}?*}zeo;>bsOh^N50`M2>PnEp}nf^ zjERn5jNk;r^pGVW300Hvx^Q5Yp7>VN=Qn)=$ISdVU`!S*eiZP|S4H1zGxF?!7sDvo z$R`93zfjIGy;2=@O9U>{4{dXEv;R2jwEd)g9uD(xgiob0c&>McMp>X?hKOee<2v|t z+%B|Az&$2EJ2&UP@(W`k)j;Pjk*^Vg0pZY#KJV|rJJ^FN%&@hlYs_iDoNxk^QFMc4 zD^fbT2jA_%WjcD2QH<#fWuI*-T6k~MMqJmNV0JFqhiC&yRsYIEWDfe9hvO|f=*f?Ywl@KuiA zjQogoHTBOG{;=d%u_0?P1`3kp&PZy#c!ecpiS=-%PvdsbMOY{lnsL4Q+9XxDRXx`} z?F~1k_8&y+>>x@H^NBV86JZe8Ib}JO#l%l(6bn?DiU`2QzAl{?4{d23dsvXk&Wb~4 zrcTmT-+hCRZ;nnn=lDDv5Pf^GTBZy8`gP##po)RPvNgB7j=3K-OTmAPgDgn}NJ8jT z@?t@yk9J$K(ca0)%MU)rIm z2*;KGM%HZIt7$t!1MyDJP{H83uxXV%v77@GBb@3JSB(X3WU2#nI7zhqUDBvkAhGnR zfq+#(bkfLYdiVzcM)YFZpupgayVpa}=Y8efUQ~ErSOsx?`Rrs1+r8QdBTFS{z2!r5 zK%zpb5Iia|l1v_;i_EbW6J`@%dNy&#zK2r{a*(>uA&7|OQDgoWwxyZN1BucQ2ssJ@ zN^m)^&qn(jHHk${*d6!RI64?YJSqy8Jy9DsD3R+h`U)RkwN`?H#??_Q8o_U6L(FDx z*hczHd7~~WIccG^w3JEP=#E#z zKf?Eh`FQxm;L8%@5hO~7BWp?#3pA{yPPnO36@np?#(30syd}yv{M>tHUHz5%lv=qK z7#J880uw)OHiyJp{hw4w{xgBfE!z**zC(rtWxoS= z{bfALA9^8@Z-F25e%pmafL4?FP>sQ0X2$-1$BF-OVuez!x{z@zTHsvP!}ww{1h{7= z)|PusP8Q1hga!pdOHxoL(o2+~&=RXsiOchNG0>TuXT45zQ;i%v4GO(^B)xHUbF+`p zRV+}G9z6(^(WJfSpoNoai2!W;e&)WuPuMQX5=(w)>;I%;tRLU-*@D0qG%jba0SCtv z=RAdlZOHs>2PM+W%UuZKkgZQ~K}O4>{}GM3NLlsyehwLpl=0&8lqjZhnkUZxknqFL zhE1*a1Bf7yu^!EK{yhp7M)p0+#qxm(X*U5Dm4wZTt+U1P(&Qns4^Zevx7cd&%8f}) zzuz^PY@jy<+v zcn2Y7X3D{ERB(_K1~QOUO-xEkDlhZGrVa~%czO2GCV{}~WYBYMI0@|&%}ZAf%X&R> zcML~KjNZ6b1~%bLz2u;D2aw{lz;&1NyC5_jyKp$RDt9QUNORT=(nAU1-c@H0dHE}3n}kW`QGz;oZmUuKpM%)%E}uZ9lh6JFyyhPtJ!8GLA2mv+bPyIpT)<=S2s2` zIs$pI!QTmJ{IRjIU2Hc`{+rosrsU*gN=Zo}!PL{&*GG1{-SbcN2?+^LXcdF12r@D< zUS;aqf&JXvT-vf_3vJ%KSu}nW0wEkZa)fGYYsqG_@xQT)_l4Hh)))P~R#5~Ni^Vu& z#*FvaZXT}sJ$v?W5%m8^e_>wk>1(bFLpdeE2X`R8)}D>BQ6OmX?+$)ZR-`1euwc5Wqud_{z#k8gZr2 z$r_?gI|)=6y4FV@IV$Mv<-=5PPYIEWCZMLK zh76a?^u=o=(15-BFdgoypqH2c(EWQeBY|D5xqY-LKaU<+QmLzH@Mb0x-Nxrx__j>y z5ef?+5ZQs6~M*t^kNT87uU5B^{P!a$b8D@?eGpi*f zC3KSc3*iL*8ZO@90V$HhXEKZ|eB7aQew^3yhw!4p!a{Ba;0Ow|;kx4FK7blSy+l^4 zl{t>bDcqp#&VC~8Lj;KEm`Qk6>D+jE$DI!_A_N3yKPJuK2k5!dPO*%Z|NqrN8V|1# zK?Fpc18BNCzVlR&~a%S5dg)U#Twhx$clCJ+f{8*EP{sZ>~^Z21CgY%hD+4Ze?mK` z^#oed`-&n^3k~7a2quGu#ik~NHYNgNqKWhd7iK5~+!F|Vlgdp(qvA3615M5LsPv(P z2y}!yhds(Y!OYo24Gj(aoM=PYF%-kZL9r;wDusy(+>}Ocr!bqM4Mh=L^%ETklu4aw zVs>BI9DLJg<37VwL{$FL|M3(6N1gk|oe=D&&B-C_yv-z#K$v*xyp!JeU^mYh^bcNl z*yb!C9vL9T9&MquW)bwTFOPVXXS-OA0AV6R6Cna=901w7&S5)cn5?ug)yxKya@dHX z6bV2KhzthOZ1nPpJocOA^WQOAoWy{7g4r`t#?zh17@p_~?~rJ;gI=+gjRBk=wDDo& zf(?}uib*_Kw=$nUB7{8Ma-81zw2Vxhx$J^^X3Bd8MG=T0WdC#wG|*d(+h{}XX8OZ@ z^*$Tl8`K+YV%w_BwN&>-HC5S)>GAAJ-Li9 za3?n%RUa0yae#wi69OLwnBn`l$P)wz9J^2j;0esgQ@<={?^(p(I~@2+9Sacz2n6u( zrV?EQAhYSNE&M$XGV?MO1Uz;S%OC7V^o}$!*Au{_w|5`m z(G4Cu2DDA4!0Ygu=S%iexOnvb?K}+EIv@n|;c(Y0B24x5I)COMrW`|D$tc2De2aGFeN?F96ZrF_^&-UfvtCXh` zWp$Gpvh_j(7sQzs8-07>O)d;1c#zD2FfizYLYiOw;t2{jxvTQ2_Mg>svhxsYd?yzH zD!@^tyn;2j*__M1e<81IMr3hqP!o#y z@q7l$?qQP?I>1vHO&4l;h7_@VxLJ4GW_siO-L!Y_URsfrJzj)zrI+;zeNxvxia8AJ zM3=m(*%IcM>D|BA(bjE6+_%tL$2iF+xDlN~*z)p{O3eu!Ad3RA{MHA{`D?>z3S{sZ z_^bs3YbmZRhk6@R=+YTx|9_C?EkFRi!02z!=@j~X+0F?iXTz}`BEpVdjqBq+K(O== z{zSLTi(G2=CMJT8&fw;8z`w~(%cTX2QpTO$n9maojp);WNwbqFQp^eQv(RI}VbmIB z1mqLIBi;F*tnugRbECi9oDc7Ihn|VM)E&7QRs*c(2?fl8#@YyX&X>$zz~*4Uhfe?p zW#?Tdc#a$VW=%a6t*E4E2j3fAN2k??#f2WLI+E&BEDy^Viu(iFB5C1|0cnr65h^PeM`@)YwD2PYYDI{qS z2CBjT_-dKztR!z@B1A;u1=+Rd_ZQQ%kM7|~8JT_-ccH6qYq#@8M?<%8tOKP{D>03MXe;j!Q)+sU_6$qn*BNwb6$|Qiz)2E>u~`zQ2+%&;wL`P(cfa zbLoyH+UJGDOtR(b%bpW?m$U8bM=X4&9xcPic#+6M8#j z8f~W!hg}5!_`I5aK5siuRAEB~5b#Mq19mQkFaJGJ7;swgf9d_HkN0}(mzGR;PhD#a zr#qOf<2hp|acMH8W@(!dv}Qpe9X+{^Uu~W}iJtuH>qETA_l{d9U&Z*2O2TOS$;L(> zOX=y`>v+v)FicJsX_&h<-I0Gx{AgOIgyB4xm8$nEC|tbr>Arw$Ilj{(xAUha08vk% zBj{=ed&lUF5A+wp+n?-{dVw&^@$@&rSco7%if*l>Pmk5|M$-$t*T1^lk70$ei@Cm|%+#~dyBYJXo9#8K0nvCiRl0mropM9l(k_W8xbeIL81yOPy z0%*L#%stFue1?vm`x6%f;`WtUYkAKg4_)(YBNND(=HqmsQ(CU((TvK7&OlPj6$laN zfGmawmX%XgLlHL-*yQmBUW>rSACQ;|=lp_T5hBnL#O}W%;)A5XZ&-28uR>2y_Hv5^C!kW5jQ& zmjAsv==+#v5ulqp)cjk1QwM;36mSZzgHb)KOW+GsE4!vh1Zt_{Nh0u-T|%)!L(dV) zVPoA}vi1@g3^Bhxfj1cH%~0zJW~cBHy-=5&)0;`r!SJB(*(zA1!gGM5r)z4QoM^qGq3HIXKuJb@rM5IWa=UaeYFz=xCBAQILtj5H!Thydsb zZZ{UvOMly@Cq>5JSm2f(b5I90D_)FgIbPdwv4U1m+Y#B%$5_ zD;x+B=nNWp&6Pqr=B%c=rdnQOfSFB^t|STsA%ZY~?jF6ubRl37$g6G+M%f^UAb0{^ zqykH|%S?wwDg^$~ECMX{u>0<2E`(Q@5U?+}F%Ti5K!`vfL?9p`0s#pT2q*{+{=m|D;apdHrS9NMjTf)W7+ zNrp!H=-}DXu-&{#ppJY)F5H|n)OC)69zfcfbC5ndSHaWB7#&M>uXHL1KbXpf>Slho zT8%@~9y6bMy^oEHz+f;q#>U2Y5u}!)2lxi^0u7jcrS)Dyg3#dW8O~it*3``bIfQbB zGuqkvm}gH=&$eA{y>_E)pbsO1Bt z`vgROQl&r{nC+gxduv34^=vy}$jr=aV>=cS#3V2m+#H}cU=P^tWxayt9zifIaiQVa z<2P)pNAk#^be6?pF~-NouV#WUvKQcS8GE#_Lq@l+AVd={2Y7&<_DY_ z9v*hMlY$d4P>^J2XIq%p2~qHk{mJMS3PCjd&E3yQ5)VIzgn+c*kay$(A2g)<`8luW z4tBxv{l>;d2L(aUA_x`qHi?OeToAID#DU_Z6u6 oI?qu&x$(fz(2z^%DvbpH2g*@^bv`1ThX4Qo07*qoM6N<$f&i(B!2kdN literal 0 HcmV?d00001 diff --git a/mobile/apps/locker/assets/2.0x/lock_screen_icon.png b/mobile/apps/locker/assets/2.0x/lock_screen_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..01d8019b67464ed4b70b0b3ee9590cc74a6a5d11 GIT binary patch literal 7936 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 literal 0 HcmV?d00001 diff --git a/mobile/apps/locker/assets/lock_screen_icon.png b/mobile/apps/locker/assets/lock_screen_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..42fc6e8c58939c50e4ba3b3088ca8b941637d427 GIT binary patch literal 3966 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 + + + + + + + From 67f0b8f6278bf6cf0ca61ebdfc7122ce85c7a0d5 Mon Sep 17 00:00:00 2001 From: AmanRajSinghMourya Date: Wed, 7 Jan 2026 19:14:54 +0530 Subject: [PATCH 06/10] chore: remove unused locker logo and pin assets --- .../locker/assets/2.0x/locker-logo-blue.png | Bin 1876 -> 0 bytes .../locker/assets/3.0x/locker-logo-blue.png | Bin 2675 -> 0 bytes mobile/apps/locker/assets/locker-logo-blue.png | Bin 965 -> 0 bytes .../lock_screen/assets/2.0x/locker_pin.png | Bin 7936 -> 0 bytes .../lock_screen/assets/3.0x/locker_pin.png | Bin 12101 -> 0 bytes .../packages/lock_screen/assets/locker_pin.png | Bin 3966 -> 0 bytes 6 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 mobile/apps/locker/assets/2.0x/locker-logo-blue.png delete mode 100644 mobile/apps/locker/assets/3.0x/locker-logo-blue.png delete mode 100644 mobile/apps/locker/assets/locker-logo-blue.png delete mode 100644 mobile/packages/lock_screen/assets/2.0x/locker_pin.png delete mode 100644 mobile/packages/lock_screen/assets/3.0x/locker_pin.png delete mode 100644 mobile/packages/lock_screen/assets/locker_pin.png diff --git a/mobile/apps/locker/assets/2.0x/locker-logo-blue.png b/mobile/apps/locker/assets/2.0x/locker-logo-blue.png deleted file mode 100644 index 9004f897a399cfd880144a69aae0061f7ba49aa5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1876 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 diff --git a/mobile/apps/locker/assets/locker-logo-blue.png b/mobile/apps/locker/assets/locker-logo-blue.png deleted file mode 100644 index 06b2434ace965b13e82d2c666d247cf2d97b2a35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 965 zcmV;$13LVPP)5S00009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yP*f`bY;GI_WCo&=`?+(GUth*LqJ0$hUM!=3W2PPQf4*4am9 zc)4#zbJowUzFn<$1tPqYk~&oNy*Q;e1~?V?Su}lc67&WL=!j7qo#VmLIUbzQfe4o} zgln()Qw<1utiOrX1i1)um#thtW&Kr@G!aVvgraufh3YyNj}9-^A2qya18%vfdb+;I z*w9n)npS>GtJ%)c!U;)Ql9|e-N~9IYWc7DZ(2!Ar9`G4kavMr~a=pC;{enzn3}5Wy z1sMuI%M|)Ei_ZqS8U&PKOk!=S<;z*uN|XDe2n-{_+yjUtj$EXSV#oO9#`HD@Bt(W| z*rB_Qs9ym^Y;@sYZ#6YD%+%e|wUCIRaNc!SSy zC}A3Vb1sRTz14c1-NMuabGI2t(41(Tj9~ALhk5gY%K6>1f>x_gY2B z8_xsl*vKo|c|6pFmoSRIf79;z+>%{pn`>8~B?EF#Xdl#-krZOz>#?^Ej9Fp+2R?7L z4$di0SevW7btg+QaveV`k=xev7kv4_xPddl$9(5Z!BFHxLrr-Ghwk;j!UoT^U|e1!`vrhnBPzZ<_gS}`jyM`X3}Qot<@pfDBG`X-)XP@CsI=u nz3-I&C^uI>?Fz%B1nlA;!+5lk&*U8I00000NkvXXu0mjfK8MF& diff --git a/mobile/packages/lock_screen/assets/2.0x/locker_pin.png b/mobile/packages/lock_screen/assets/2.0x/locker_pin.png deleted file mode 100644 index 01d8019b67464ed4b70b0b3ee9590cc74a6a5d11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7936 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 diff --git a/mobile/packages/lock_screen/assets/locker_pin.png b/mobile/packages/lock_screen/assets/locker_pin.png deleted file mode 100644 index 42fc6e8c58939c50e4ba3b3088ca8b941637d427..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3966 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 Date: Wed, 7 Jan 2026 19:15:31 +0530 Subject: [PATCH 07/10] refactor: remove LockScreenConfig usage and update UI components to use SVG assets --- .../lock_screen/lib/lock_screen_config.dart | 175 ------------------ .../lib/ui/lock_screen_confirm_password.dart | 33 ++-- .../lib/ui/lock_screen_confirm_pin.dart | 78 ++++---- .../lib/ui/lock_screen_password.dart | 33 ++-- .../lock_screen/lib/ui/lock_screen_pin.dart | 76 ++++---- 5 files changed, 122 insertions(+), 273 deletions(-) delete mode 100644 mobile/packages/lock_screen/lib/lock_screen_config.dart diff --git a/mobile/packages/lock_screen/lib/lock_screen_config.dart b/mobile/packages/lock_screen/lib/lock_screen_config.dart deleted file mode 100644 index 3ac27f61c55..00000000000 --- a/mobile/packages/lock_screen/lib/lock_screen_config.dart +++ /dev/null @@ -1,175 +0,0 @@ -import "package:ente_ui/theme/colors.dart"; -import "package:ente_ui/theme/ente_theme.dart"; -import "package:ente_ui/theme/theme_config.dart"; -import "package:flutter/material.dart"; - -/// Configuration for lock screen UI -class LockScreenConfig { - final Widget titleWidget; - final Widget Function(BuildContext, TextEditingController?) iconBuilder; - final double pinBoxHeight; - final double pinBoxWidth; - final EdgeInsets? pinBoxPadding; - final double pinBoxBorderRadius; - final Color? pinBoxBorderColor; - final Color? pinBoxBackgroundColor; - final bool useDynamicColors; - - const LockScreenConfig({ - required this.titleWidget, - required this.iconBuilder, - required this.pinBoxHeight, - required this.pinBoxWidth, - this.pinBoxPadding, - required this.pinBoxBorderRadius, - this.pinBoxBorderColor, - this.pinBoxBackgroundColor, - this.useDynamicColors = false, - }); - - /// Default configuration for Auth app - static const LockScreenConfig auth = LockScreenConfig( - titleWidget: SizedBox.shrink(), - iconBuilder: _buildAuthIcon, - pinBoxHeight: 48, - pinBoxWidth: 48, - pinBoxPadding: EdgeInsets.only(top: 6.0), - pinBoxBorderRadius: 15.0, - pinBoxBorderColor: Color.fromRGBO(45, 194, 98, 1.0), - pinBoxBackgroundColor: null, - useDynamicColors: false, - ); - - /// Configuration for Locker app - static LockScreenConfig locker = LockScreenConfig( - titleWidget: _buildLockerTitle(), - iconBuilder: _buildLockerIcon, - pinBoxHeight: 48, - pinBoxWidth: 48, - pinBoxPadding: const EdgeInsets.only(top: 6.0), - pinBoxBorderRadius: 15.0, - pinBoxBorderColor: null, - pinBoxBackgroundColor: null, - useDynamicColors: true, - ); - - /// Get current configuration based on AppThemeConfig - static LockScreenConfig get current { - switch (AppThemeConfig.currentApp) { - case EnteApp.locker: - return locker; - case EnteApp.auth: - return auth; - } - } - - /// Check if title should be shown (not a SizedBox.shrink) - bool get showTitle => titleWidget is! SizedBox; - - /// Get border color based on config and theme - Color getBorderColor(EnteColorScheme colorTheme) { - if (useDynamicColors) { - return colorTheme.fillMuted; - } - return pinBoxBorderColor ?? colorTheme.fillMuted; - } - - /// Get background color based on config and theme - Color? getBackgroundColor(EnteColorScheme colorTheme) { - if (useDynamicColors) { - return colorTheme.backgroundBase; - } - return pinBoxBackgroundColor; - } - - // Helper methods for building title - static Widget _buildLockerTitle() { - return Image.asset( - 'assets/locker-logo-blue.png', - height: 24, - ); - } - - // Helper methods for building icons - static Widget _buildAuthIcon( - BuildContext context, - TextEditingController? controller, - ) { - final colorTheme = getEnteColorScheme(context); - return SizedBox( - height: 120, - width: 120, - child: Stack( - alignment: Alignment.center, - children: [ - Container( - width: 82, - height: 82, - decoration: BoxDecoration( - shape: BoxShape.circle, - gradient: LinearGradient( - colors: [ - Colors.grey.shade500.withValues(alpha: 0.2), - Colors.grey.shade50.withValues(alpha: 0.1), - Colors.grey.shade400.withValues(alpha: 0.2), - Colors.grey.shade300.withValues(alpha: 0.4), - ], - begin: Alignment.topCenter, - end: Alignment.bottomCenter, - ), - ), - child: Padding( - padding: const EdgeInsets.all(1.0), - child: Container( - decoration: BoxDecoration( - shape: BoxShape.circle, - color: colorTheme.backgroundBase, - ), - ), - ), - ), - if (controller != null) - SizedBox( - height: 75, - width: 75, - child: ValueListenableBuilder( - valueListenable: controller, - builder: (context, value, child) { - return TweenAnimationBuilder( - tween: Tween( - begin: 0, - end: controller.text.length / 4, - ), - curve: Curves.ease, - duration: const Duration(milliseconds: 250), - builder: (context, value, _) => CircularProgressIndicator( - backgroundColor: colorTheme.fillFaintPressed, - value: value, - color: colorTheme.primary400, - strokeWidth: 1.5, - ), - ); - }, - ), - ), - Icon( - Icons.lock, - color: colorTheme.textBase, - size: 30, - ), - ], - ), - ); - } - - static Widget _buildLockerIcon( - BuildContext context, - TextEditingController? controller, - ) { - return Image.asset( - 'packages/ente_lock_screen/assets/locker_pin.png', - width: 129, - height: 95, - ); - } -} diff --git a/mobile/packages/lock_screen/lib/ui/lock_screen_confirm_password.dart b/mobile/packages/lock_screen/lib/ui/lock_screen_confirm_password.dart index dc8e52b2275..cac0d99965e 100644 --- a/mobile/packages/lock_screen/lib/ui/lock_screen_confirm_password.dart +++ b/mobile/packages/lock_screen/lib/ui/lock_screen_confirm_password.dart @@ -1,4 +1,3 @@ -import "package:ente_lock_screen/lock_screen_config.dart"; import "package:ente_lock_screen/lock_screen_settings.dart"; import "package:ente_strings/ente_strings.dart"; import "package:ente_ui/components/buttons/dynamic_fab.dart"; @@ -6,6 +5,7 @@ import "package:ente_ui/components/text_input_widget.dart"; import "package:ente_ui/theme/ente_theme.dart"; import "package:flutter/material.dart"; import "package:flutter/services.dart"; +import "package:flutter_svg/flutter_svg.dart"; class LockScreenConfirmPassword extends StatefulWidget { const LockScreenConfirmPassword({ @@ -58,7 +58,6 @@ class _LockScreenConfirmPasswordState extends State { Widget build(BuildContext context) { final colorTheme = getEnteColorScheme(context); final textTheme = getEnteTextTheme(context); - final config = LockScreenConfig.current; final isKeypadOpen = MediaQuery.viewInsetsOf(context).bottom > 100; FloatingActionButtonLocation? fabLocation() { @@ -70,11 +69,12 @@ class _LockScreenConfirmPasswordState extends State { } return Scaffold( - backgroundColor: config.getBackgroundColor(colorTheme), + backgroundColor: colorTheme.backgroundBase, resizeToAvoidBottomInset: isKeypadOpen, appBar: AppBar( - backgroundColor: config.getBackgroundColor(colorTheme), + backgroundColor: colorTheme.backgroundBase, elevation: 0, + scrolledUnderElevation: 0, leading: IconButton( onPressed: () { FocusScope.of(context).unfocus(); @@ -85,8 +85,15 @@ class _LockScreenConfirmPasswordState extends State { color: colorTheme.textBase, ), ), - centerTitle: config.showTitle, - title: config.titleWidget, + centerTitle: true, + title: SvgPicture.asset( + 'assets/svg/app-logo.svg', + height: 24, + colorFilter: ColorFilter.mode( + colorTheme.primary700, + BlendMode.srcIn, + ), + ), ), floatingActionButton: ValueListenableBuilder( valueListenable: _isFormValid, @@ -106,15 +113,17 @@ class _LockScreenConfirmPasswordState extends State { body: SingleChildScrollView( child: Center( child: Padding( - padding: EdgeInsets.symmetric( - horizontal: config.showTitle ? 16.0 : 0, - ), + padding: const EdgeInsets.symmetric(horizontal: 16.0), child: Column( crossAxisAlignment: CrossAxisAlignment.center, children: [ - SizedBox(height: config.showTitle ? 40 : 0), - config.iconBuilder(context, null), - SizedBox(height: config.showTitle ? 24 : 0), + const SizedBox(height: 40), + Image.asset( + 'assets/lock_screen_icon.png', + width: 129, + height: 95, + ), + const SizedBox(height: 24), Text( context.strings.reEnterPassword, textAlign: TextAlign.center, diff --git a/mobile/packages/lock_screen/lib/ui/lock_screen_confirm_pin.dart b/mobile/packages/lock_screen/lib/ui/lock_screen_confirm_pin.dart index 3353d45cb2d..258f755db23 100644 --- a/mobile/packages/lock_screen/lib/ui/lock_screen_confirm_pin.dart +++ b/mobile/packages/lock_screen/lib/ui/lock_screen_confirm_pin.dart @@ -1,12 +1,14 @@ import "dart:io"; -import "package:ente_lock_screen/lock_screen_config.dart"; import "package:ente_lock_screen/lock_screen_settings.dart"; import "package:ente_lock_screen/ui/custom_pin_keypad.dart"; import "package:ente_strings/ente_strings.dart"; +import "package:ente_ui/theme/colors.dart"; import "package:ente_ui/theme/ente_theme.dart"; +import "package:ente_ui/theme/text_style.dart"; import "package:flutter/material.dart"; import "package:flutter/services.dart"; +import "package:flutter_svg/flutter_svg.dart"; import "package:pinput/pinput.dart"; class LockScreenConfirmPin extends StatefulWidget { @@ -58,13 +60,13 @@ class _LockScreenConfirmPinState extends State { Widget build(BuildContext context) { final colorTheme = getEnteColorScheme(context); final textTheme = getEnteTextTheme(context); - final config = LockScreenConfig.current; return Scaffold( - backgroundColor: config.getBackgroundColor(colorTheme), + backgroundColor: colorTheme.backgroundBase, appBar: AppBar( - backgroundColor: config.getBackgroundColor(colorTheme), + backgroundColor: colorTheme.backgroundBase, elevation: 0, + scrolledUnderElevation: 0, leading: IconButton( onPressed: () { Navigator.of(context).pop(false); @@ -74,43 +76,54 @@ class _LockScreenConfirmPinState extends State { color: colorTheme.textBase, ), ), - centerTitle: config.showTitle, - title: config.titleWidget, + centerTitle: true, + title: SvgPicture.asset( + 'assets/svg/app-logo.svg', + height: 24, + colorFilter: ColorFilter.mode( + colorTheme.primary700, + BlendMode.srcIn, + ), + ), ), floatingActionButton: isPlatformDesktop ? null : CustomPinKeypad(controller: _confirmPinController), floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked, body: SingleChildScrollView( - child: _getBody(colorTheme, textTheme, config), + child: _getBody(colorTheme, textTheme), ), ); } - Widget _getBody(colorTheme, textTheme, LockScreenConfig config) { + Widget _getBody(EnteColorScheme colorTheme, EnteTextTheme textTheme) { final pinPutDecoration = PinTheme( - height: config.pinBoxHeight, - width: config.pinBoxWidth, - padding: config.pinBoxPadding, + height: 48, + width: 48, + padding: const EdgeInsets.only(top: 6.0), decoration: BoxDecoration( - color: config.getBackgroundColor(colorTheme), + color: colorTheme.backgroundBase, border: Border.all( - color: config.getBorderColor(colorTheme), + color: colorTheme.fillMuted, width: 1, ), - borderRadius: BorderRadius.circular(config.pinBoxBorderRadius), + borderRadius: BorderRadius.circular(15.0), ), ); return Center( child: Padding( - padding: EdgeInsets.symmetric(horizontal: config.showTitle ? 24.0 : 0), + padding: const EdgeInsets.symmetric(horizontal: 24.0), child: Column( crossAxisAlignment: CrossAxisAlignment.center, children: [ - SizedBox(height: config.showTitle ? 40 : 0), - config.iconBuilder(context, _confirmPinController), - SizedBox(height: config.showTitle ? 24 : 0), + const SizedBox(height: 40), + Image.asset( + 'assets/lock_screen_icon.png', + width: 129, + height: 95, + ), + const SizedBox(height: 24), Text( context.strings.reEnterPin, style: textTheme.bodyBold, @@ -125,51 +138,42 @@ class _LockScreenConfirmPinState extends State { defaultPinTheme: pinPutDecoration.copyWith( textStyle: textTheme.h3Bold, decoration: BoxDecoration( - borderRadius: - BorderRadius.circular(config.pinBoxBorderRadius), + borderRadius: BorderRadius.circular(15.0), border: Border.all( - color: config.getBorderColor(colorTheme), + color: colorTheme.fillMuted, ), ), ), submittedPinTheme: pinPutDecoration.copyWith( textStyle: textTheme.h3Bold.copyWith( - color: config.showTitle ? colorTheme.primary700 : null, + color: colorTheme.primary700, ), decoration: BoxDecoration( - borderRadius: - BorderRadius.circular(config.pinBoxBorderRadius), + borderRadius: BorderRadius.circular(15.0), border: Border.all( - color: config.showTitle - ? colorTheme.primary700 - : colorTheme.fillBase, + color: colorTheme.primary700, ), ), ), followingPinTheme: pinPutDecoration.copyWith( decoration: BoxDecoration( - borderRadius: - BorderRadius.circular(config.pinBoxBorderRadius), + borderRadius: BorderRadius.circular(15.0), border: Border.all( - color: config.getBorderColor(colorTheme), + color: colorTheme.fillMuted, ), ), ), focusedPinTheme: pinPutDecoration.copyWith( decoration: BoxDecoration( - borderRadius: - BorderRadius.circular(config.pinBoxBorderRadius), + borderRadius: BorderRadius.circular(15.0), border: Border.all( - color: config.showTitle - ? colorTheme.fillBase - : config.getBorderColor(colorTheme), + color: colorTheme.fillBase, ), ), ), errorPinTheme: pinPutDecoration.copyWith( decoration: BoxDecoration( - borderRadius: - BorderRadius.circular(config.pinBoxBorderRadius), + borderRadius: BorderRadius.circular(15.0), border: Border.all( color: colorTheme.warning400, ), diff --git a/mobile/packages/lock_screen/lib/ui/lock_screen_password.dart b/mobile/packages/lock_screen/lib/ui/lock_screen_password.dart index 06b4a930b9b..f795806b894 100644 --- a/mobile/packages/lock_screen/lib/ui/lock_screen_password.dart +++ b/mobile/packages/lock_screen/lib/ui/lock_screen_password.dart @@ -1,7 +1,6 @@ import "dart:convert"; import "package:ente_crypto_dart/ente_crypto_dart.dart"; -import "package:ente_lock_screen/lock_screen_config.dart"; import "package:ente_lock_screen/lock_screen_settings.dart"; import "package:ente_lock_screen/ui/lock_screen_confirm_password.dart"; import "package:ente_lock_screen/ui/lock_screen_options.dart"; @@ -11,6 +10,7 @@ import "package:ente_ui/components/text_input_widget.dart"; import "package:ente_ui/theme/ente_theme.dart"; import "package:flutter/material.dart"; import "package:flutter/services.dart"; +import "package:flutter_svg/flutter_svg.dart"; /// [isChangingLockScreenSettings] Authentication required for changing lock screen settings. /// Set to true when the app requires the user to authenticate before allowing @@ -69,7 +69,6 @@ class _LockScreenPasswordState extends State { Widget build(BuildContext context) { final colorTheme = getEnteColorScheme(context); final textTheme = getEnteTextTheme(context); - final config = LockScreenConfig.current; final isKeypadOpen = MediaQuery.viewInsetsOf(context).bottom > 100; FloatingActionButtonLocation? fabLocation() { @@ -81,11 +80,12 @@ class _LockScreenPasswordState extends State { } return Scaffold( - backgroundColor: config.getBackgroundColor(colorTheme), + backgroundColor: colorTheme.backgroundBase, resizeToAvoidBottomInset: isKeypadOpen, appBar: AppBar( - backgroundColor: config.getBackgroundColor(colorTheme), + backgroundColor: colorTheme.backgroundBase, elevation: 0, + scrolledUnderElevation: 0, leading: IconButton( onPressed: () { FocusScope.of(context).unfocus(); @@ -96,8 +96,15 @@ class _LockScreenPasswordState extends State { color: colorTheme.textBase, ), ), - centerTitle: config.showTitle, - title: config.titleWidget, + centerTitle: true, + title: SvgPicture.asset( + 'assets/svg/app-logo.svg', + height: 24, + colorFilter: ColorFilter.mode( + colorTheme.primary700, + BlendMode.srcIn, + ), + ), ), floatingActionButton: ValueListenableBuilder( valueListenable: _isFormValid, @@ -117,15 +124,17 @@ class _LockScreenPasswordState extends State { body: SingleChildScrollView( child: Center( child: Padding( - padding: EdgeInsets.symmetric( - horizontal: config.showTitle ? 16.0 : 0, - ), + padding: const EdgeInsets.symmetric(horizontal: 16.0), child: Column( crossAxisAlignment: CrossAxisAlignment.center, children: [ - SizedBox(height: config.showTitle ? 40 : 0), - config.iconBuilder(context, null), - SizedBox(height: config.showTitle ? 24 : 0), + const SizedBox(height: 40), + Image.asset( + 'assets/lock_screen_icon.png', + width: 129, + height: 95, + ), + const SizedBox(height: 24), Text( widget.isChangingLockScreenSettings ? context.strings.enterAppLockPassword diff --git a/mobile/packages/lock_screen/lib/ui/lock_screen_pin.dart b/mobile/packages/lock_screen/lib/ui/lock_screen_pin.dart index ee8b6f7ff6a..c95592ec383 100644 --- a/mobile/packages/lock_screen/lib/ui/lock_screen_pin.dart +++ b/mobile/packages/lock_screen/lib/ui/lock_screen_pin.dart @@ -2,7 +2,6 @@ import "dart:convert"; import "dart:io"; import "package:ente_crypto_dart/ente_crypto_dart.dart"; -import "package:ente_lock_screen/lock_screen_config.dart"; import "package:ente_lock_screen/lock_screen_settings.dart"; import "package:ente_lock_screen/ui/custom_pin_keypad.dart"; import "package:ente_lock_screen/ui/lock_screen_confirm_pin.dart"; @@ -13,6 +12,7 @@ import "package:ente_ui/theme/ente_theme.dart"; import "package:ente_ui/theme/text_style.dart"; import "package:flutter/material.dart"; import "package:flutter/services.dart"; +import "package:flutter_svg/flutter_svg.dart"; import 'package:pinput/pinput.dart'; /// [isChangingLockScreenSettings] Authentication required for changing lock screen settings. @@ -49,6 +49,7 @@ class _LockScreenPinState extends State { bool isPinValid = false; int invalidAttemptsCount = 0; bool isPlatformDesktop = false; + @override void initState() { super.initState(); @@ -125,26 +126,26 @@ class _LockScreenPinState extends State { Widget build(BuildContext context) { final colorTheme = getEnteColorScheme(context); final textTheme = getEnteTextTheme(context); - final config = LockScreenConfig.current; final pinPutDecoration = PinTheme( - height: config.pinBoxHeight, - width: config.pinBoxWidth, - padding: config.pinBoxPadding, + height: 48, + width: 48, + padding: const EdgeInsets.only(top: 6.0), decoration: BoxDecoration( - color: config.getBackgroundColor(colorTheme), + color: colorTheme.backgroundBase, border: Border.all( - color: config.getBorderColor(colorTheme), + color: colorTheme.fillMuted, width: 1, ), - borderRadius: BorderRadius.circular(config.pinBoxBorderRadius), + borderRadius: BorderRadius.circular(15.0), ), ); return Scaffold( - backgroundColor: config.getBackgroundColor(colorTheme), + backgroundColor: colorTheme.backgroundBase, appBar: AppBar( - backgroundColor: config.getBackgroundColor(colorTheme), + backgroundColor: colorTheme.backgroundBase, elevation: 0, + scrolledUnderElevation: 0, leading: IconButton( onPressed: () { Navigator.of(context).pop(false); @@ -154,15 +155,22 @@ class _LockScreenPinState extends State { color: colorTheme.textBase, ), ), - centerTitle: config.showTitle, - title: config.titleWidget, + centerTitle: true, + title: SvgPicture.asset( + 'assets/svg/app-logo.svg', + height: 24, + colorFilter: ColorFilter.mode( + colorTheme.primary700, + BlendMode.srcIn, + ), + ), ), floatingActionButton: isPlatformDesktop ? null : CustomPinKeypad(controller: _pinController), floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked, body: SingleChildScrollView( - child: _getBody(colorTheme, textTheme, pinPutDecoration, config), + child: _getBody(colorTheme, textTheme, pinPutDecoration), ), ); } @@ -171,17 +179,20 @@ class _LockScreenPinState extends State { EnteColorScheme colorTheme, EnteTextTheme textTheme, PinTheme pinPutDecoration, - LockScreenConfig config, ) { return Center( child: Padding( - padding: EdgeInsets.symmetric(horizontal: config.showTitle ? 24.0 : 0), + padding: const EdgeInsets.symmetric(horizontal: 24.0), child: Column( crossAxisAlignment: CrossAxisAlignment.center, children: [ - SizedBox(height: config.showTitle ? 40 : 0), - config.iconBuilder(context, _pinController), - SizedBox(height: config.showTitle ? 24 : 0), + const SizedBox(height: 40), + Image.asset( + 'assets/lock_screen_icon.png', + width: 129, + height: 95, + ), + const SizedBox(height: 24), Text( widget.isChangingLockScreenSettings ? context.strings.enterAppLockPin @@ -198,51 +209,42 @@ class _LockScreenPinState extends State { defaultPinTheme: pinPutDecoration.copyWith( textStyle: textTheme.h3Bold, decoration: BoxDecoration( - borderRadius: - BorderRadius.circular(config.pinBoxBorderRadius), + borderRadius: BorderRadius.circular(15.0), border: Border.all( - color: config.getBorderColor(colorTheme), + color: colorTheme.fillMuted, ), ), ), submittedPinTheme: pinPutDecoration.copyWith( textStyle: textTheme.h3Bold.copyWith( - color: config.showTitle ? colorTheme.primary700 : null, + color: colorTheme.primary700, ), decoration: BoxDecoration( - borderRadius: - BorderRadius.circular(config.pinBoxBorderRadius), + borderRadius: BorderRadius.circular(15.0), border: Border.all( - color: config.showTitle - ? colorTheme.primary700 - : colorTheme.fillBase, + color: colorTheme.primary700, ), ), ), followingPinTheme: pinPutDecoration.copyWith( decoration: BoxDecoration( - borderRadius: - BorderRadius.circular(config.pinBoxBorderRadius), + borderRadius: BorderRadius.circular(15.0), border: Border.all( - color: config.getBorderColor(colorTheme), + color: colorTheme.fillMuted, ), ), ), focusedPinTheme: pinPutDecoration.copyWith( decoration: BoxDecoration( - borderRadius: - BorderRadius.circular(config.pinBoxBorderRadius), + borderRadius: BorderRadius.circular(15.0), border: Border.all( - color: config.showTitle - ? colorTheme.fillBase - : config.getBorderColor(colorTheme), + color: colorTheme.fillBase, ), ), ), errorPinTheme: pinPutDecoration.copyWith( decoration: BoxDecoration( - borderRadius: - BorderRadius.circular(config.pinBoxBorderRadius), + borderRadius: BorderRadius.circular(15.0), border: Border.all( color: colorTheme.warning400, ), From 851f836079f6b514c1862a9d3b860472fbb5c7d5 Mon Sep 17 00:00:00 2001 From: AmanRajSinghMourya Date: Wed, 7 Jan 2026 19:15:39 +0530 Subject: [PATCH 08/10] feat: add flutter_svg dependency to accounts and lock_screen packages --- mobile/packages/accounts/pubspec.lock | 2 +- mobile/packages/accounts/pubspec.yaml | 1 + mobile/packages/lock_screen/pubspec.lock | 2 +- mobile/packages/lock_screen/pubspec.yaml | 3 +-- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mobile/packages/accounts/pubspec.lock b/mobile/packages/accounts/pubspec.lock index f70d27abfcc..77c51c60b40 100644 --- a/mobile/packages/accounts/pubspec.lock +++ b/mobile/packages/accounts/pubspec.lock @@ -501,7 +501,7 @@ packages: source: hosted version: "0.1.3" flutter_svg: - dependency: transitive + dependency: "direct main" description: name: flutter_svg sha256: b9c2ad5872518a27507ab432d1fb97e8813b05f0fc693f9d40fad06d073e0678 diff --git a/mobile/packages/accounts/pubspec.yaml b/mobile/packages/accounts/pubspec.yaml index 0d8f3c8fce8..3ae81ac6a89 100644 --- a/mobile/packages/accounts/pubspec.yaml +++ b/mobile/packages/accounts/pubspec.yaml @@ -36,6 +36,7 @@ dependencies: file_saver: ^0.3.0 flutter: sdk: flutter + flutter_svg: ^2.0.10+1 hugeicons: ^1.1.1 logging: ^1.2.0 password_strength: ^0.2.0 diff --git a/mobile/packages/lock_screen/pubspec.lock b/mobile/packages/lock_screen/pubspec.lock index 11c65010e21..2175439fbbf 100644 --- a/mobile/packages/lock_screen/pubspec.lock +++ b/mobile/packages/lock_screen/pubspec.lock @@ -501,7 +501,7 @@ packages: source: hosted version: "0.1.3" flutter_svg: - dependency: transitive + dependency: "direct main" description: name: flutter_svg sha256: b9c2ad5872518a27507ab432d1fb97e8813b05f0fc693f9d40fad06d073e0678 diff --git a/mobile/packages/lock_screen/pubspec.yaml b/mobile/packages/lock_screen/pubspec.yaml index 1775f0e8beb..eba6176095b 100644 --- a/mobile/packages/lock_screen/pubspec.yaml +++ b/mobile/packages/lock_screen/pubspec.yaml @@ -26,6 +26,7 @@ dependencies: flutter: sdk: flutter flutter_animate: ^4.1.0 + flutter_svg: ^2.0.10+1 flutter_local_authentication: git: url: https://github.com/eaceto/flutter_local_authentication @@ -49,5 +50,3 @@ dev_dependencies: sdk: flutter flutter: - assets: - - assets/ From 16aad0c4c1dc0f66de9aba222ec028db02675ce7 Mon Sep 17 00:00:00 2001 From: AmanRajSinghMourya Date: Wed, 7 Jan 2026 19:22:09 +0530 Subject: [PATCH 09/10] minor fix --- .../accounts/lib/pages/two_factor_authentication_page.dart | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mobile/packages/accounts/lib/pages/two_factor_authentication_page.dart b/mobile/packages/accounts/lib/pages/two_factor_authentication_page.dart index a6fbb0f6b36..2c8e18e2879 100644 --- a/mobile/packages/accounts/lib/pages/two_factor_authentication_page.dart +++ b/mobile/packages/accounts/lib/pages/two_factor_authentication_page.dart @@ -149,8 +149,9 @@ class _TwoFactorAuthenticationPageState children: [ const SizedBox(height: 24), Image.asset( - 'packages/ente_lock_screen/assets/locker_pin.png', - height: 120, + 'assets/lock_screen_icon.png', + width: 129, + height: 95, ), const SizedBox(height: 24), Text( From d0fdd4411e28bd8ee3f979fb58eb7fbdeb27f717 Mon Sep 17 00:00:00 2001 From: AmanRajSinghMourya Date: Thu, 8 Jan 2026 11:32:41 +0530 Subject: [PATCH 10/10] chore: update version to 4.4.16+672 in pubspec.yaml --- mobile/apps/auth/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mobile/apps/auth/pubspec.yaml b/mobile/apps/auth/pubspec.yaml index d26934cf8cd..0c173447292 100644 --- a/mobile/apps/auth/pubspec.yaml +++ b/mobile/apps/auth/pubspec.yaml @@ -1,6 +1,6 @@ name: ente_auth description: ente two-factor authenticator -version: 4.4.16+600 +version: 4.4.16+672 publish_to: none environment: