Add name text field for restore wallet forms. Update terms of use for monero.com app

This commit is contained in:
M
2022-01-05 21:17:50 +02:00
parent 96d4b90ad3
commit 5a725e6ec0
8 changed files with 250 additions and 26 deletions
@@ -10,6 +10,7 @@ import 'package:cake_wallet/src/screens/base_page.dart';
import 'package:cake_wallet/src/widgets/primary_button.dart';
import 'package:cake_wallet/src/widgets/alert_with_one_action.dart';
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/wallet_type_utils.dart';
class DisclaimerPage extends BasePage {
DisclaimerPage({this.isReadOnly = false});
@@ -48,7 +49,10 @@ class DisclaimerBodyState extends State<DisclaimerPageBody> {
}
Future getFileLines() async {
_fileText = await rootBundle.loadString('assets/text/Terms_of_Use.txt');
_fileText = await rootBundle.loadString(
isMoneroOnly
? 'assets/text/Monerocom_Terms_of_Use.txt'
: 'assets/text/Terms_of_Use.txt' );
setState(() {});
}
@@ -4,6 +4,9 @@ import 'package:flutter/material.dart';
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/src/widgets/blockchain_height_widget.dart';
import 'package:cake_wallet/src/widgets/base_text_form_field.dart';
import 'package:cake_wallet/src/widgets/base_text_form_field.dart';
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/core/validator.dart';
class WalletRestoreFromKeysFrom extends StatefulWidget {
WalletRestoreFromKeysFrom({Key key, this.onHeightOrDateEntered})
@@ -23,7 +26,8 @@ class WalletRestoreFromKeysFromState extends State<WalletRestoreFromKeysFrom> {
nameController = TextEditingController(),
addressController = TextEditingController(),
viewKeyController = TextEditingController(),
spendKeyController = TextEditingController();
spendKeyController = TextEditingController(),
nameTextEditingController = TextEditingController();
final GlobalKey<FormState> formKey;
final GlobalKey<BlockchainHeightState> blockchainHeightKey;
@@ -31,6 +35,7 @@ class WalletRestoreFromKeysFromState extends State<WalletRestoreFromKeysFrom> {
final TextEditingController addressController;
final TextEditingController viewKeyController;
final TextEditingController spendKeyController;
final TextEditingController nameTextEditingController;
@override
void dispose() {
@@ -48,6 +53,11 @@ class WalletRestoreFromKeysFromState extends State<WalletRestoreFromKeysFrom> {
child: Form(
key: formKey,
child: Column(children: <Widget>[
BaseTextFormField(
controller: nameTextEditingController,
hintText: S.of(context).wallet_name,
validator: WalletNameValidator()),
Container(height: 20),
BaseTextFormField(
controller: addressController,
keyboardType: TextInputType.multiline,
@@ -7,6 +7,9 @@ import 'package:cake_wallet/src/screens/seed_language/widgets/seed_language_pick
import 'package:cake_wallet/src/widgets/seed_widget.dart';
import 'package:cake_wallet/src/widgets/base_text_form_field.dart';
import 'package:cake_wallet/src/widgets/blockchain_height_widget.dart';
import 'package:cake_wallet/src/widgets/base_text_form_field.dart';
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/core/validator.dart';
class WalletRestoreFromSeedForm extends StatefulWidget {
WalletRestoreFromSeedForm(
@@ -33,11 +36,13 @@ class WalletRestoreFromSeedFormState extends State<WalletRestoreFromSeedForm> {
WalletRestoreFromSeedFormState(this.language)
: seedWidgetStateKey = GlobalKey<SeedWidgetState>(),
blockchainHeightKey = GlobalKey<BlockchainHeightState>(),
languageController = TextEditingController();
languageController = TextEditingController(),
nameTextEditingController = TextEditingController();
final GlobalKey<SeedWidgetState> seedWidgetStateKey;
final GlobalKey<BlockchainHeightState> blockchainHeightKey;
final TextEditingController languageController;
final TextEditingController nameTextEditingController;
String language;
@override
@@ -51,6 +56,11 @@ class WalletRestoreFromSeedFormState extends State<WalletRestoreFromSeedForm> {
return Container(
padding: EdgeInsets.only(left: 24, right: 24),
child: Column(children: [
BaseTextFormField(
controller: nameTextEditingController,
hintText: S.of(context).wallet_name,
validator: WalletNameValidator()),
Container(height: 20),
SeedWidget(
key: seedWidgetStateKey, language: language, type: widget.type),
if (widget.displayLanguageSelector)
@@ -15,6 +15,9 @@ import 'package:cake_wallet/src/screens/restore/wallet_restore_from_keys_form.da
import 'package:cake_wallet/src/screens/restore/wallet_restore_from_seed_form.dart';
import 'package:cake_wallet/src/widgets/primary_button.dart';
import 'package:cake_wallet/utils/show_pop_up.dart';
import 'package:cake_wallet/core/validator.dart';
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/src/widgets/base_text_form_field.dart';
class WalletRestorePage extends BasePage {
WalletRestorePage(this.walletRestoreViewModel)
@@ -97,11 +100,13 @@ class WalletRestorePage extends BasePage {
.restoreHeightController.text = '';
walletRestoreFromSeedFormKey.currentState.blockchainHeightKey.currentState
.dateController.text = '';
walletRestoreFromSeedFormKey.currentState.nameTextEditingController.text = '';
walletRestoreFromKeysFormKey.currentState.blockchainHeightKey.currentState
.restoreHeightController.text = '';
walletRestoreFromKeysFormKey.currentState.blockchainHeightKey.currentState
.dateController.text = '';
walletRestoreFromKeysFormKey.currentState.nameTextEditingController.text = '';
});
return KeyboardActions(
@@ -175,6 +180,8 @@ class WalletRestorePage extends BasePage {
credentials['height'] = walletRestoreFromSeedFormKey
.currentState.blockchainHeightKey.currentState.height;
}
credentials['name'] = walletRestoreFromSeedFormKey.currentState.nameTextEditingController.text;
} else {
credentials['address'] =
walletRestoreFromKeysFormKey.currentState.addressController.text;
@@ -184,6 +191,7 @@ class WalletRestorePage extends BasePage {
walletRestoreFromKeysFormKey.currentState.spendKeyController.text;
credentials['height'] = walletRestoreFromKeysFormKey
.currentState.blockchainHeightKey.currentState.height;
credentials['name'] = walletRestoreFromKeysFormKey.currentState.nameTextEditingController.text;
}
return credentials;
@@ -175,10 +175,10 @@ class WalletListBodyState extends State<WalletListBody> {
PrimaryImageButton(
onPressed: () {
if (isMoneroOnly) {
Navigator.of(context).pushNamed(Routes.newWallet, arguments: WalletType.monero);
} else {
Navigator.of(context).pushNamed(Routes.newWalletType);
}
Navigator.of(context).pushNamed(Routes.newWallet, arguments: WalletType.monero);
} else {
Navigator.of(context).pushNamed(Routes.newWalletType);
}
},
image: newWalletImage,
text: S.of(context).wallet_list_create_new_wallet,
@@ -188,16 +188,16 @@ class WalletListBodyState extends State<WalletListBody> {
SizedBox(height: 10.0),
PrimaryImageButton(
onPressed: () {
if (isMoneroOnly) {
if (isMoneroOnly) {
Navigator
.of(context)
.pushNamed(
Routes.restoreWallet,
arguments: widget.walletListViewModel.currentWalletType);
} else {
Navigator.of(context).pushNamed(Routes.restoreWalletType);
}
},
.of(context)
.pushNamed(
Routes.restoreWallet,
arguments: widget.walletListViewModel.currentWalletType);
} else {
Navigator.of(context).pushNamed(Routes.restoreWalletType);
}
},
image: restoreWalletImage,
text: S.of(context).wallet_list_restore_wallet,
color: Theme.of(context).accentTextTheme.caption.color,
+13 -10
View File
@@ -7,6 +7,7 @@ import 'package:flutter/material.dart';
import 'package:mobx/mobx.dart';
import 'package:url_launcher/url_launcher.dart';
import 'package:cake_wallet/wallet_type_utils.dart';
import 'package:cake_wallet/wallet_type_utils.dart';
part 'support_view_model.g.dart';
@@ -25,16 +26,18 @@ abstract class SupportViewModelBase with Store {
title: 'Email',
linkTitle: 'support@cakewallet.com',
link: 'mailto:support@cakewallet.com'),
LinkListItem(
title: 'Website',
linkTitle: 'cakewallet.com',
link: 'https://cakewallet.com'),
LinkListItem(
title: 'GitHub',
icon: 'assets/images/github.png',
hasIconColor: true,
linkTitle: S.current.apk_update,
link: 'https://github.com/cake-tech/cake_wallet/releases'),
if (!isMoneroOnly)
LinkListItem(
title: 'Website',
linkTitle: 'cakewallet.com',
link: 'https://cakewallet.com'),
if (!isMoneroOnly)
LinkListItem(
title: 'GitHub',
icon: 'assets/images/github.png',
hasIconColor: true,
linkTitle: S.current.apk_update,
link: 'https://github.com/cake-tech/cake_wallet/releases'),
LinkListItem(
title: 'Telegram',
icon: 'assets/images/Telegram.png',
@@ -51,6 +51,7 @@ abstract class WalletRestoreViewModelBase extends WalletCreationVM with Store {
WalletCredentials getCredentials(dynamic options) {
final password = generateWalletPassword(type);
final height = options['height'] as int;
name = options['name'] as String;
if (mode == WalletRestoreMode.seed) {
final seed = options['seed'] as String;