diff --git a/assets/fonts/Poppins-SemiBold.ttf b/assets/fonts/Poppins-SemiBold.ttf new file mode 100644 index 000000000..dabf7c242 Binary files /dev/null and b/assets/fonts/Poppins-SemiBold.ttf differ diff --git a/assets/images/2.0x/duplicate.png b/assets/images/2.0x/duplicate.png new file mode 100644 index 000000000..b377d0a9d Binary files /dev/null and b/assets/images/2.0x/duplicate.png differ diff --git a/assets/images/3.0x/duplicate.png b/assets/images/3.0x/duplicate.png new file mode 100644 index 000000000..4fbef4bf2 Binary files /dev/null and b/assets/images/3.0x/duplicate.png differ diff --git a/assets/images/duplicate.png b/assets/images/duplicate.png new file mode 100644 index 000000000..99cfd4ca2 Binary files /dev/null and b/assets/images/duplicate.png differ diff --git a/lib/core/amount_validator.dart b/lib/core/amount_validator.dart index 0394e9244..0aa0aba23 100644 --- a/lib/core/amount_validator.dart +++ b/lib/core/amount_validator.dart @@ -13,10 +13,10 @@ class AmountValidator extends TextValidator { static String _pattern(WalletType type) { switch (type) { case WalletType.monero: - return '^([0-9]+([.][0-9]{0,12})?|[.][0-9]{1,12})\$'; + return '^([0-9]+([.][0-9]{0,12})?|[.][0-9]{1,12}|ALL)\$'; case WalletType.bitcoin: // FIXME: Incorrect pattern for bitcoin - return '^([0-9]+([.][0-9]{0,12})?|[.][0-9]{1,12})\$'; + return '^([0-9]+([.][0-9]{0,12})?|[.][0-9]{1,12}|ALL)\$'; default: return ''; } diff --git a/lib/core/template_validator.dart b/lib/core/template_validator.dart new file mode 100644 index 000000000..85fe66287 --- /dev/null +++ b/lib/core/template_validator.dart @@ -0,0 +1,12 @@ +import 'package:cake_wallet/core/validator.dart'; +import 'package:cake_wallet/generated/i18n.dart'; + +class TemplateValidator extends TextValidator { + TemplateValidator() + : super( + minLength: 0, + maxLength: 0, + pattern: '''^[^`,'"]{1,20}\$''', + errorMessage: S.current.error_text_template + ); +} \ No newline at end of file diff --git a/lib/core/validator.dart b/lib/core/validator.dart index 066367eed..312c7f356 100644 --- a/lib/core/validator.dart +++ b/lib/core/validator.dart @@ -27,7 +27,7 @@ class TextValidator extends Validator { @override bool isValid(String value) { if (value == null || value.isEmpty) { - return true; + return false; } return value.length > (minLength ?? 0) && @@ -42,4 +42,4 @@ class TextValidator extends Validator { class WalletNameValidator extends TextValidator { WalletNameValidator() : super(minLength: 1, maxLength: 15, pattern: '^[a-zA-Z0-9_]\$'); -} +} \ No newline at end of file diff --git a/lib/di.dart b/lib/di.dart index e8f878327..56e5eeb3a 100644 --- a/lib/di.dart +++ b/lib/di.dart @@ -7,6 +7,7 @@ import 'package:cake_wallet/src/screens/contact/contact_page.dart'; import 'package:cake_wallet/src/screens/nodes/node_create_or_edit_page.dart'; import 'package:cake_wallet/src/screens/nodes/nodes_list_page.dart'; import 'package:cake_wallet/src/screens/seed/wallet_seed_page.dart'; +import 'package:cake_wallet/src/screens/send/send_template_page.dart'; import 'package:cake_wallet/src/screens/settings/settings.dart'; import 'package:cake_wallet/src/screens/wallet_keys/wallet_keys_page.dart'; import 'package:cake_wallet/store/contact_list_store.dart'; @@ -57,6 +58,10 @@ import 'package:cake_wallet/store/dashboard/trades_store.dart'; import 'package:cake_wallet/store/dashboard/trade_filter_store.dart'; import 'package:cake_wallet/store/dashboard/transaction_filter_store.dart'; import 'package:cake_wallet/store/dashboard/fiat_convertation_store.dart'; +import 'package:cake_wallet/store/templates/send_template_store.dart'; +import 'package:cake_wallet/store/templates/exchange_template_store.dart'; +import 'package:cake_wallet/src/domain/common/template.dart'; +import 'package:cake_wallet/src/domain/exchange/exchange_template.dart'; final getIt = GetIt.instance; @@ -83,7 +88,9 @@ Future setup( {Box walletInfoSource, Box nodeSource, Box contactSource, - Box tradesSource}) async { + Box tradesSource, + Box