Merge branch 'new-world' of github.com:cake-tech/cake_wallet_private into rework-restore-wallet

This commit is contained in:
M
2020-10-24 15:55:31 +03:00
25 changed files with 245 additions and 93 deletions
+32 -31
View File
@@ -1,7 +1,7 @@
import 'package:cake_wallet/src/screens/dashboard/wallet_menu_item.dart';
import 'package:cake_wallet/utils/show_pop_up.dart';
import 'package:flutter/material.dart';
import 'package:cake_wallet/routes.dart';
import 'package:provider/provider.dart';
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/src/screens/auth/auth_page.dart';
import 'package:cake_wallet/src/widgets/alert_with_two_actions.dart';
@@ -11,26 +11,35 @@ import 'package:cake_wallet/src/widgets/alert_with_two_actions.dart';
class WalletMenu {
WalletMenu(this.context, this.reconnect);
final List<String> items = [
S.current.reconnect,
S.current.rescan,
S.current.wallets,
S.current.nodes,
S.current.show_seed,
S.current.show_keys,
S.current.address_book_menu,
S.current.settings_title
];
final List<Image> images = [
Image.asset('assets/images/reconnect_menu.png', height: 16, width: 16),
Image.asset('assets/images/filter_icon.png', height: 16, width: 16),
Image.asset('assets/images/wallet_menu.png', height: 16, width: 16),
Image.asset('assets/images/nodes_menu.png', height: 16, width: 16),
Image.asset('assets/images/eye_menu.png', height: 16, width: 16),
Image.asset('assets/images/key_menu.png', height: 16, width: 16),
Image.asset('assets/images/open_book_menu.png', height: 16, width: 16),
Image.asset('assets/images/settings_menu.png', height: 16, width: 16),
final List<WalletMenuItem> items = [
WalletMenuItem(
title: S.current.reconnect,
image: Image.asset('assets/images/reconnect_menu.png',
height: 16, width: 16)),
WalletMenuItem(
title: S.current.rescan,
image: Image.asset('assets/images/filter_icon.png',
height: 16, width: 16)),
WalletMenuItem(
title: S.current.wallets,
image: Image.asset('assets/images/wallet_menu.png',
height: 16, width: 16)),
WalletMenuItem(
title: S.current.nodes,
image: Image.asset('assets/images/nodes_menu.png',
height: 16, width: 16)),
WalletMenuItem(
title: S.current.show_keys,
image: Image.asset('assets/images/key_menu.png',
height: 16, width: 16)),
WalletMenuItem(
title: S.current.address_book_menu,
image: Image.asset('assets/images/open_book_menu.png',
height: 16, width: 16)),
WalletMenuItem(
title: S.current.settings_title,
image: Image.asset('assets/images/settings_menu.png',
height: 16, width: 16)),
];
final BuildContext context;
@@ -51,14 +60,6 @@ class WalletMenu {
Navigator.of(context).pushNamed(Routes.nodeList);
break;
case 4:
Navigator.of(context).pushNamed(Routes.auth,
arguments: (bool isAuthenticatedSuccessfully, AuthPageState auth) =>
isAuthenticatedSuccessfully
? Navigator.of(auth.context).popAndPushNamed(Routes.seed, arguments: false)
: null);
break;
case 5:
Navigator.of(context).pushNamed(Routes.auth,
arguments: (bool isAuthenticatedSuccessfully, AuthPageState auth) =>
isAuthenticatedSuccessfully
@@ -66,10 +67,10 @@ class WalletMenu {
.popAndPushNamed(Routes.showKeys)
: null);
break;
case 6:
case 5:
Navigator.of(context).pushNamed(Routes.addressBook);
break;
case 7:
case 6:
Navigator.of(context).pushNamed(Routes.settings);
break;
default:
@@ -0,0 +1,10 @@
import 'package:flutter/material.dart';
class WalletMenuItem {
WalletMenuItem({
@required this.title,
@required this.image});
final String title;
final Image image;
}
@@ -168,7 +168,8 @@ class MenuWidgetState extends State<MenuWidget> {
index--;
final item = walletMenu.items[index];
final image = walletMenu.images[index] ?? Offstage();
final title = item.title;
final image = item.image ?? Offstage();
final isLastTile = index == itemCount - 1;
return GestureDetector(
@@ -199,7 +200,7 @@ class MenuWidgetState extends State<MenuWidget> {
SizedBox(width: 16),
Expanded(
child: Text(
item,
title,
style: TextStyle(
color: Theme.of(context)
.textTheme
+4 -1
View File
@@ -373,7 +373,9 @@ class ExchangePage extends BasePage {
child: Observer(builder: (_) {
final description =
exchangeViewModel.provider is XMRTOExchangeProvider
? S.of(context).amount_is_guaranteed
? exchangeViewModel.isReceiveAmountEntered
? S.of(context).amount_is_guaranteed
: S.of(context).amount_is_estimate
: S.of(context).amount_is_estimate;
return Center(
child: Text(
@@ -433,6 +435,7 @@ class ExchangePage extends BasePage {
exchangeViewModel.changeDepositAmount(amount: template.amount);
exchangeViewModel.depositAddress = template.depositAddress;
exchangeViewModel.receiveAddress = template.receiveAddress;
exchangeViewModel.isReceiveAmountEntered = false;
}
void _setReactions(
@@ -1,4 +1,5 @@
import 'dart:ui';
import 'package:cake_wallet/exchange/exchange_provider.dart';
import 'package:cake_wallet/exchange/exchange_template.dart';
import 'package:cake_wallet/src/screens/base_page.dart';
import 'package:cake_wallet/src/widgets/alert_with_two_actions.dart';
@@ -169,7 +170,9 @@ class ExchangeTemplatePage extends BasePage {
exchangeViewModel.wallet.currency
? exchangeViewModel.wallet.address
: exchangeViewModel.receiveAddress,
initialIsAmountEditable: false,
initialIsAmountEditable:
exchangeViewModel.provider is
XMRTOExchangeProvider ? true : false,
initialIsAddressEditable:
exchangeViewModel.isReceiveAddressEnabled,
isAmountEstimated: true,
@@ -202,7 +205,9 @@ class ExchangeTemplatePage extends BasePage {
child: Observer(builder: (_) {
final description =
exchangeViewModel.provider is XMRTOExchangeProvider
? S.of(context).amount_is_guaranteed
? exchangeViewModel.isReceiveAmountEntered
? S.of(context).amount_is_guaranteed
: S.of(context).amount_is_estimate
: S.of(context).amount_is_estimate;
return Center(
child: Text(
@@ -328,6 +333,12 @@ class ExchangeTemplatePage extends BasePage {
receiveKey.currentState.isAddressEditable(isEditable: isEnabled);
});
reaction((_) => exchangeViewModel.provider, (ExchangeProvider provider) {
provider is XMRTOExchangeProvider
? receiveKey.currentState.isAmountEditable(isEditable: true)
: receiveKey.currentState.isAmountEditable(isEditable: false);
});
/*reaction((_) => exchangeViewModel.limitsState, (LimitsState state) {
String min;
String max;
@@ -358,6 +369,7 @@ class ExchangeTemplatePage extends BasePage {
if (depositAmountController.text != exchangeViewModel.depositAmount) {
exchangeViewModel.changeDepositAmount(
amount: depositAmountController.text);
exchangeViewModel.isReceiveAmountEntered = false;
}
});
@@ -368,6 +380,7 @@ class ExchangeTemplatePage extends BasePage {
if (receiveAmountController.text != exchangeViewModel.receiveAmount) {
exchangeViewModel.changeReceiveAmount(
amount: receiveAmountController.text);
exchangeViewModel.isReceiveAmountEntered = true;
}
});
@@ -44,8 +44,8 @@ class QRWidget extends StatelessWidget {
child: QrImage(
data: addressListViewModel.uri.toString(),
backgroundColor: Colors.transparent,
foregroundColor:
Theme.of(context).textTheme.headline.color,
foregroundColor: Colors.white,
//Theme.of(context).textTheme.headline.color,
))))),
Spacer(flex: 3)
]),
+7 -4
View File
@@ -163,14 +163,14 @@ class SendPage extends BasePage {
.decorationColor),
validator: sendViewModel.addressValidator,
),
Padding(
Observer(builder: (_) => Padding(
padding: const EdgeInsets.only(top: 20),
child: BaseTextFormField(
focusNode: _cryptoAmountFocus,
controller: _cryptoAmountController,
keyboardType:
TextInputType.numberWithOptions(
signed: false, decimal: true),
TextInputType.numberWithOptions(
signed: false, decimal: true),
prefixIcon: Padding(
padding: EdgeInsets.only(top: 9),
child: Text(
@@ -226,7 +226,9 @@ class SendPage extends BasePage {
fontWeight: FontWeight.w500,
fontSize: 14),
validator:
sendViewModel.amountValidator)),
sendViewModel.sendAll
? sendViewModel.allAmountValidator
: sendViewModel.amountValidator))),
Observer(
builder: (_) => Padding(
padding: EdgeInsets.only(top: 10),
@@ -513,6 +515,7 @@ class SendPage extends BasePage {
final amount = _fiatAmountController.text;
if (amount != sendViewModel.fiatAmount) {
sendViewModel.sendAll = false;
sendViewModel.setFiatAmount(amount);
}
});