mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-21 06:18:42 +02:00
Cw 903 new screens for new shared seed wallets (#1967)
* Update seed verification flow for group wallets * Update res/values/strings_en.arb [skip ci] * Update res/values/strings_ko.arb [skip ci] --------- Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
This commit is contained in:
@@ -101,8 +101,14 @@ class _WalletNameFormState extends State<WalletNameForm> {
|
||||
void initState() {
|
||||
_stateReaction ??= reaction((_) => _walletNewVM.state, (ExecutionState state) async {
|
||||
if (state is ExecutedSuccessfullyState) {
|
||||
Navigator.of(navigatorKey.currentContext ?? context)
|
||||
.pushNamed(Routes.preSeedPage, arguments: _walletNewVM.seedPhraseWordsLength);
|
||||
if (widget.isChildWallet) {
|
||||
Navigator.of(navigatorKey.currentContext ?? context)
|
||||
.pushNamed(Routes.walletGroupExistingSeedDescriptionPage,
|
||||
arguments: _walletNewVM.seedPhraseWordsLength);
|
||||
} else {
|
||||
Navigator.of(navigatorKey.currentContext ?? context)
|
||||
.pushNamed(Routes.preSeedPage, arguments: _walletNewVM.seedPhraseWordsLength);
|
||||
}
|
||||
}
|
||||
|
||||
if (state is FailureState) {
|
||||
|
||||
@@ -7,6 +7,7 @@ import 'package:cake_wallet/themes/theme_base.dart';
|
||||
import 'package:cake_wallet/generated/i18n.dart';
|
||||
import 'package:cake_wallet/routes.dart';
|
||||
import 'package:cake_wallet/src/screens/base_page.dart';
|
||||
import 'package:cake_wallet/themes/extensions/theme_type_images.dart';
|
||||
|
||||
class WalletGroupDescriptionPage extends BasePage {
|
||||
WalletGroupDescriptionPage({required this.selectedWalletType});
|
||||
@@ -25,10 +26,7 @@ class WalletGroupDescriptionPage extends BasePage {
|
||||
padding: EdgeInsets.all(24),
|
||||
child: Column(
|
||||
children: [
|
||||
Image.asset(
|
||||
_getThemedWalletGroupImage(currentTheme.type),
|
||||
height: 200,
|
||||
),
|
||||
Image.asset(currentTheme.type.walletGroupImage, height: 200),
|
||||
SizedBox(height: 32),
|
||||
Expanded(
|
||||
child: Text.rich(
|
||||
@@ -91,19 +89,4 @@ class WalletGroupDescriptionPage extends BasePage {
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
String _getThemedWalletGroupImage(ThemeType theme) {
|
||||
final lightImage = 'assets/images/wallet_group_light.png';
|
||||
final darkImage = 'assets/images/wallet_group_dark.png';
|
||||
final brightImage = 'assets/images/wallet_group_bright.png';
|
||||
|
||||
switch (theme) {
|
||||
case ThemeType.bright:
|
||||
return brightImage;
|
||||
case ThemeType.light:
|
||||
return lightImage;
|
||||
default:
|
||||
return darkImage;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,12 +4,13 @@ import 'package:cake_wallet/routes.dart';
|
||||
import 'package:cake_wallet/src/screens/base_page.dart';
|
||||
import 'package:cake_wallet/src/screens/new_wallet/widgets/grouped_wallet_expansion_tile.dart';
|
||||
import 'package:cake_wallet/src/widgets/primary_button.dart';
|
||||
import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
|
||||
import 'package:cake_wallet/themes/extensions/theme_type_images.dart';
|
||||
import 'package:cake_wallet/themes/theme_base.dart';
|
||||
import 'package:cake_wallet/view_model/wallet_groups_display_view_model.dart';
|
||||
import 'package:cw_core/wallet_type.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_mobx/flutter_mobx.dart';
|
||||
import '../../../themes/extensions/cake_text_theme.dart';
|
||||
|
||||
class WalletGroupsDisplayPage extends BasePage {
|
||||
WalletGroupsDisplayPage(this.walletGroupsDisplayViewModel);
|
||||
@@ -165,10 +166,7 @@ class WalletGroupEmptyStateWidget extends StatelessWidget {
|
||||
Widget build(BuildContext context) {
|
||||
return Column(
|
||||
children: [
|
||||
Image.asset(
|
||||
_getThemedWalletGroupImage(currentTheme.type),
|
||||
scale: 1.8,
|
||||
),
|
||||
Image.asset(currentTheme.type.walletGroupImage, scale: 1.8),
|
||||
SizedBox(height: 32),
|
||||
Text.rich(
|
||||
TextSpan(
|
||||
@@ -194,19 +192,4 @@ class WalletGroupEmptyStateWidget extends StatelessWidget {
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
String _getThemedWalletGroupImage(ThemeType theme) {
|
||||
final lightImage = 'assets/images/wallet_group_light.png';
|
||||
final darkImage = 'assets/images/wallet_group_dark.png';
|
||||
final brightImage = 'assets/images/wallet_group_bright.png';
|
||||
|
||||
switch (theme) {
|
||||
case ThemeType.bright:
|
||||
return brightImage;
|
||||
case ThemeType.light:
|
||||
return lightImage;
|
||||
default:
|
||||
return darkImage;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
import 'package:cake_wallet/generated/i18n.dart';
|
||||
import 'package:cake_wallet/routes.dart';
|
||||
import 'package:cake_wallet/src/screens/base_page.dart';
|
||||
import 'package:cake_wallet/src/widgets/primary_button.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/theme_type_images.dart';
|
||||
import 'package:cake_wallet/themes/theme_base.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class WalletGroupExistingSeedDescriptionPage extends BasePage {
|
||||
WalletGroupExistingSeedDescriptionPage({required this.seedPhraseWordsLength});
|
||||
|
||||
final int seedPhraseWordsLength;
|
||||
|
||||
@override
|
||||
String get title => S.current.wallet_group;
|
||||
|
||||
@override
|
||||
Widget body(BuildContext context) {
|
||||
final textStyle = TextStyle(
|
||||
fontSize: 16,
|
||||
fontWeight: FontWeight.w400,
|
||||
color: Theme.of(context).extension<CakeTextTheme>()!.secondaryTextColor,
|
||||
);
|
||||
|
||||
return Container(
|
||||
alignment: Alignment.center,
|
||||
padding: EdgeInsets.all(24),
|
||||
child: Column(
|
||||
children: [
|
||||
Image.asset(currentTheme.type.walletGroupImage, height: 200),
|
||||
SizedBox(height: 32),
|
||||
Expanded(
|
||||
child: RichText(
|
||||
text: TextSpan(
|
||||
children: [
|
||||
TextSpan(
|
||||
text: S.current.wallet_group_description_existing_seed + '\n\n',
|
||||
style: textStyle),
|
||||
TextSpan(
|
||||
text: S.current.wallet_group_description_open_wallet + '\n\n',
|
||||
style: textStyle),
|
||||
TextSpan(
|
||||
text: S.current.wallet_group_description_view_seed + '\n', style: textStyle),
|
||||
TextSpan(
|
||||
text: S.current.seed_display_path,
|
||||
style: TextStyle(
|
||||
fontSize: 16,
|
||||
fontWeight: FontWeight.w800,
|
||||
color: Theme.of(context).extension<CakeTextTheme>()!.secondaryTextColor,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
textAlign: TextAlign.center,
|
||||
),
|
||||
),
|
||||
Column(
|
||||
children: <Widget>[
|
||||
Row(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: <Widget>[
|
||||
Flexible(
|
||||
child: Container(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 8.0),
|
||||
child: PrimaryButton(
|
||||
key: ValueKey(
|
||||
'wallet_group_existing_seed_description_page_verify_seed_button_key'),
|
||||
onPressed: () => Navigator.pushNamed(context, Routes.preSeedPage,
|
||||
arguments: seedPhraseWordsLength),
|
||||
text: S.current.verify_seed,
|
||||
color: Theme.of(context).cardColor,
|
||||
textColor: currentTheme.type == ThemeType.dark
|
||||
? Theme.of(context).extension<DashboardPageTheme>()!.textColor
|
||||
: Theme.of(context).extension<CakeTextTheme>()!.buttonTextColor,
|
||||
),
|
||||
),
|
||||
),
|
||||
Flexible(
|
||||
child: Container(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 8.0),
|
||||
child: Builder(
|
||||
builder: (context) => PrimaryButton(
|
||||
key: ValueKey(
|
||||
'wallet_group_existing_seed_description_page_open_wallet_button_key'),
|
||||
onPressed: () {
|
||||
Navigator.of(context).popUntil((route) => route.isFirst);
|
||||
},
|
||||
text: S.current.open_wallet,
|
||||
color: Theme.of(context).primaryColor,
|
||||
textColor: Colors.white,
|
||||
),
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
SizedBox(height: 12),
|
||||
],
|
||||
)
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user