CWA-204 | applied new design to welcome and new wallet pages; created new wallet type page and select button; changed loading primary button

Oleksandr Sobol committed Apr 28, 2020 at 20:50 UTC d9f8ddb14155be6da246b7ea23ca125de132b7d4
44 files changed +595 -295
assets/images/2.0x/bitcoin.png
Binary files /dev/null and b/assets/images/2.0x/bitcoin.png differ
assets/images/2.0x/select_arrow.png
Binary files /dev/null and b/assets/images/2.0x/select_arrow.png differ
assets/images/2.0x/wallet_name.png
Binary files /dev/null and b/assets/images/2.0x/wallet_name.png differ
assets/images/2.0x/wallet_type.png
Binary files /dev/null and b/assets/images/2.0x/wallet_type.png differ
assets/images/2.0x/welcome.png
Binary files /dev/null and b/assets/images/2.0x/welcome.png differ
assets/images/3.0x/bitcoin.png
Binary files /dev/null and b/assets/images/3.0x/bitcoin.png differ
assets/images/3.0x/select_arrow.png
Binary files /dev/null and b/assets/images/3.0x/select_arrow.png differ
assets/images/3.0x/wallet_name.png
Binary files /dev/null and b/assets/images/3.0x/wallet_name.png differ
assets/images/3.0x/wallet_type.png
Binary files /dev/null and b/assets/images/3.0x/wallet_type.png differ
assets/images/3.0x/welcome.png
Binary files /dev/null and b/assets/images/3.0x/welcome.png differ
assets/images/bitcoin.png
Binary files /dev/null and b/assets/images/bitcoin.png differ
assets/images/select_arrow.png
Binary files /dev/null and b/assets/images/select_arrow.png differ
assets/images/wallet_name.png
Binary files /dev/null and b/assets/images/wallet_name.png differ
assets/images/wallet_type.png
Binary files /dev/null and b/assets/images/wallet_type.png differ
assets/images/welcome.png
Binary files /dev/null and b/assets/images/welcome.png differ
lib/generated/i18n.dart
+71 -48
@@ -40,6 +40,7 @@ class S implements WidgetsLocalizations {
40 String get available_balance => "Available Balance";
41 String get biometric_auth_reason => "Scan your fingerprint to authenticate";
42 String get buy => "Buy";
43 + String get cake_wallet => "Cake Wallet";
44 String get cancel => "Cancel";
45 String get card_address => "Address:";
46 String get change => "Change";
@@ -56,7 +57,7 @@ class S implements WidgetsLocalizations {
57 String get copy => "Copy";
58 String get copy_address => "Copy Address";
59 String get copy_id => "Copy ID";
59 - String get create_new => "Create new";
60 + String get create_new => "Create New Wallet";
61 String get delete => "Delete";
62 String get digit_pin => "-digit PIN";
63 String get edit => "Edit";
@@ -84,7 +85,7 @@ class S implements WidgetsLocalizations {
85 String get faq => "FAQ";
86 String get fetching => "Fetching";
87 String get filters => "Filters";
87 - String get first_wallet_text => "Awesome wallet\nfor Monero";
88 + String get first_wallet_text => "Awesome wallet for Monero";
89 String get full_balance => "Full Balance";
90 String get hidden_balance => "Hidden Balance";
91 String get id => "ID: ";
@@ -111,7 +112,7 @@ class S implements WidgetsLocalizations {
112 String get payment_id => "Payment ID: ";
113 String get pending => " (pending)";
114 String get pin_is_incorrect => "PIN is incorrect";
114 - String get please_make_selection => "Please make selection below to\ncreate or recover your wallet.";
115 + String get please_make_selection => "Please make selection below to create or recover your wallet.";
116 String get please_select => "Please select:";
117 String get please_try_to_connect_to_another_node => "Please try to connect to another node";
118 String get receive => "Receive";
@@ -141,7 +142,7 @@ class S implements WidgetsLocalizations {
142 String get restore_title_from_seed => "Restore from seed";
143 String get restore_title_from_seed_keys => "Restore from seed/keys";
144 String get restore_view_key_private => "View key (private)";
144 - String get restore_wallet => "Restore wallet";
145 + String get restore_wallet => "Restore Wallet";
146 String get restore_wallet_name => "Wallet name";
147 String get restore_wallet_restore_description => "Wallet restore description";
148 String get save => "Save";
@@ -262,7 +263,7 @@ class S implements WidgetsLocalizations {
263 String get wallet_restoration_store_incorrect_seed_length => "Incorrect seed length";
264 String get wallet_store_monero_wallet => "Monero Wallet";
265 String get wallets => "Wallets";
265 - String get welcome => "WELCOME\nTO CAKE WALLET";
266 + String get welcome => "Welcome to";
267 String get widgets_address => "Address";
268 String get widgets_or => "or";
269 String get widgets_restore_from_blockheight => "Restore from blockheight";
@@ -340,7 +341,7 @@ class $de extends S {
341 @override
342 String get trade_state_underpaid => "Unterbezahlt";
343 @override
343 - String get welcome => "Willkommen\nzu CAKE WALLET";
344 + String get welcome => "Willkommen zu";
345 @override
346 String get share_address => "Adresse teilen ";
347 @override
@@ -436,7 +437,7 @@ class $de extends S {
437 @override
438 String get seed_language_german => "Deutsche";
439 @override
439 - String get create_new => "Erstelle neu";
440 + String get create_new => "Neue Wallet erstellen";
441 @override
442 String get trade_details_fetching => "Holen";
443 @override
@@ -530,7 +531,7 @@ class $de extends S {
531 @override
532 String get copy_id => "ID kopieren";
533 @override
533 - String get please_make_selection => "Bitte treffen Sie unten eine Auswahl zu\nErstellen oder Wiederherstellen Ihrer Brieftasche.";
534 + String get please_make_selection => "Bitte treffen Sie unten eine Auswahl zu Erstellen oder Wiederherstellen Ihrer Brieftasche.";
535 @override
536 String get loading_your_wallet => "Laden Sie Ihre Brieftasche";
537 @override
@@ -580,6 +581,8 @@ class $de extends S {
581 @override
582 String get saved_the_trade_id => "Ich habe die Geschäfts-ID gespeichert";
583 @override
584 + String get cake_wallet => "Cake Wallet";
585 + @override
586 String get settings_currency => "Währung";
587 @override
588 String get change_language => "Sprache ändern";
@@ -812,7 +815,7 @@ class $de extends S {
815 @override
816 String get digit_pin => "-stelliger PIN";
817 @override
815 - String get first_wallet_text => "tolle Brieftasche\nzum Monero";
818 + String get first_wallet_text => "tolle Brieftasche zum Monero";
819 @override
820 String get settings_trades => "Handel";
821 @override
@@ -912,7 +915,7 @@ class $hi extends S {
915 @override
916 String get trade_state_underpaid => "के तहत भुगतान किया";
917 @override
915 - String get welcome => "स्वागत हे\nसेवा मेरे CAKE WALLET";
918 + String get welcome => "स्वागत हे सेवा मेरे";
919 @override
920 String get share_address => "पता साझा करें";
921 @override
@@ -1008,7 +1011,7 @@ class $hi extends S {
1011 @override
1012 String get seed_language_german => "जर्मन";
1013 @override
1011 - String get create_new => "नया बनाओ";
1014 + String get create_new => "नया बटुआ बनाएँ";
1015 @override
1016 String get trade_details_fetching => "ला रहा है";
1017 @override
@@ -1102,7 +1105,7 @@ class $hi extends S {
1105 @override
1106 String get copy_id => "प्रतिलिपि ID";
1107 @override
1105 - String get please_make_selection => "कृपया नीचे चयन करें\nअपना बटुआ बनाएं या पुनर्प्राप्त करें.";
1108 + String get please_make_selection => "कृपया नीचे चयन करें अपना बटुआ बनाएं या पुनर्प्राप्त करें.";
1109 @override
1110 String get loading_your_wallet => "अपना बटुआ लोड कर रहा है";
1111 @override
@@ -1152,6 +1155,8 @@ class $hi extends S {
1155 @override
1156 String get saved_the_trade_id => "मैंने व्यापार बचा लिया है ID";
1157 @override
1158 + String get cake_wallet => "Cake Wallet";
1159 + @override
1160 String get settings_currency => "मुद्रा";
1161 @override
1162 String get change_language => "भाषा बदलो";
@@ -1384,7 +1389,7 @@ class $hi extends S {
1389 @override
1390 String get digit_pin => "-अंक पिन";
1391 @override
1387 - String get first_wallet_text => "बहुत बढ़िया बटुआ\nके लिये Monero";
1392 + String get first_wallet_text => "बहुत बढ़िया बटुआ के लिये Monero";
1393 @override
1394 String get settings_trades => "ट्रेडों";
1395 @override
@@ -1484,7 +1489,7 @@ class $ru extends S {
1489 @override
1490 String get trade_state_underpaid => "Недоплаченная";
1491 @override
1487 - String get welcome => "Приветствуем в CAKE WALLET";
1492 + String get welcome => "Приветствуем в";
1493 @override
1494 String get share_address => "Поделиться адресом";
1495 @override
@@ -1580,7 +1585,7 @@ class $ru extends S {
1585 @override
1586 String get seed_language_german => "Немецкий";
1587 @override
1583 - String get create_new => "Создать новый";
1588 + String get create_new => "Создать новый кошелёк";
1589 @override
1590 String get trade_details_fetching => "Получение";
1591 @override
@@ -1724,6 +1729,8 @@ class $ru extends S {
1729 @override
1730 String get saved_the_trade_id => "Я сохранил ID сделки";
1731 @override
1732 + String get cake_wallet => "Cake Wallet";
1733 + @override
1734 String get settings_currency => "Валюта";
1735 @override
1736 String get change_language => "Изменить язык";
@@ -2056,7 +2063,7 @@ class $ko extends S {
2063 @override
2064 String get trade_state_underpaid => "미지급";
2065 @override
2059 - String get welcome => "환영\n에 CAKE WALLET";
2066 + String get welcome => "환영 에";
2067 @override
2068 String get share_address => "주소 공유";
2069 @override
@@ -2152,7 +2159,7 @@ class $ko extends S {
2159 @override
2160 String get seed_language_german => "독일 사람";
2161 @override
2155 - String get create_new => "새로 만들기";
2162 + String get create_new => "새 월렛 만들기";
2163 @override
2164 String get trade_details_fetching => "가져 오는 중";
2165 @override
@@ -2246,7 +2253,7 @@ class $ko extends S {
2253 @override
2254 String get copy_id => "부 ID";
2255 @override
2249 - String get please_make_selection => "아래에서 선택하십시오\n지갑 만들기 또는 복구.";
2256 + String get please_make_selection => "아래에서 선택하십시오 지갑 만들기 또는 복구.";
2257 @override
2258 String get loading_your_wallet => "지갑 넣기";
2259 @override
@@ -2296,6 +2303,8 @@ class $ko extends S {
2303 @override
2304 String get saved_the_trade_id => "거래 ID를 저장했습니다";
2305 @override
2306 + String get cake_wallet => "Cake Wallet";
2307 + @override
2308 String get settings_currency => "통화";
2309 @override
2310 String get change_language => "언어 변경";
@@ -2488,7 +2497,7 @@ class $ko extends S {
2497 @override
2498 String get settings_support => "지원하다";
2499 @override
2491 - String get restore_wallet => "지갑 복원";
2500 + String get restore_wallet => "월렛 복원";
2501 @override
2502 String get ok => "승인";
2503 @override
@@ -2528,7 +2537,7 @@ class $ko extends S {
2537 @override
2538 String get digit_pin => "숫자 PIN";
2539 @override
2531 - String get first_wallet_text => "멋진 지갑\n에 대한 Monero";
2540 + String get first_wallet_text => "멋진 지갑 에 대한 Monero";
2541 @override
2542 String get settings_trades => "거래";
2543 @override
@@ -2628,7 +2637,7 @@ class $pt extends S {
2637 @override
2638 String get trade_state_underpaid => "Parcialmente paga";
2639 @override
2631 - String get welcome => "BEM-VINDO(A)\nÀ CAKE WALLET";
2640 + String get welcome => "Bem-vindo ao";
2641 @override
2642 String get share_address => "Compartilhar endereço";
2643 @override
@@ -2724,7 +2733,7 @@ class $pt extends S {
2733 @override
2734 String get seed_language_german => "Alemã";
2735 @override
2727 - String get create_new => "Criar carteira";
2736 + String get create_new => "Criar nova carteira";
2737 @override
2738 String get trade_details_fetching => "Buscando";
2739 @override
@@ -2818,7 +2827,7 @@ class $pt extends S {
2827 @override
2828 String get copy_id => "Copiar ID";
2829 @override
2821 - String get please_make_selection => "Escolha se quer criar uma carteira nova\nou restaurar uma antiga.";
2830 + String get please_make_selection => "Escolha se quer criar uma carteira nova ou restaurar uma antiga.";
2831 @override
2832 String get loading_your_wallet => "Abrindo sua carteira";
2833 @override
@@ -2868,6 +2877,8 @@ class $pt extends S {
2877 @override
2878 String get saved_the_trade_id => "ID da troca salvo";
2879 @override
2880 + String get cake_wallet => "Cake Wallet";
2881 + @override
2882 String get settings_currency => "Moeda";
2883 @override
2884 String get change_language => "Mudar idioma";
@@ -3100,7 +3111,7 @@ class $pt extends S {
3111 @override
3112 String get digit_pin => "dígitos";
3113 @override
3103 - String get first_wallet_text => "Uma fantástica carteira\npara Monero";
3114 + String get first_wallet_text => "Uma fantástica carteira para Monero";
3115 @override
3116 String get settings_trades => "Trocas";
3117 @override
@@ -3200,7 +3211,7 @@ class $uk extends S {
3211 @override
3212 String get trade_state_underpaid => "Недоплачена";
3213 @override
3203 - String get welcome => "Вітаємо в CAKE WALLET";
3214 + String get welcome => "Вітаємо в";
3215 @override
3216 String get share_address => "Поділитися адресою";
3217 @override
@@ -3296,7 +3307,7 @@ class $uk extends S {
3307 @override
3308 String get seed_language_german => "Німецька";
3309 @override
3299 - String get create_new => "Створити новий";
3310 + String get create_new => "Створити новий гаманець";
3311 @override
3312 String get trade_details_fetching => "Отримання";
3313 @override
@@ -3390,7 +3401,7 @@ class $uk extends S {
3401 @override
3402 String get copy_id => "Скопіювати ID";
3403 @override
3393 - String get please_make_selection => "Виберіть спосіб створення гаманця: створити новий чи відновити ваш існуючий.";
3404 + String get please_make_selection => "Оберіть спосіб створення гаманця: створити новий чи відновити ваш існуючий.";
3405 @override
3406 String get loading_your_wallet => "Завантаження гаманця";
3407 @override
@@ -3440,6 +3451,8 @@ class $uk extends S {
3451 @override
3452 String get saved_the_trade_id => "Я зберіг ID операції";
3453 @override
3454 + String get cake_wallet => "Cake Wallet";
3455 + @override
3456 String get settings_currency => "Валюта";
3457 @override
3458 String get change_language => "Змінити мову";
@@ -3772,7 +3785,7 @@ class $ja extends S {
3785 @override
3786 String get trade_state_underpaid => "支払不足";
3787 @override
3775 - String get welcome => "ようこそ\nに CAKE WALLET";
3788 + String get welcome => "ようこそ に";
3789 @override
3790 String get share_address => "住所を共有する";
3791 @override
@@ -3868,7 +3881,7 @@ class $ja extends S {
3881 @override
3882 String get seed_language_german => "ドイツ人";
3883 @override
3871 - String get create_new => "新しく作る";
3884 + String get create_new => "新しいウォレットを作成";
3885 @override
3886 String get trade_details_fetching => "フェッチング";
3887 @override
@@ -3962,7 +3975,7 @@ class $ja extends S {
3975 @override
3976 String get copy_id => "IDをコピー";
3977 @override
3965 - String get please_make_selection => "以下を選択してください\nウォレットを作成または回復する.";
3978 + String get please_make_selection => "以下を選択してください ウォレットを作成または回復する.";
3979 @override
3980 String get loading_your_wallet => "ウォレットをロードしています";
3981 @override
@@ -4012,6 +4025,8 @@ class $ja extends S {
4025 @override
4026 String get saved_the_trade_id => "取引IDを保存しました";
4027 @override
4028 + String get cake_wallet => "Cake Wallet";
4029 + @override
4030 String get settings_currency => "通貨";
4031 @override
4032 String get change_language => "言語を変えてください";
@@ -4204,7 +4219,7 @@ class $ja extends S {
4219 @override
4220 String get settings_support => "サポート";
4221 @override
4207 - String get restore_wallet => "ウォレットを復元する";
4222 + String get restore_wallet => "ウォレットを復元";
4223 @override
4224 String get ok => "OK";
4225 @override
@@ -4244,7 +4259,7 @@ class $ja extends S {
4259 @override
4260 String get digit_pin => "桁ピン";
4261 @override
4247 - String get first_wallet_text => "素晴らしい財布\nために Monero";
4262 + String get first_wallet_text => "素晴らしい財布 ために Monero";
4263 @override
4264 String get settings_trades => "取引";
4265 @override
@@ -4348,7 +4363,7 @@ class $pl extends S {
4363 @override
4364 String get trade_state_underpaid => "Niedopłacone";
4365 @override
4351 - String get welcome => "WITAMY\nW CAKE WALLET";
4366 + String get welcome => "Witamy w";
4367 @override
4368 String get share_address => "Udostępnij adres";
4369 @override
@@ -4444,7 +4459,7 @@ class $pl extends S {
4459 @override
4460 String get seed_language_german => "Niemiecki";
4461 @override
4447 - String get create_new => "Tworzyć nowe";
4462 + String get create_new => "Utwórz nowy portfel";
4463 @override
4464 String get trade_details_fetching => "Ujmujący";
4465 @override
@@ -4538,7 +4553,7 @@ class $pl extends S {
4553 @override
4554 String get copy_id => "ID kopii";
4555 @override
4541 - String get please_make_selection => "Wybierz poniżej, aby\ncutwórz lub odzyskaj swój portfel.";
4556 + String get please_make_selection => "Wybierz poniżej, aby cutwórz lub odzyskaj swój portfel.";
4557 @override
4558 String get loading_your_wallet => "Ładowanie portfela";
4559 @override
@@ -4588,6 +4603,8 @@ class $pl extends S {
4603 @override
4604 String get saved_the_trade_id => "Zapisałem ID";
4605 @override
4606 + String get cake_wallet => "Cake Wallet";
4607 + @override
4608 String get settings_currency => "Waluta";
4609 @override
4610 String get change_language => "Zmień język";
@@ -4820,7 +4837,7 @@ class $pl extends S {
4837 @override
4838 String get digit_pin => "-znak PIN";
4839 @override
4823 - String get first_wallet_text => "Niesamowity portfel\nfdla Monero";
4840 + String get first_wallet_text => "Niesamowity portfel dla Monero";
4841 @override
4842 String get settings_trades => "Transakcje";
4843 @override
@@ -4920,7 +4937,7 @@ class $es extends S {
4937 @override
4938 String get trade_state_underpaid => "Poco pagado";
4939 @override
4923 - String get welcome => "Bienvenido\n CAKE WALLET";
4940 + String get welcome => "Bienvenido";
4941 @override
4942 String get share_address => "Compartir dirección";
4943 @override
@@ -5016,7 +5033,7 @@ class $es extends S {
5033 @override
5034 String get seed_language_german => "Alemán";
5035 @override
5019 - String get create_new => "Crear nuevo";
5036 + String get create_new => "Crear nueva billetera";
5037 @override
5038 String get trade_details_fetching => "Cargando";
5039 @override
@@ -5110,7 +5127,7 @@ class $es extends S {
5127 @override
5128 String get copy_id => "Copiar ID";
5129 @override
5113 - String get please_make_selection => "Seleccione a continuación para\ncrear o recuperar su billetera.";
5130 + String get please_make_selection => "Seleccione a continuación para crear o recuperar su billetera.";
5131 @override
5132 String get loading_your_wallet => "Cargando tu billetera";
5133 @override
@@ -5160,6 +5177,8 @@ class $es extends S {
5177 @override
5178 String get saved_the_trade_id => "He salvado comercial ID";
5179 @override
5180 + String get cake_wallet => "Cake Wallet";
5181 + @override
5182 String get settings_currency => "Moneda";
5183 @override
5184 String get change_language => "Cambiar idioma";
@@ -5392,7 +5411,7 @@ class $es extends S {
5411 @override
5412 String get digit_pin => "-dígito PIN";
5413 @override
5395 - String get first_wallet_text => "Impresionante billetera\npara Monero";
5414 + String get first_wallet_text => "Impresionante billetera para Monero";
5415 @override
5416 String get settings_trades => "Comercia";
5417 @override
@@ -5492,7 +5511,7 @@ class $nl extends S {
5511 @override
5512 String get trade_state_underpaid => "Slecht betaald";
5513 @override
5495 - String get welcome => "WELKOM\nBIJ CAKE WALLET";
5514 + String get welcome => "Welkom bij";
5515 @override
5516 String get share_address => "Deel adres";
5517 @override
@@ -5588,7 +5607,7 @@ class $nl extends S {
5607 @override
5608 String get seed_language_german => "Duitse";
5609 @override
5591 - String get create_new => "Maak nieuw";
5610 + String get create_new => "Maak een nieuwe portemonnee";
5611 @override
5612 String get trade_details_fetching => "Ophalen";
5613 @override
@@ -5682,7 +5701,7 @@ class $nl extends S {
5701 @override
5702 String get copy_id => "ID kopiëren";
5703 @override
5685 - String get please_make_selection => "Maak hieronder uw keuze tot\nmaak of herstel je portemonnee.";
5704 + String get please_make_selection => "Maak hieronder uw keuze tot maak of herstel je portemonnee.";
5705 @override
5706 String get loading_your_wallet => "Uw portemonnee laden";
5707 @override
@@ -5732,6 +5751,8 @@ class $nl extends S {
5751 @override
5752 String get saved_the_trade_id => "Ik heb de ruil-ID opgeslagen";
5753 @override
5754 + String get cake_wallet => "Cake Wallet";
5755 + @override
5756 String get settings_currency => "Valuta";
5757 @override
5758 String get change_language => "Verander de taal";
@@ -5964,7 +5985,7 @@ class $nl extends S {
5985 @override
5986 String get digit_pin => "-cijferige PIN";
5987 @override
5967 - String get first_wallet_text => "Geweldige portemonnee\nfvoor Monero";
5988 + String get first_wallet_text => "Geweldige portemonnee fvoor Monero";
5989 @override
5990 String get settings_trades => "Trades";
5991 @override
@@ -6064,7 +6085,7 @@ class $zh extends S {
6085 @override
6086 String get trade_state_underpaid => "支付不足";
6087 @override
6067 - String get welcome => "欢迎\nTO CAKE WALLET";
6088 + String get welcome => "歡迎來到";
6089 @override
6090 String get share_address => "分享地址";
6091 @override
@@ -6160,7 +6181,7 @@ class $zh extends S {
6181 @override
6182 String get seed_language_german => "德語";
6183 @override
6163 - String get create_new => "创建新的";
6184 + String get create_new => "创建新钱包";
6185 @override
6186 String get trade_details_fetching => "正在取得";
6187 @override
@@ -6254,7 +6275,7 @@ class $zh extends S {
6275 @override
6276 String get copy_id => "复印ID";
6277 @override
6257 - String get please_make_selection => "请在下面进行选择\nc创建或恢复您的钱包.";
6278 + String get please_make_selection => "请在下面进行选择 创建或恢复您的钱包.";
6279 @override
6280 String get loading_your_wallet => "装钱包";
6281 @override
@@ -6304,6 +6325,8 @@ class $zh extends S {
6325 @override
6326 String get saved_the_trade_id => "我已经保存了交易ID";
6327 @override
6328 + String get cake_wallet => "Cake Wallet";
6329 + @override
6330 String get settings_currency => "货币";
6331 @override
6332 String get change_language => "改變語言";
@@ -6536,7 +6559,7 @@ class $zh extends S {
6559 @override
6560 String get digit_pin => "数字别针";
6561 @override
6539 - String get first_wallet_text => "很棒的钱包\n对于 Monero";
6562 + String get first_wallet_text => "很棒的钱包 对于 Monero";
6563 @override
6564 String get settings_trades => "交易";
6565 @override
lib/palette.dart
+1
@@ -87,4 +87,5 @@ class PaletteDark {
87 static const Color historyPanelButton = Color.fromRGBO(39, 53, 96, 1.0);
88 static const Color menuHeader = Color.fromRGBO(41, 52, 84, 1.0);
89 static const Color menuList = Color.fromRGBO(48, 59, 95, 1.0);
90 + static const Color selectButtonText = Color.fromRGBO(57, 74, 95, 1.0);
91 }
\ No newline at end of file
lib/router.dart
+5 -1
@@ -87,6 +87,7 @@ import 'package:cake_wallet/src/screens/auth/create_login_page.dart';
87 import 'package:cake_wallet/src/screens/seed/create_seed_page.dart';
88 import 'package:cake_wallet/src/screens/dashboard/create_dashboard_page.dart';
89 import 'package:cake_wallet/src/screens/welcome/create_welcome_page.dart';
90 +import 'package:cake_wallet/src/screens/new_wallet/new_wallet_type_page.dart';
91
92 class Router {
93 static Route<dynamic> generateRoute(
@@ -117,7 +118,10 @@ class Router {
118 sharedPreferences: sharedPreferences)),
119 child: SetupPinCodePage(
120 onPinCodeSetup: (context, _) =>
120 - Navigator.pushNamed(context, Routes.newWallet))));
121 + Navigator.pushNamed(context, Routes.newWalletType))));
122 +
123 + case Routes.newWalletType:
124 + return CupertinoPageRoute<void>(builder: (_) => NewWalletTypePage());
125
126 case Routes.newWallet:
127 return CupertinoPageRoute<void>(
lib/routes.dart
+1
@@ -44,4 +44,5 @@ class Routes {
44 static const rescan = '/rescan';
45 static const faq = '/faq';
46 static const changeLanguage = '/change_language';
47 + static const newWalletType = '/new_wallet_type';
48 }
\ No newline at end of file
lib/src/screens/accounts/account_page.dart
+1 -4
@@ -98,10 +98,7 @@ class AccountFormState extends State<AccountForm> {
98 .primaryTextTheme
99 .button
100 .backgroundColor,
101 - borderColor: Theme.of(context)
102 - .primaryTextTheme
103 - .button
104 - .decorationColor,
101 + textColor: Theme.of(context).primaryTextTheme.button.color,
102 isLoading: accountListStore.isAccountCreating,
103 ))
104 ],
lib/src/screens/exchange/exchange_page.dart
+1 -4
@@ -255,10 +255,7 @@ class ExchangeFormState extends State<ExchangeForm> {
255 .primaryTextTheme
256 .button
257 .backgroundColor,
258 - borderColor: Theme.of(context)
259 - .primaryTextTheme
260 - .button
261 - .decorationColor,
258 + textColor: Theme.of(context).primaryTextTheme.button.color,
259 isLoading: exchangeStore.tradeState is TradeIsCreating,
260 )),
261 Observer(builder: (_) {
lib/src/screens/exchange_trade/exchange_trade_page.dart
+1 -4
@@ -315,10 +315,7 @@ class ExchangeTradeState extends State<ExchangeTradeForm> {
315 .primaryTextTheme
316 .button
317 .backgroundColor,
318 - borderColor: Theme.of(context)
319 - .primaryTextTheme
320 - .button
321 - .decorationColor),
318 + textColor: Theme.of(context).primaryTextTheme.button.color),
319 )
320 : Offstage()),
321 );
lib/src/screens/new_wallet/new_wallet_page.dart
+130 -62
@@ -14,7 +14,7 @@ import 'package:cake_wallet/src/widgets/primary_button.dart';
14 import 'package:cake_wallet/src/widgets/scollable_with_bottom_section.dart';
15 import 'package:cake_wallet/palette.dart';
16 import 'package:cake_wallet/src/stores/seed_language/seed_language_store.dart';
17 -import 'package:cake_wallet/src/screens/seed_language/widgets/seed_language_picker.dart';
17 +import 'package:cake_wallet/src/screens/new_wallet/widgets/select_button.dart';
18
19 class NewWalletPage extends BasePage {
20 NewWalletPage(
@@ -29,6 +29,9 @@ class NewWalletPage extends BasePage {
29 @override
30 String get title => S.current.new_wallet;
31
32 + @override
33 + Color get backgroundColor => PaletteDark.historyPanel;
34 +
35 @override
36 Widget body(BuildContext context) => WalletNameForm();
37 }
@@ -39,8 +42,47 @@ class WalletNameForm extends StatefulWidget {
42 }
43
44 class _WalletNameFormState extends State<WalletNameForm> {
45 + static const aspectRatioImage = 1.22;
46 +
47 + final List<String> seedLocales = [
48 + S.current.seed_language_english,
49 + S.current.seed_language_chinese,
50 + S.current.seed_language_dutch,
51 + S.current.seed_language_german,
52 + S.current.seed_language_japanese,
53 + S.current.seed_language_portuguese,
54 + S.current.seed_language_russian,
55 + S.current.seed_language_spanish
56 + ];
57 +
58 final _formKey = GlobalKey<FormState>();
59 final nameController = TextEditingController();
60 + final walletNameImage = Image.asset('assets/images/wallet_name.png');
61 +
62 + bool isDisabledButton;
63 +
64 + @override
65 + void initState() {
66 + isDisabledButton = true;
67 +
68 + nameController.addListener(() {
69 + if (nameController.text.isNotEmpty) {
70 + isDisabledButton = false;
71 + } else {
72 + isDisabledButton = true;
73 + }
74 +
75 + setState(() {});
76 + });
77 +
78 + super.initState();
79 + }
80 +
81 + @override
82 + void dispose() {
83 + nameController.dispose();
84 + super.dispose();
85 + }
86
87 @override
88 Widget build(BuildContext context) {
@@ -52,7 +94,7 @@ class _WalletNameFormState extends State<WalletNameForm> {
94 Navigator.of(context).popUntil((route) => route.isFirst);
95 }
96
55 - if (state is WalletCreationFailure) {
97 + if (state is WalletCreationFailure) { // FIXME: apply new alert dialog
98 WidgetsBinding.instance.addPostFrameCallback((_) {
99 showDialog<void>(
100 context: context,
@@ -71,66 +113,92 @@ class _WalletNameFormState extends State<WalletNameForm> {
113 }
114 });
115
74 - return ScrollableWithBottomSection(
75 - content: Column(children: [
76 - Padding(
77 - padding: EdgeInsets.only(bottom: 10),
78 - child: Image.asset('assets/images/bitmap.png',
79 - height: 224, width: 400),
80 - ),
81 - Padding(
82 - padding: EdgeInsets.only(left: 20, right: 20, bottom: 20),
83 - child: Form(
84 - key: _formKey,
85 - child: TextFormField(
86 - style: TextStyle(
87 - fontSize: 24.0,
88 - color: Theme.of(context).accentTextTheme.subtitle.color),
89 - controller: nameController,
90 - decoration: InputDecoration(
91 - hintStyle: TextStyle(
92 - fontSize: 24.0, color: Theme.of(context).hintColor),
93 - hintText: S.of(context).wallet_name,
94 - focusedBorder: UnderlineInputBorder(
95 - borderSide:
96 - BorderSide(color: Palette.cakeGreen, width: 2.0)),
97 - enabledBorder: UnderlineInputBorder(
98 - borderSide: BorderSide(
99 - color: Theme.of(context).focusColor,
100 - width: 1.0))),
101 - validator: (value) {
102 - walletCreationStore.validateWalletName(value);
103 - return walletCreationStore.errorMessage;
104 - },
105 - )),
106 - ),
107 - Padding(padding: EdgeInsets.only(bottom: 20),
108 - child: Text(
109 - S.of(context).seed_language_choose,
110 - textAlign: TextAlign.center,
111 - style: TextStyle(fontSize: 16.0),
116 + return Container(
117 + color: PaletteDark.historyPanel,
118 + padding: EdgeInsets.only(top: 24),
119 + child: ScrollableWithBottomSection(
120 + contentPadding: EdgeInsets.only(left: 24, right: 24, bottom: 24),
121 + content: Column(
122 + crossAxisAlignment: CrossAxisAlignment.center,
123 + children: [
124 + Padding(
125 + padding: EdgeInsets.only(left: 12, right: 12),
126 + child: AspectRatio(
127 + aspectRatio: aspectRatioImage,
128 + child: FittedBox(child: walletNameImage, fit: BoxFit.fill)),
129 + ),
130 + Padding(
131 + padding: EdgeInsets.only(top: 24),
132 + child: Form(
133 + key: _formKey,
134 + child: TextFormField(
135 + textAlign: TextAlign.center,
136 + style: TextStyle(
137 + fontSize: 20.0,
138 + fontWeight: FontWeight.w600,
139 + color: Colors.white),
140 + controller: nameController,
141 + decoration: InputDecoration(
142 + hintStyle: TextStyle(
143 + fontSize: 16.0,
144 + color: PaletteDark.walletCardText),
145 + hintText: S.of(context).wallet_name,
146 + focusedBorder: UnderlineInputBorder(
147 + borderSide:
148 + BorderSide(
149 + color: PaletteDark.walletCardSubAddressField,
150 + width: 1.0)),
151 + enabledBorder: UnderlineInputBorder(
152 + borderSide: BorderSide(
153 + color: PaletteDark.walletCardSubAddressField,
154 + width: 1.0))),
155 + validator: (value) {
156 + walletCreationStore.validateWalletName(value);
157 + return walletCreationStore.errorMessage;
158 + },
159 + )),
160 + ),
161 + Padding(padding: EdgeInsets.only(top: 40),
162 + child: Text(
163 + S.of(context).seed_language_choose,
164 + textAlign: TextAlign.center,
165 + style: TextStyle(
166 + fontSize: 16.0,
167 + fontWeight: FontWeight.w600,
168 + color: Colors.white
169 + ),
170 + ),
171 ),
113 - ),
114 - Padding(padding: EdgeInsets.only(left: 20, right: 20, bottom: 20),
115 - child: SeedLanguagePicker(),
116 - )
117 - ]),
118 - bottomSection: Observer(
119 - builder: (context) {
120 - return LoadingPrimaryButton(
121 - onPressed: () {
122 - if (_formKey.currentState.validate()) {
123 - walletCreationStore.create(name: nameController.text,
124 - language: seedLanguageStore.selectedSeedLanguage);
125 - }
126 - },
127 - text: S.of(context).continue_text,
128 - color: Theme.of(context).primaryTextTheme.button.backgroundColor,
129 - borderColor:
130 - Theme.of(context).primaryTextTheme.button.decorationColor,
131 - isLoading: walletCreationStore.state is WalletIsCreating,
132 - );
133 - },
134 - ));
172 + Padding(padding: EdgeInsets.only(top: 24),
173 + child: Observer(
174 + builder: (_) => SelectButton(
175 + image: null,
176 + text: seedLocales[seedLanguages.indexOf(seedLanguageStore.selectedSeedLanguage)],
177 + color: PaletteDark.menuList,
178 + textColor: Colors.white,
179 + onTap: () {} // FIXME: apply picker
180 + )
181 + ),
182 + )
183 + ]),
184 + bottomSectionPadding: EdgeInsets.only(left: 24, right: 24, bottom: 24),
185 + bottomSection: Observer(
186 + builder: (context) {
187 + return LoadingPrimaryButton(
188 + onPressed: () {
189 + if (_formKey.currentState.validate()) {
190 + walletCreationStore.create(name: nameController.text,
191 + language: seedLanguageStore.selectedSeedLanguage);
192 + }
193 + },
194 + text: S.of(context).continue_text,
195 + color: Colors.green,
196 + textColor: Colors.white,
197 + isLoading: walletCreationStore.state is WalletIsCreating,
198 + isDisabled: isDisabledButton,
199 + );
200 + },
201 + )),
202 + );
203 }
204 }
lib/src/screens/new_wallet/new_wallet_type_page.dart new
+146
@@ -0,0 +1,146 @@
1 +import 'package:flutter/material.dart';
2 +import 'package:flutter/cupertino.dart';
3 +import 'package:cake_wallet/generated/i18n.dart';
4 +import 'package:cake_wallet/src/screens/base_page.dart';
5 +import 'package:cake_wallet/src/widgets/primary_button.dart';
6 +import 'package:cake_wallet/src/widgets/scollable_with_bottom_section.dart';
7 +import 'package:cake_wallet/palette.dart';
8 +import 'package:cake_wallet/src/screens/new_wallet/widgets/select_button.dart';
9 +import 'package:cake_wallet/routes.dart';
10 +
11 +class NewWalletTypePage extends BasePage {
12 + @override
13 + String get title => S.current.new_wallet;
14 +
15 + @override
16 + Color get backgroundColor => PaletteDark.historyPanel;
17 +
18 + @override
19 + Widget body(BuildContext context) => WalletTypeForm();
20 +}
21 +
22 +class WalletTypeForm extends StatefulWidget {
23 + @override
24 + WalletTypeFormState createState() => WalletTypeFormState();
25 +}
26 +
27 +class WalletTypeFormState extends State<WalletTypeForm> {
28 + static const aspectRatioImage = 1.22;
29 +
30 + final moneroIcon = Image.asset('assets/images/monero.png', height: 24, width: 24);
31 + final bitcoinIcon = Image.asset('assets/images/bitcoin.png', height: 24, width: 24);
32 + final walletTypeImage = Image.asset('assets/images/wallet_type.png');
33 +
34 + bool isDisabledButton;
35 + bool isMoneroSelected;
36 + bool isBitcoinSelected;
37 +
38 + Color moneroBackgroundColor;
39 + Color moneroTextColor;
40 + Color bitcoinBackgroundColor;
41 + Color bitcoinTextColor;
42 +
43 + @override
44 + void initState() {
45 + isDisabledButton = true;
46 + isMoneroSelected = false;
47 + isBitcoinSelected = false;
48 +
49 + moneroBackgroundColor = PaletteDark.menuList;
50 + moneroTextColor = Colors.white;
51 + bitcoinBackgroundColor = PaletteDark.menuList;
52 + bitcoinTextColor = Colors.white;
53 +
54 + super.initState();
55 + }
56 +
57 + @override
58 + Widget build(BuildContext context) {
59 + return Container(
60 + color: PaletteDark.historyPanel,
61 + padding: EdgeInsets.only(top: 24),
62 + child: ScrollableWithBottomSection(
63 + contentPadding: EdgeInsets.only(left: 24, right: 24, bottom: 24),
64 + content: Column(
65 + crossAxisAlignment: CrossAxisAlignment.center,
66 + children: <Widget>[
67 + Padding(
68 + padding: EdgeInsets.only(left: 12, right: 12),
69 + child: AspectRatio(
70 + aspectRatio: aspectRatioImage,
71 + child: FittedBox(child: walletTypeImage, fit: BoxFit.fill)),
72 + ),
73 + Padding(
74 + padding: EdgeInsets.only(top: 48),
75 + child: Text(
76 + 'Please choose wallet currency:',
77 + textAlign: TextAlign.center,
78 + style: TextStyle(
79 + fontSize: 16,
80 + fontWeight: FontWeight.w600,
81 + color: Colors.white
82 + ),
83 + ),
84 + ),
85 + Padding(
86 + padding: EdgeInsets.only(top: 24),
87 + child: SelectButton(
88 + image: bitcoinIcon,
89 + text: 'Bitcoin',
90 + color: bitcoinBackgroundColor,
91 + textColor: bitcoinTextColor,
92 + onTap: () => onSelectBitcoinButton()),
93 + ),
94 + Padding(
95 + padding: EdgeInsets.only(top: 20),
96 + child: SelectButton(
97 + image: moneroIcon,
98 + text: 'Monero',
99 + color: moneroBackgroundColor,
100 + textColor: moneroTextColor,
101 + onTap: () => onSelectMoneroButton()),
102 + )
103 + ],
104 + ),
105 + bottomSectionPadding: EdgeInsets.only(
106 + left: 24,
107 + right: 24,
108 + bottom: 24
109 + ),
110 + bottomSection: PrimaryButton(
111 + onPressed: () => Navigator.of(context).pushNamed(Routes.newWallet),
112 + text: S.of(context).seed_language_next,
113 + color: Colors.green,
114 + textColor: Colors.white,
115 + isDisabled: isDisabledButton,
116 + ),
117 + ),
118 + );
119 + }
120 +
121 + void onSelectMoneroButton() {
122 + isMoneroSelected = true;
123 + isBitcoinSelected = false;
124 + isDisabledButton = false;
125 +
126 + moneroBackgroundColor = Colors.white;
127 + moneroTextColor = PaletteDark.selectButtonText;
128 + bitcoinBackgroundColor = PaletteDark.menuList;
129 + bitcoinTextColor = Colors.white;
130 +
131 + setState(() {});
132 + }
133 +
134 + void onSelectBitcoinButton() {
135 + isMoneroSelected = false;
136 + isBitcoinSelected = true;
137 + isDisabledButton = false;
138 +
139 + moneroBackgroundColor = PaletteDark.menuList;
140 + moneroTextColor = Colors.white;
141 + bitcoinBackgroundColor = Colors.white;
142 + bitcoinTextColor = PaletteDark.selectButtonText;
143 +
144 + setState(() {});
145 + }
146 +}
\ No newline at end of file
lib/src/screens/new_wallet/widgets/select_button.dart new
+66
@@ -0,0 +1,66 @@
1 +import 'package:flutter/material.dart';
2 +
3 +class SelectButton extends StatelessWidget {
4 + SelectButton({
5 + @required this.image,
6 + @required this.text,
7 + @required this.color,
8 + @required this.textColor,
9 + @required this.onTap,
10 + });
11 +
12 + final Image image;
13 + final String text;
14 + final Color color;
15 + final Color textColor;
16 + final VoidCallback onTap;
17 +
18 + final selectArrowImage = Image.asset('assets/images/select_arrow.png');
19 +
20 + @override
21 + Widget build(BuildContext context) {
22 + return GestureDetector(
23 + onTap: onTap,
24 + child: Container(
25 + width: double.infinity,
26 + height: 60,
27 + padding: EdgeInsets.only(left: 30, right: 30),
28 + alignment: Alignment.center,
29 + decoration: BoxDecoration(
30 + borderRadius: BorderRadius.all(Radius.circular(30)),
31 + color: color
32 + ),
33 + child: Row(
34 + mainAxisSize: MainAxisSize.max,
35 + mainAxisAlignment: MainAxisAlignment.spaceBetween,
36 + crossAxisAlignment: CrossAxisAlignment.center,
37 + children: <Widget>[
38 + Row(
39 + mainAxisAlignment: MainAxisAlignment.start,
40 + crossAxisAlignment: CrossAxisAlignment.center,
41 + children: <Widget>[
42 + image != null
43 + ? image
44 + : Offstage(),
45 + Padding(
46 + padding: image != null
47 + ? EdgeInsets.only(left: 15)
48 + : EdgeInsets.only(left: 0),
49 + child: Text(
50 + text,
51 + style: TextStyle(
52 + fontSize: 18,
53 + fontWeight: FontWeight.w600,
54 + color: textColor
55 + ),
56 + ),
57 + )
58 + ],
59 + ),
60 + selectArrowImage
61 + ],
62 + ),
63 + ),
64 + );
65 + }
66 +}
\ No newline at end of file
lib/src/screens/rescan/rescan_page.dart
+1 -2
@@ -33,8 +33,7 @@ class RescanPage extends BasePage {
33 },
34 color:
35 Theme.of(context).primaryTextTheme.button.backgroundColor,
36 - borderColor:
37 - Theme.of(context).primaryTextTheme.button.decorationColor))
36 + textColor: Theme.of(context).primaryTextTheme.button.color,))
37 ]),
38 );
39 }
lib/src/screens/restore/restore_wallet_from_keys_page.dart
+1 -2
@@ -217,8 +217,7 @@ class _RestoreFromKeysFromState extends State<RestoreFromKeysFrom> {
217 },
218 text: S.of(context).restore_recover,
219 color: Theme.of(context).primaryTextTheme.button.backgroundColor,
220 - borderColor:
221 - Theme.of(context).primaryTextTheme.button.decorationColor);
220 + textColor: Theme.of(context).primaryTextTheme.button.color,);
221 }),
222 );
223 }
lib/src/screens/restore/restore_wallet_from_seed_details.dart
+1 -2
@@ -118,8 +118,7 @@ class _RestoreFromSeedDetailsFormState
118 isLoading: walletRestorationStore.state is WalletIsRestoring,
119 text: S.of(context).restore_recover,
120 color: Theme.of(context).primaryTextTheme.button.backgroundColor,
121 - borderColor:
122 - Theme.of(context).primaryTextTheme.button.decorationColor);
121 + textColor: Theme.of(context).primaryTextTheme.button.color,);
122 }),
123 );
124 }
lib/src/screens/send/send_page.dart
+1 -2
@@ -436,8 +436,7 @@ class SendFormState extends State<SendForm> {
436 : null,
437 text: S.of(context).send,
438 color: Theme.of(context).accentTextTheme.button.backgroundColor,
439 - borderColor:
440 - Theme.of(context).accentTextTheme.button.decorationColor,
439 + textColor: Theme.of(context).primaryTextTheme.button.color,
440 isLoading: sendStore.state is CreatingTransaction ||
441 sendStore.state is TransactionCommiting);
442 }));
lib/src/screens/subaddress/new_subaddress_page.dart
+1 -4
@@ -89,10 +89,7 @@ class NewSubaddressFormState extends State<NewSubaddressForm> {
89 .accentTextTheme
90 .button
91 .backgroundColor,
92 - borderColor: Theme.of(context)
93 - .accentTextTheme
94 - .button
95 - .decorationColor,
92 + textColor: Theme.of(context).primaryTextTheme.button.color,
93 isLoading:
94 subaddressCreationStore.state is SubaddressIsCreating),
95 ))
lib/src/screens/welcome/welcome_page.dart
+90 -72
@@ -4,12 +4,16 @@ import 'package:cake_wallet/routes.dart';
4 import 'package:cake_wallet/src/widgets/primary_button.dart';
5 import 'package:cake_wallet/src/screens/base_page.dart';
6 import 'package:cake_wallet/generated/i18n.dart';
7 +import 'package:cake_wallet/src/widgets/scollable_with_bottom_section.dart';
8
9 class WelcomePage extends BasePage {
9 - static const _aspectRatioImage = 1.26;
10 - static const _baseWidth = 411.43;
11 - final _image = Image.asset('assets/images/welcomeImg.png');
12 - final _cakeLogo = Image.asset('assets/images/cake_logo.png');
10 + static const aspectRatioImage = 1.25;
11 + final welcomeImage = Image.asset('assets/images/welcome.png');
12 + final newWalletImage = Image.asset('assets/images/new_wallet.png', height: 12, width: 12, color: PaletteDark.historyPanel);
13 + final restoreWalletImage = Image.asset('assets/images/restore_wallet.png', height: 12, width: 12, color: Colors.white);
14 +
15 + @override
16 + Color get backgroundColor => PaletteDark.historyPanel;
17
18 @override
19 Widget build(BuildContext context) {
@@ -21,75 +25,89 @@ class WelcomePage extends BasePage {
25
26 @override
27 Widget body(BuildContext context) {
24 - final _screenWidth = MediaQuery.of(context).size.width;
25 - final textScaleFactor = _screenWidth < _baseWidth ? 0.76 : 1.0;
26 -
27 - return Column(children: <Widget>[
28 - Stack(
29 - alignment: Alignment.center,
30 - children: <Widget>[
31 - AspectRatio(
32 - aspectRatio: _aspectRatioImage,
33 - child: FittedBox(child: _image, fit: BoxFit.fill)),
34 - Positioned(bottom: 0.0, child: _cakeLogo)
35 - ],
36 - ),
37 - Expanded(
38 - child: Column(
39 - mainAxisAlignment: MainAxisAlignment.spaceEvenly,
40 - children: <Widget>[
41 - Text(
42 - S.of(context).welcome,
43 - style: TextStyle(
44 - fontSize: 30.0,
45 - fontWeight: FontWeight.bold,
46 - ),
47 - textScaleFactor: textScaleFactor,
48 - textAlign: TextAlign.center,
49 - ),
50 - Text(
51 - S.of(context).first_wallet_text,
52 - style: TextStyle(
53 - fontSize: 22.0,
54 - color: Palette.lightBlue,
55 - ),
56 - textScaleFactor: textScaleFactor,
57 - textAlign: TextAlign.center,
28 + return Container(
29 + padding: EdgeInsets.only(top: 20),
30 + color: PaletteDark.historyPanel,
31 + child: ScrollableWithBottomSection(
32 + contentPadding: EdgeInsets.only(bottom: 20),
33 + content: Column(
34 + children: <Widget>[
35 + AspectRatio(
36 + aspectRatio: aspectRatioImage,
37 + child: FittedBox(child: welcomeImage, fit: BoxFit.fill)),
38 + Padding(
39 + padding: EdgeInsets.only(left: 24, right: 24, top: 40),
40 + child: Column(
41 + mainAxisAlignment: MainAxisAlignment.start,
42 + crossAxisAlignment: CrossAxisAlignment.center,
43 + children: <Widget>[
44 + Text(
45 + S.of(context).welcome,
46 + style: TextStyle(
47 + fontSize: 18,
48 + color: PaletteDark.walletCardText,
49 + ),
50 + textAlign: TextAlign.center,
51 + ),
52 + Padding(
53 + padding: EdgeInsets.only(top: 10),
54 + child: Text(
55 + S.of(context).cake_wallet,
56 + style: TextStyle(
57 + fontSize: 36,
58 + fontWeight: FontWeight.bold,
59 + color: Colors.white,
60 + ),
61 + textAlign: TextAlign.center,
62 + ),
63 + ),
64 + Padding(
65 + padding: EdgeInsets.only(top: 14),
66 + child: Text(
67 + S.of(context).first_wallet_text,
68 + style: TextStyle(
69 + fontSize: 16,
70 + fontWeight: FontWeight.w600,
71 + color: PaletteDark.walletCardText,
72 + ),
73 + textAlign: TextAlign.center,
74 + ),
75 + ),
76 + ],
77 ),
59 - Text(
60 - S.of(context).please_make_selection,
61 - style: TextStyle(
62 - fontSize: 16.0,
63 - color: Palette.lightBlue,
64 - ),
65 - textScaleFactor: textScaleFactor,
66 - textAlign: TextAlign.center,
67 - )
68 - ]),
69 - ),
70 - Container(
71 - padding: EdgeInsets.fromLTRB(20.0, 10.0, 20.0, 20.0),
72 - child: Column(children: <Widget>[
73 - PrimaryButton(
74 - onPressed: () {
75 - Navigator.pushNamed(context, Routes.newWalletFromWelcome);
76 - },
77 - text: S.of(context).create_new,
78 - color:
79 - Theme.of(context).primaryTextTheme.button.backgroundColor,
80 - textColor:
81 - Theme.of(context).primaryTextTheme.button.color),
82 - SizedBox(height: 10),
83 - PrimaryButton(
84 - onPressed: () {
85 - Navigator.pushNamed(context, Routes.restoreOptions);
86 - },
87 - color: Theme.of(context).accentTextTheme.caption.backgroundColor,
88 - textColor:
89 - Theme.of(context).primaryTextTheme.button.color,
90 - text: S.of(context).restore_wallet,
78 )
92 - ]))
93 - ]);
79 + ],
80 + ),
81 + bottomSectionPadding: EdgeInsets.only(left: 24, right: 24, bottom: 20),
82 + bottomSection: Column(children: <Widget>[
83 + Text(
84 + S.of(context).please_make_selection,
85 + style: TextStyle(
86 + fontSize: 12,
87 + color: PaletteDark.walletCardText,
88 + ),
89 + textAlign: TextAlign.center,
90 + ),
91 + Padding(
92 + padding: EdgeInsets.only(top: 24),
93 + child: PrimaryImageButton(
94 + onPressed: () => Navigator.pushNamed(context, Routes.newWalletFromWelcome),
95 + image: newWalletImage,
96 + text: S.of(context).create_new,
97 + color: Colors.white,
98 + textColor: PaletteDark.historyPanel),
99 + ),
100 + Padding(
101 + padding: EdgeInsets.only(top: 10),
102 + child: PrimaryImageButton(
103 + onPressed: () => Navigator.pushNamed(context, Routes.restoreOptions),
104 + image: restoreWalletImage,
105 + text: S.of(context).restore_wallet,
106 + color: PaletteDark.historyPanelButton,
107 + textColor: Colors.white),
108 + )
109 + ]),
110 + ),
111 + );
112 }
113 }
lib/src/widgets/primary_button.dart
+17 -40
@@ -1,6 +1,5 @@
1 import 'package:flutter/cupertino.dart';
2 import 'package:flutter/material.dart';
3 -import 'package:cake_wallet/palette.dart';
3
4 class PrimaryButton extends StatelessWidget {
5 const PrimaryButton(
@@ -27,7 +26,8 @@ class PrimaryButton extends StatelessWidget {
26 onPressed: isDisabled
27 ? (onDisabledPressed != null ? onDisabledPressed : null)
28 : onPressed,
30 - color: isDisabled ? Colors.transparent : color,
29 + color: color,
30 + disabledColor: color.withOpacity(0.5),
31 shape: RoundedRectangleBorder(
32 borderRadius: BorderRadius.circular(26.0)),
33 child: Text(text,
@@ -35,8 +35,9 @@ class PrimaryButton extends StatelessWidget {
35 fontSize: 15.0,
36 fontWeight: FontWeight.w600,
37 color: isDisabled
38 - ? Palette.darkGrey
39 - : textColor)),
38 + ? Colors.grey.withOpacity(0.5)
39 + : textColor
40 + )),
41 ));
42 }
43 }
@@ -46,13 +47,13 @@ class LoadingPrimaryButton extends StatelessWidget {
47 {@required this.onPressed,
48 @required this.text,
49 @required this.color,
49 - @required this.borderColor,
50 + @required this.textColor,
51 this.isDisabled = false,
52 this.isLoading = false});
53
54 final VoidCallback onPressed;
55 final Color color;
55 - final Color borderColor;
56 + final Color textColor;
57 final bool isLoading;
58 final bool isDisabled;
59 final String text;
@@ -61,19 +62,23 @@ class LoadingPrimaryButton extends StatelessWidget {
62 Widget build(BuildContext context) {
63 return ButtonTheme(
64 minWidth: double.infinity,
64 - height: 56.0,
65 + height: 52.0,
66 child: FlatButton(
67 onPressed: (isLoading || isDisabled) ? null : onPressed,
68 color: color,
69 + disabledColor: color.withOpacity(0.5),
70 shape: RoundedRectangleBorder(
69 - side: BorderSide(color: borderColor),
70 - borderRadius: BorderRadius.circular(10.0)),
71 + borderRadius: BorderRadius.circular(26.0)),
72 child: isLoading
73 ? CupertinoActivityIndicator(animating: true)
74 : Text(text,
74 - style: TextStyle(
75 - fontSize: 16.0,
76 - color: Theme.of(context).primaryTextTheme.button.color)),
75 + style: TextStyle(
76 + fontSize: 15.0,
77 + fontWeight: FontWeight.w600,
78 + color: isDisabled
79 + ? Colors.grey.withOpacity(0.5)
80 + : textColor
81 + )),
82 ));
83 }
84 }
@@ -179,34 +184,6 @@ class PrimaryImageButton extends StatelessWidget {
184 ],
185 ),
186 )
182 - /*Row(
183 - children: <Widget>[
184 - Container(
185 - width: 28.0,
186 - height: 56.0,
187 - decoration: BoxDecoration(
188 - shape: BoxShape.circle, color: Colors.transparent),
189 - child: image,
190 - ),
191 - Expanded(
192 - child: Row(
193 - mainAxisAlignment: MainAxisAlignment.center,
194 - children: <Widget>[
195 - Container(
196 - height: 56.0,
197 - child: Center(
198 - child: Text(text,
199 - style: TextStyle(
200 - fontSize: 18.0,
201 - color: Theme.of(context)
202 - .primaryTextTheme
203 - .button
204 - .color)),
205 - ),
206 - )
207 - ]))
208 - ],
209 - ),*/
187 ));
188 }
189 }
res/values/strings_de.arb
+5 -4
@@ -1,8 +1,9 @@
1 {
2 - "welcome" : "Willkommen\nzu CAKE WALLET",
3 - "first_wallet_text" : "tolle Brieftasche\nzum Monero",
4 - "please_make_selection" : "Bitte treffen Sie unten eine Auswahl zu\nErstellen oder Wiederherstellen Ihrer Brieftasche.",
5 - "create_new" : "Erstelle neu",
2 + "welcome" : "Willkommen zu",
3 + "cake_wallet" : "Cake Wallet",
4 + "first_wallet_text" : "tolle Brieftasche zum Monero",
5 + "please_make_selection" : "Bitte treffen Sie unten eine Auswahl zu Erstellen oder Wiederherstellen Ihrer Brieftasche.",
6 + "create_new" : "Neue Wallet erstellen",
7 "restore_wallet" : "Wallet wiederherstellen",
8
9
res/values/strings_en.arb
+6 -5
@@ -1,9 +1,10 @@
1 {
2 - "welcome" : "WELCOME\nTO CAKE WALLET",
3 - "first_wallet_text" : "Awesome wallet\nfor Monero",
4 - "please_make_selection" : "Please make selection below to\ncreate or recover your wallet.",
5 - "create_new" : "Create new",
6 - "restore_wallet" : "Restore wallet",
2 + "welcome" : "Welcome to",
3 + "cake_wallet" : "Cake Wallet",
4 + "first_wallet_text" : "Awesome wallet for Monero",
5 + "please_make_selection" : "Please make selection below to create or recover your wallet.",
6 + "create_new" : "Create New Wallet",
7 + "restore_wallet" : "Restore Wallet",
8
9
10 "accounts" : "Accounts",
res/values/strings_es.arb
+5 -4
@@ -1,8 +1,9 @@
1 {
2 - "welcome" : "Bienvenido\n CAKE WALLET",
3 - "first_wallet_text" : "Impresionante billetera\npara Monero",
4 - "please_make_selection" : "Seleccione a continuación para\ncrear o recuperar su billetera.",
5 - "create_new" : "Crear nuevo",
2 + "welcome" : "Bienvenido",
3 + "cake_wallet" : "Cake Wallet",
4 + "first_wallet_text" : "Impresionante billetera para Monero",
5 + "please_make_selection" : "Seleccione a continuación para crear o recuperar su billetera.",
6 + "create_new" : "Crear nueva billetera",
7 "restore_wallet" : "Restaurar billetera",
8
9
res/values/strings_hi.arb
+5 -4
@@ -1,8 +1,9 @@
1 {
2 - "welcome" : "स्वागत हे\nसेवा मेरे CAKE WALLET",
3 - "first_wallet_text" : "बहुत बढ़िया बटुआ\nके लिये Monero",
4 - "please_make_selection" : "कृपया नीचे चयन करें\nअपना बटुआ बनाएं या पुनर्प्राप्त करें.",
5 - "create_new" : "नया बनाओ",
2 + "welcome" : "स्वागत हे सेवा मेरे",
3 + "cake_wallet" : "Cake Wallet",
4 + "first_wallet_text" : "बहुत बढ़िया बटुआ के लिये Monero",
5 + "please_make_selection" : "कृपया नीचे चयन करें अपना बटुआ बनाएं या पुनर्प्राप्त करें.",
6 + "create_new" : "नया बटुआ बनाएँ",
7 "restore_wallet" : "वॉलेट को पुनर्स्थापित करें",
8
9
res/values/strings_ja.arb
+6 -5
@@ -1,9 +1,10 @@
1 {
2 - "welcome" : "ようこそ\nに CAKE WALLET",
3 - "first_wallet_text" : "素晴らしい財布\nために Monero",
4 - "please_make_selection" : "以下を選択してください\nウォレットを作成または回復する.",
5 - "create_new" : "新しく作る",
6 - "restore_wallet" : "ウォレットを復元する",
2 + "welcome" : "ようこそ に",
3 + "cake_wallet" : "Cake Wallet",
4 + "first_wallet_text" : "素晴らしい財布 ために Monero",
5 + "please_make_selection" : "以下を選択してください ウォレットを作成または回復する.",
6 + "create_new" : "新しいウォレットを作成",
7 + "restore_wallet" : "ウォレットを復元",
8
9
10 "accounts" : "アカウント",
res/values/strings_ko.arb
+6 -5
@@ -1,9 +1,10 @@
1 {
2 - "welcome" : "환영\n에 CAKE WALLET",
3 - "first_wallet_text" : "멋진 지갑\n에 대한 Monero",
4 - "please_make_selection" : "아래에서 선택하십시오\n지갑 만들기 또는 복구.",
5 - "create_new" : "새로 만들기",
6 - "restore_wallet" : "지갑 복원",
2 + "welcome" : "환영 에",
3 + "cake_wallet" : "Cake Wallet",
4 + "first_wallet_text" : "멋진 지갑 에 대한 Monero",
5 + "please_make_selection" : "아래에서 선택하십시오 지갑 만들기 또는 복구.",
6 + "create_new" : "새 월렛 만들기",
7 + "restore_wallet" : "월렛 복원",
8
9
10 "accounts" : "계정",
res/values/strings_nl.arb
+5 -4
@@ -1,8 +1,9 @@
1 {
2 - "welcome" : "WELKOM\nBIJ CAKE WALLET",
3 - "first_wallet_text" : "Geweldige portemonnee\nfvoor Monero",
4 - "please_make_selection" : "Maak hieronder uw keuze tot\nmaak of herstel je portemonnee.",
5 - "create_new" : "Maak nieuw",
2 + "welcome" : "Welkom bij",
3 + "cake_wallet" : "Cake Wallet",
4 + "first_wallet_text" : "Geweldige portemonnee fvoor Monero",
5 + "please_make_selection" : "Maak hieronder uw keuze tot maak of herstel je portemonnee.",
6 + "create_new" : "Maak een nieuwe portemonnee",
7 "restore_wallet" : "Portemonnee herstellen",
8
9
res/values/strings_pl.arb
+5 -4
@@ -1,8 +1,9 @@
1 {
2 - "welcome" : "WITAMY\nW CAKE WALLET",
3 - "first_wallet_text" : "Niesamowity portfel\nfdla Monero",
4 - "please_make_selection" : "Wybierz poniżej, aby\ncutwórz lub odzyskaj swój portfel.",
5 - "create_new" : "Tworzyć nowe",
2 + "welcome" : "Witamy w",
3 + "cake_wallet" : "Cake Wallet",
4 + "first_wallet_text" : "Niesamowity portfel dla Monero",
5 + "please_make_selection" : "Wybierz poniżej, aby cutwórz lub odzyskaj swój portfel.",
6 + "create_new" : "Utwórz nowy portfel",
7 "restore_wallet" : "Przywróć portfel",
8
9
res/values/strings_pt.arb
+5 -4
@@ -1,8 +1,9 @@
1 {
2 - "welcome" : "BEM-VINDO(A)\nÀ CAKE WALLET",
3 - "first_wallet_text" : "Uma fantástica carteira\npara Monero",
4 - "please_make_selection" : "Escolha se quer criar uma carteira nova\nou restaurar uma antiga.",
5 - "create_new" : "Criar carteira",
2 + "welcome" : "Bem-vindo ao",
3 + "cake_wallet" : "Cake Wallet",
4 + "first_wallet_text" : "Uma fantástica carteira para Monero",
5 + "please_make_selection" : "Escolha se quer criar uma carteira nova ou restaurar uma antiga.",
6 + "create_new" : "Criar nova carteira",
7 "restore_wallet" : "Restaurar carteira",
8
9
res/values/strings_ru.arb
+3 -2
@@ -1,8 +1,9 @@
1 {
2 - "welcome" : "Приветствуем в CAKE WALLET",
2 + "welcome" : "Приветствуем в",
3 + "cake_wallet" : "Cake Wallet",
4 "first_wallet_text" : "В самом удобном кошельке для Monero",
5 "please_make_selection" : "Выберите способ создания кошелька: создать новый или восстановить ваш существующий.",
5 - "create_new" : "Создать новый",
6 + "create_new" : "Создать новый кошелёк",
7 "restore_wallet" : "Восстановить кошелёк",
8
9
res/values/strings_uk.arb
+4 -3
@@ -1,8 +1,9 @@
1 {
2 - "welcome" : "Вітаємо в CAKE WALLET",
2 + "welcome" : "Вітаємо в",
3 + "cake_wallet" : "Cake Wallet",
4 "first_wallet_text" : "В самому зручному гаманці для Monero",
4 - "please_make_selection" : "Виберіть спосіб створення гаманця: створити новий чи відновити ваш існуючий.",
5 - "create_new" : "Створити новий",
5 + "please_make_selection" : "Оберіть спосіб створення гаманця: створити новий чи відновити ваш існуючий.",
6 + "create_new" : "Створити новий гаманець",
7 "restore_wallet" : "Відновити гаманець",
8
9
res/values/strings_zh.arb
+5 -4
@@ -1,8 +1,9 @@
1 {
2 - "welcome" : "欢迎\nTO CAKE WALLET",
3 - "first_wallet_text" : "很棒的钱包\n对于 Monero",
4 - "please_make_selection" : "请在下面进行选择\nc创建或恢复您的钱包.",
5 - "create_new" : "创建新的",
2 + "welcome" : "歡迎來到",
3 + "cake_wallet" : "Cake Wallet",
4 + "first_wallet_text" : "很棒的钱包 对于 Monero",
5 + "please_make_selection" : "请在下面进行选择 创建或恢复您的钱包.",
6 + "create_new" : "创建新钱包",
7 "restore_wallet" : "恢复钱包",
8
9