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 <tuxsudo@tux.pizza>
This commit is contained in:
David Adegoke 2024-12-13 20:44:39 +01:00 committed by GitHub
parent 489a409bea
commit e21cf7113d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 21 additions and 14 deletions

View file

@ -1,6 +1,5 @@
import 'package:cake_wallet/themes/extensions/cake_text_theme.dart'; 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/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/themes/theme_base.dart';
import 'package:cake_wallet/src/widgets/alert_with_two_actions.dart'; import 'package:cake_wallet/src/widgets/alert_with_two_actions.dart';
import 'package:cake_wallet/utils/clipboard_util.dart'; import 'package:cake_wallet/utils/clipboard_util.dart';
@ -139,8 +138,8 @@ class WalletSeedPage extends BasePage {
fontSize: 12, fontSize: 12,
fontWeight: FontWeight.w800, fontWeight: FontWeight.w800,
color: currentTheme.type == ThemeType.dark color: currentTheme.type == ThemeType.dark
? Colors.white.withOpacity(0.75) ? Colors.white.withOpacity(0.75)
: Colors.white.withOpacity(0.85), : Colors.white.withOpacity(0.85),
), ),
), ),
), ),
@ -188,19 +187,24 @@ class WalletSeedPage extends BasePage {
numberCount.toString(), numberCount.toString(),
textAlign: TextAlign.right, textAlign: TextAlign.right,
style: TextStyle( style: TextStyle(
fontSize: 14, fontSize: 14,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
color: Theme.of(context).extension<CakeTextTheme>()!.buttonTextColor.withOpacity(0.5) color: Theme.of(context)
), .extension<CakeTextTheme>()!
.buttonTextColor
.withOpacity(0.5)),
), ),
), ),
const SizedBox(width: 8), const SizedBox(width: 8),
Text( Expanded(
'${item[0].toUpperCase()}${item.substring(1)}', child: Text(
style: TextStyle( '${item[0].toUpperCase()}${item.substring(1)}',
fontSize: 14, style: TextStyle(
fontWeight: FontWeight.w700, fontSize: 14,
color: Theme.of(context).extension<CakeTextTheme>()!.buttonTextColor fontWeight: FontWeight.w700,
color: Theme.of(context)
.extension<CakeTextTheme>()!
.buttonTextColor),
), ),
), ),
], ],

View file

@ -16,7 +16,10 @@ abstract class WalletSeedViewModelBase with Store {
@observable @observable
String seed; String seed;
List<String> 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<String> get seedSplit => seed.split(RegExp(r'\s+'));
int get columnCount => seedSplit.length <= 16 ? 2 : 3; int get columnCount => seedSplit.length <= 16 ? 2 : 3;
} }