mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-26 06:08:40 +01:00
feat: redesign the pre-seed and seed verification screens
This commit is contained in:
@@ -79,7 +79,7 @@ class WalletGroupExistingSeedDescriptionPage extends BasePage {
|
||||
key: ValueKey(
|
||||
'wallet_group_existing_seed_description_page_verify_seed_button_key'),
|
||||
onPressed: () => Navigator.pushNamed(context, Routes.preSeedPage),
|
||||
text: S.current.verify_seed,
|
||||
text: S.current.verify_phrase,
|
||||
color: Theme.of(context).colorScheme.surfaceContainer,
|
||||
textColor: Theme.of(context).colorScheme.onSecondaryContainer,
|
||||
),
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
import 'package:cake_wallet/generated/i18n.dart';
|
||||
import 'package:cake_wallet/routes.dart';
|
||||
import 'package:cake_wallet/src/screens/Info_page.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
|
||||
class PreSeedPage extends InfoPage {
|
||||
PreSeedPage()
|
||||
: super(
|
||||
imageLightPath: 'assets/images/seed_warning_light.svg',
|
||||
imageDarkPath: 'assets/images/seed_warning_dark.svg',
|
||||
);
|
||||
|
||||
@override
|
||||
bool get onWillPop => false;
|
||||
|
||||
@override
|
||||
String get pageTitle => S.current.pre_seed_title;
|
||||
|
||||
@override
|
||||
String get pageDescription => S.current.pre_seed_description;
|
||||
|
||||
@override
|
||||
String get buttonText => S.current.pre_seed_button_text;
|
||||
|
||||
@override
|
||||
Key? get buttonKey => ValueKey('pre_seed_page_button_key');
|
||||
|
||||
@override
|
||||
void Function(BuildContext) get onPressed =>
|
||||
(BuildContext context) => Navigator.of(context).pushNamed(Routes.seed, arguments: true);
|
||||
}
|
||||
@@ -9,8 +9,9 @@ import 'package:flutter_mobx/flutter_mobx.dart';
|
||||
|
||||
class SeedVerificationPage extends BasePage {
|
||||
final WalletSeedViewModel walletSeedViewModel;
|
||||
final bool isNewWalletCreated;
|
||||
|
||||
SeedVerificationPage(this.walletSeedViewModel);
|
||||
SeedVerificationPage(this.walletSeedViewModel, {required this.isNewWalletCreated});
|
||||
|
||||
@override
|
||||
bool get gradientBackground => true;
|
||||
@@ -32,7 +33,8 @@ class SeedVerificationPage extends BasePage {
|
||||
walletSeedViewModel.verificationIndices.isEmpty
|
||||
? SeedVerificationSuccessView(
|
||||
key: ValueKey('seed_verification_success_view_page'),
|
||||
walletType: walletSeedViewModel.walletType,
|
||||
walletSeedViewModel: walletSeedViewModel,
|
||||
isNewWalletCreated: isNewWalletCreated,
|
||||
currentTheme: currentTheme,
|
||||
)
|
||||
: SeedVerificationStepView(
|
||||
|
||||
@@ -1,17 +1,23 @@
|
||||
import 'package:cake_wallet/generated/i18n.dart';
|
||||
import 'package:cake_wallet/routes.dart';
|
||||
import 'package:cake_wallet/new-ui/pages/seed/open_wallet_after_seed_flow.dart';
|
||||
import 'package:cake_wallet/src/widgets/cake_image_widget.dart';
|
||||
import 'package:cake_wallet/src/widgets/primary_button.dart';
|
||||
import 'package:cake_wallet/themes/core/material_base_theme.dart';
|
||||
import 'package:cake_wallet/view_model/wallet_seed_view_model.dart';
|
||||
import 'package:cw_core/wallet_type.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class SeedVerificationSuccessView extends StatelessWidget {
|
||||
const SeedVerificationSuccessView(
|
||||
{required this.currentTheme, super.key, required this.walletType});
|
||||
const SeedVerificationSuccessView({
|
||||
required this.walletSeedViewModel,
|
||||
required this.isNewWalletCreated,
|
||||
required this.currentTheme,
|
||||
super.key,
|
||||
});
|
||||
|
||||
final WalletSeedViewModel walletSeedViewModel;
|
||||
final bool isNewWalletCreated;
|
||||
final MaterialThemeBase currentTheme;
|
||||
final WalletType walletType;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
@@ -65,14 +71,20 @@ class SeedVerificationSuccessView extends StatelessWidget {
|
||||
Spacer(),
|
||||
PrimaryButton(
|
||||
key: ValueKey('wallet_seed_page_open_wallet_button_key'),
|
||||
onPressed: () {
|
||||
if (walletType == WalletType.bitcoin) {
|
||||
Navigator.of(context).pushNamed(Routes.lightningUsernamePage, arguments: true);
|
||||
onPressed: () async {
|
||||
await walletSeedViewModel.markSeedVerified();
|
||||
|
||||
if (!context.mounted) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (isNewWalletCreated) {
|
||||
openWalletAfterSeedFlow(context, walletSeedViewModel.walletType);
|
||||
} else {
|
||||
Navigator.of(context).popUntil((route) => route.isFirst);
|
||||
}
|
||||
},
|
||||
text: (walletType == WalletType.bitcoin)
|
||||
text: isNewWalletCreated && walletSeedViewModel.walletType == WalletType.bitcoin
|
||||
? S.current.continue_text
|
||||
: S.current.open_wallet,
|
||||
color: Theme.of(context).colorScheme.primary,
|
||||
|
||||
@@ -124,9 +124,12 @@ class WalletSeedPage extends BasePage {
|
||||
padding: EdgeInsets.only(left: 8.0, top: 8.0),
|
||||
child: PrimaryButton(
|
||||
key: ValueKey('wallet_seed_page_verify_seed_button_key'),
|
||||
onPressed: () =>
|
||||
Navigator.pushNamed(context, Routes.walletSeedVerificationPage),
|
||||
text: S.current.verify_seed,
|
||||
onPressed: () => Navigator.pushNamed(
|
||||
context,
|
||||
Routes.walletSeedVerificationPage,
|
||||
arguments: isNewWalletCreated,
|
||||
),
|
||||
text: S.current.verify_phrase,
|
||||
color: Theme.of(context).colorScheme.primary,
|
||||
textColor: Theme.of(context).colorScheme.onPrimary,
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user