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