From e21cf7113d613c77287d59f5068fb9f80e2d7cf4 Mon Sep 17 00:00:00 2001 From: David Adegoke <64401859+Blazebrain@users.noreply.github.com> Date: Fri, 13 Dec 2024 20:44:39 +0100 Subject: [PATCH] CW-703: Better Seed UI/UX - Fix for Japanese PolySeeds (#1875) * feat: Switch UI for seeds display * feat: Add localization for disclaimer text * fix: Modify color for warning on seeds screen * Fix: Adjust UI styling for seed page * chore: Revert podfile.lock * Fix column colors * Fix more colors * Fix more colors and update strings * fix: Error extracting seed words in Japanese because of spacing type used --------- Co-authored-by: tuxpizza --- lib/src/screens/seed/wallet_seed_page.dart | 30 ++++++++++++---------- lib/view_model/wallet_seed_view_model.dart | 5 +++- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/lib/src/screens/seed/wallet_seed_page.dart b/lib/src/screens/seed/wallet_seed_page.dart index fe532e7fb..b1ab7471b 100644 --- a/lib/src/screens/seed/wallet_seed_page.dart +++ b/lib/src/screens/seed/wallet_seed_page.dart @@ -1,6 +1,5 @@ import 'package:cake_wallet/themes/extensions/cake_text_theme.dart'; import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart'; -import 'package:cake_wallet/themes/extensions/pin_code_theme.dart'; import 'package:cake_wallet/themes/theme_base.dart'; import 'package:cake_wallet/src/widgets/alert_with_two_actions.dart'; import 'package:cake_wallet/utils/clipboard_util.dart'; @@ -139,8 +138,8 @@ class WalletSeedPage extends BasePage { fontSize: 12, fontWeight: FontWeight.w800, color: currentTheme.type == ThemeType.dark - ? Colors.white.withOpacity(0.75) - : Colors.white.withOpacity(0.85), + ? Colors.white.withOpacity(0.75) + : Colors.white.withOpacity(0.85), ), ), ), @@ -188,19 +187,24 @@ class WalletSeedPage extends BasePage { numberCount.toString(), textAlign: TextAlign.right, style: TextStyle( - fontSize: 14, - fontWeight: FontWeight.w700, - color: Theme.of(context).extension()!.buttonTextColor.withOpacity(0.5) - ), + fontSize: 14, + fontWeight: FontWeight.w700, + color: Theme.of(context) + .extension()! + .buttonTextColor + .withOpacity(0.5)), ), ), const SizedBox(width: 8), - Text( - '${item[0].toUpperCase()}${item.substring(1)}', - style: TextStyle( - fontSize: 14, - fontWeight: FontWeight.w700, - color: Theme.of(context).extension()!.buttonTextColor + Expanded( + child: Text( + '${item[0].toUpperCase()}${item.substring(1)}', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w700, + color: Theme.of(context) + .extension()! + .buttonTextColor), ), ), ], diff --git a/lib/view_model/wallet_seed_view_model.dart b/lib/view_model/wallet_seed_view_model.dart index c13dba716..be348fd09 100644 --- a/lib/view_model/wallet_seed_view_model.dart +++ b/lib/view_model/wallet_seed_view_model.dart @@ -16,7 +16,10 @@ abstract class WalletSeedViewModelBase with Store { @observable String seed; - List get seedSplit => seed.split(' '); + /// The Regex split the words based on any whitespace character. + /// + /// Either standard ASCII space (U+0020) or the full-width space character (U+3000) used by the Japanese. + List get seedSplit => seed.split(RegExp(r'\s+')); int get columnCount => seedSplit.length <= 16 ? 2 : 3; }