Merge pull request #53 from cake-tech/CWA-204-rework-new-wallet-creation

Cwa 204 rework new wallet creation
This commit is contained in:
Oleksandr Sobol 2020-05-01 22:37:30 +03:00 committed by GitHub
commit 83f9c034d9
83 changed files with 969 additions and 382 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,017 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,001 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 959 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 954 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 385 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 944 B

BIN
assets/images/2.0x/usa.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 497 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
assets/images/3.0x/usa.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 286 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 791 KiB

BIN
assets/images/bitcoin.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
assets/images/china.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 582 B

BIN
assets/images/germany.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 576 B

BIN
assets/images/holland.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 596 B

BIN
assets/images/india.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 683 B

BIN
assets/images/japan.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 570 B

BIN
assets/images/poland.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 538 B

BIN
assets/images/portugal.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 773 B

BIN
assets/images/russia.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 557 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 680 B

BIN
assets/images/spain.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 518 B

BIN
assets/images/usa.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 838 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

BIN
assets/images/welcome.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

View file

@ -40,12 +40,14 @@ class S implements WidgetsLocalizations {
String get available_balance => "Available Balance";
String get biometric_auth_reason => "Scan your fingerprint to authenticate";
String get buy => "Buy";
String get cake_wallet => "Cake Wallet";
String get cancel => "Cancel";
String get card_address => "Address:";
String get change => "Change";
String get change_currency => "Change Currency";
String get change_exchange_provider => "Change Exchange Provider";
String get change_language => "Change language";
String get choose_wallet_currency => "Please choose wallet currency:";
String get clear => "Clear";
String get confirm => "Confirm";
String get confirm_sending => "Confirm sending";
@ -56,7 +58,7 @@ class S implements WidgetsLocalizations {
String get copy => "Copy";
String get copy_address => "Copy Address";
String get copy_id => "Copy ID";
String get create_new => "Create new";
String get create_new => "Create New Wallet";
String get delete => "Delete";
String get digit_pin => "-digit PIN";
String get edit => "Edit";
@ -84,7 +86,7 @@ class S implements WidgetsLocalizations {
String get faq => "FAQ";
String get fetching => "Fetching";
String get filters => "Filters";
String get first_wallet_text => "Awesome wallet\nfor Monero";
String get first_wallet_text => "Awesome wallet for Monero";
String get full_balance => "Full Balance";
String get hidden_balance => "Hidden Balance";
String get id => "ID: ";
@ -111,7 +113,7 @@ class S implements WidgetsLocalizations {
String get payment_id => "Payment ID: ";
String get pending => " (pending)";
String get pin_is_incorrect => "PIN is incorrect";
String get please_make_selection => "Please make selection below to\ncreate or recover your wallet.";
String get please_make_selection => "Please make selection below to create or recover your wallet.";
String get please_select => "Please select:";
String get please_try_to_connect_to_another_node => "Please try to connect to another node";
String get receive => "Receive";
@ -141,13 +143,14 @@ class S implements WidgetsLocalizations {
String get restore_title_from_seed => "Restore from seed";
String get restore_title_from_seed_keys => "Restore from seed/keys";
String get restore_view_key_private => "View key (private)";
String get restore_wallet => "Restore wallet";
String get restore_wallet => "Restore Wallet";
String get restore_wallet_name => "Wallet name";
String get restore_wallet_restore_description => "Wallet restore description";
String get save => "Save";
String get saved_the_trade_id => "I've saved the trade ID";
String get seed_choose => "Choose seed language";
String get seed_language_chinese => "Chinese";
String get seed_language_choose => "Please choose seed language";
String get seed_language_choose => "Please choose seed language:";
String get seed_language_dutch => "Dutch";
String get seed_language_english => "English";
String get seed_language_german => "German";
@ -262,7 +265,7 @@ class S implements WidgetsLocalizations {
String get wallet_restoration_store_incorrect_seed_length => "Incorrect seed length";
String get wallet_store_monero_wallet => "Monero Wallet";
String get wallets => "Wallets";
String get welcome => "WELCOME\nTO CAKE WALLET";
String get welcome => "Welcome to";
String get widgets_address => "Address";
String get widgets_or => "or";
String get widgets_restore_from_blockheight => "Restore from blockheight";
@ -340,7 +343,7 @@ class $de extends S {
@override
String get trade_state_underpaid => "Unterbezahlt";
@override
String get welcome => "Willkommen\nzu CAKE WALLET";
String get welcome => "Willkommen zu";
@override
String get share_address => "Adresse teilen ";
@override
@ -396,7 +399,7 @@ class $de extends S {
@override
String get restore_title_from_keys => "Wiederherstellen von Schlüsseln";
@override
String get seed_language_choose => "Bitte wählen Sie die Ausgangssprache";
String get seed_language_choose => "Bitte wählen Sie die Ausgangssprache:";
@override
String get wallet_keys => "Wallet schlüssel";
@override
@ -424,6 +427,8 @@ class $de extends S {
@override
String get trade_details_pair => "Paar";
@override
String get choose_wallet_currency => "Bitte wählen Sie die Brieftaschenwährung:";
@override
String get confirm => "Bestätigen";
@override
String get settings_display_balance_as => "Kontostand anzeigen als";
@ -436,7 +441,7 @@ class $de extends S {
@override
String get seed_language_german => "Deutsche";
@override
String get create_new => "Erstelle neu";
String get create_new => "Neue Wallet erstellen";
@override
String get trade_details_fetching => "Holen";
@override
@ -530,7 +535,7 @@ class $de extends S {
@override
String get copy_id => "ID kopieren";
@override
String get please_make_selection => "Bitte treffen Sie unten eine Auswahl zu\nErstellen oder Wiederherstellen Ihrer Brieftasche.";
String get please_make_selection => "Bitte treffen Sie unten eine Auswahl zu Erstellen oder Wiederherstellen Ihrer Brieftasche.";
@override
String get loading_your_wallet => "Laden Sie Ihre Brieftasche";
@override
@ -580,6 +585,8 @@ class $de extends S {
@override
String get saved_the_trade_id => "Ich habe die Geschäfts-ID gespeichert";
@override
String get cake_wallet => "Cake Wallet";
@override
String get settings_currency => "Währung";
@override
String get change_language => "Sprache ändern";
@ -644,6 +651,8 @@ class $de extends S {
@override
String get change_currency => "Währung ändern";
@override
String get seed_choose => "Wählen Sie die Ausgangssprache";
@override
String get transaction_details_amount => "Menge";
@override
String get widgets_address => "Adresse";
@ -812,7 +821,7 @@ class $de extends S {
@override
String get digit_pin => "-stelliger PIN";
@override
String get first_wallet_text => "tolle Brieftasche\nzum Monero";
String get first_wallet_text => "tolle Brieftasche zum Monero";
@override
String get settings_trades => "Handel";
@override
@ -912,7 +921,7 @@ class $hi extends S {
@override
String get trade_state_underpaid => "के तहत भुगतान किया";
@override
String get welcome => "स्वागत हे\nसेवा मेरे CAKE WALLET";
String get welcome => "स्वागत हे सेवा मेरे";
@override
String get share_address => "पता साझा करें";
@override
@ -968,7 +977,7 @@ class $hi extends S {
@override
String get restore_title_from_keys => "कुंजी से पुनर्स्थापित करें";
@override
String get seed_language_choose => "कृपया बीज भाषा चुनें";
String get seed_language_choose => "कृपया बीज भाषा चुनें:";
@override
String get wallet_keys => "बटुआ की";
@override
@ -996,6 +1005,8 @@ class $hi extends S {
@override
String get trade_details_pair => "जोड़ा";
@override
String get choose_wallet_currency => "कृपया बटुआ मुद्रा चुनें:";
@override
String get confirm => "की पुष्टि करें";
@override
String get settings_display_balance_as => "के रूप में संतुलन प्रदर्शित करें";
@ -1008,7 +1019,7 @@ class $hi extends S {
@override
String get seed_language_german => "जर्मन";
@override
String get create_new => "नया बनाओ";
String get create_new => "नया बटुआ बनाएँ";
@override
String get trade_details_fetching => "ला रहा है";
@override
@ -1102,7 +1113,7 @@ class $hi extends S {
@override
String get copy_id => "प्रतिलिपि ID";
@override
String get please_make_selection => "कृपया नीचे चयन करें\nअपना बटुआ बनाएं या पुनर्प्राप्त करें.";
String get please_make_selection => "कृपया नीचे चयन करें अपना बटुआ बनाएं या पुनर्प्राप्त करें.";
@override
String get loading_your_wallet => "अपना बटुआ लोड कर रहा है";
@override
@ -1152,6 +1163,8 @@ class $hi extends S {
@override
String get saved_the_trade_id => "मैंने व्यापार बचा लिया है ID";
@override
String get cake_wallet => "Cake Wallet";
@override
String get settings_currency => "मुद्रा";
@override
String get change_language => "भाषा बदलो";
@ -1216,6 +1229,8 @@ class $hi extends S {
@override
String get change_currency => "मुद्रा परिवर्तन करें";
@override
String get seed_choose => "बीज भाषा चुनें";
@override
String get transaction_details_amount => "रकम";
@override
String get widgets_address => "पता";
@ -1384,7 +1399,7 @@ class $hi extends S {
@override
String get digit_pin => "-अंक पिन";
@override
String get first_wallet_text => "बहुत बढ़िया बटुआ\nके लिये Monero";
String get first_wallet_text => "बहुत बढ़िया बटुआ के लिये Monero";
@override
String get settings_trades => "ट्रेडों";
@override
@ -1484,7 +1499,7 @@ class $ru extends S {
@override
String get trade_state_underpaid => "Недоплаченная";
@override
String get welcome => "Приветствуем в CAKE WALLET";
String get welcome => "Приветствуем в";
@override
String get share_address => "Поделиться адресом";
@override
@ -1540,7 +1555,7 @@ class $ru extends S {
@override
String get restore_title_from_keys => "Восстановить с помощью ключей";
@override
String get seed_language_choose => "Пожалуйста, выберите язык мнемонической фразы";
String get seed_language_choose => "Пожалуйста, выберите язык мнемонической фразы:";
@override
String get wallet_keys => "Ключи кошелька";
@override
@ -1568,6 +1583,8 @@ class $ru extends S {
@override
String get trade_details_pair => "Пара";
@override
String get choose_wallet_currency => "Пожалуйста, выберите валюту кошелька:";
@override
String get confirm => "Подтвердить";
@override
String get settings_display_balance_as => "Отображать баланс как";
@ -1580,7 +1597,7 @@ class $ru extends S {
@override
String get seed_language_german => "Немецкий";
@override
String get create_new => "Создать новый";
String get create_new => "Создать новый кошелёк";
@override
String get trade_details_fetching => "Получение";
@override
@ -1724,6 +1741,8 @@ class $ru extends S {
@override
String get saved_the_trade_id => "Я сохранил ID сделки";
@override
String get cake_wallet => "Cake Wallet";
@override
String get settings_currency => "Валюта";
@override
String get change_language => "Изменить язык";
@ -1788,6 +1807,8 @@ class $ru extends S {
@override
String get change_currency => "Изменить валюту";
@override
String get seed_choose => "Выберите язык мнемонической фразы";
@override
String get transaction_details_amount => "Сумма";
@override
String get widgets_address => "Адрес";
@ -2056,7 +2077,7 @@ class $ko extends S {
@override
String get trade_state_underpaid => "미지급";
@override
String get welcome => "환영\n에 CAKE WALLET";
String get welcome => "환영";
@override
String get share_address => "주소 공유";
@override
@ -2112,7 +2133,7 @@ class $ko extends S {
@override
String get restore_title_from_keys => "키에서 복원";
@override
String get seed_language_choose => "종자 언어를 선택하십시오";
String get seed_language_choose => "종자 언어를 선택하십시오:";
@override
String get wallet_keys => "지갑 키";
@override
@ -2140,6 +2161,8 @@ class $ko extends S {
@override
String get trade_details_pair => "";
@override
String get choose_wallet_currency => "지갑 통화를 선택하십시오:";
@override
String get confirm => "확인";
@override
String get settings_display_balance_as => "잔액 표시";
@ -2152,7 +2175,7 @@ class $ko extends S {
@override
String get seed_language_german => "독일 사람";
@override
String get create_new => " 만들기";
String get create_new => " 월렛 만들기";
@override
String get trade_details_fetching => "가져 오는 중";
@override
@ -2246,7 +2269,7 @@ class $ko extends S {
@override
String get copy_id => "부 ID";
@override
String get please_make_selection => "아래에서 선택하십시오\n지갑 만들기 또는 복구.";
String get please_make_selection => "아래에서 선택하십시오 지갑 만들기 또는 복구.";
@override
String get loading_your_wallet => "지갑 넣기";
@override
@ -2296,6 +2319,8 @@ class $ko extends S {
@override
String get saved_the_trade_id => "거래 ID를 저장했습니다";
@override
String get cake_wallet => "Cake Wallet";
@override
String get settings_currency => "통화";
@override
String get change_language => "언어 변경";
@ -2360,6 +2385,8 @@ class $ko extends S {
@override
String get change_currency => "통화 변경";
@override
String get seed_choose => "시드 언어를 선택하십시오";
@override
String get transaction_details_amount => "";
@override
String get widgets_address => "주소";
@ -2488,7 +2515,7 @@ class $ko extends S {
@override
String get settings_support => "지원하다";
@override
String get restore_wallet => "지갑 복원";
String get restore_wallet => "월렛 복원";
@override
String get ok => "승인";
@override
@ -2528,7 +2555,7 @@ class $ko extends S {
@override
String get digit_pin => "숫자 PIN";
@override
String get first_wallet_text => "멋진 지갑\n에 대한 Monero";
String get first_wallet_text => "멋진 지갑 에 대한 Monero";
@override
String get settings_trades => "거래";
@override
@ -2628,7 +2655,7 @@ class $pt extends S {
@override
String get trade_state_underpaid => "Parcialmente paga";
@override
String get welcome => "BEM-VINDO(A)\nÀ CAKE WALLET";
String get welcome => "Bem-vindo ao";
@override
String get share_address => "Compartilhar endereço";
@override
@ -2684,7 +2711,7 @@ class $pt extends S {
@override
String get restore_title_from_keys => "Restaurar a partir de chaves";
@override
String get seed_language_choose => "Por favor, escolha o idioma da semente";
String get seed_language_choose => "Por favor, escolha o idioma da semente:";
@override
String get wallet_keys => "Chaves da carteira";
@override
@ -2712,6 +2739,8 @@ class $pt extends S {
@override
String get trade_details_pair => "Par";
@override
String get choose_wallet_currency => "Escolha a moeda da carteira:";
@override
String get confirm => "Confirmar";
@override
String get settings_display_balance_as => "Saldo a exibir";
@ -2724,7 +2753,7 @@ class $pt extends S {
@override
String get seed_language_german => "Alemã";
@override
String get create_new => "Criar carteira";
String get create_new => "Criar nova carteira";
@override
String get trade_details_fetching => "Buscando";
@override
@ -2818,7 +2847,7 @@ class $pt extends S {
@override
String get copy_id => "Copiar ID";
@override
String get please_make_selection => "Escolha se quer criar uma carteira nova\nou restaurar uma antiga.";
String get please_make_selection => "Escolha se quer criar uma carteira nova ou restaurar uma antiga.";
@override
String get loading_your_wallet => "Abrindo sua carteira";
@override
@ -2868,6 +2897,8 @@ class $pt extends S {
@override
String get saved_the_trade_id => "ID da troca salvo";
@override
String get cake_wallet => "Cake Wallet";
@override
String get settings_currency => "Moeda";
@override
String get change_language => "Mudar idioma";
@ -2932,6 +2963,8 @@ class $pt extends S {
@override
String get change_currency => "Alterar moeda";
@override
String get seed_choose => "Escolha o idioma da semente";
@override
String get transaction_details_amount => "Quantia";
@override
String get widgets_address => "Endereço";
@ -3100,7 +3133,7 @@ class $pt extends S {
@override
String get digit_pin => "dígitos";
@override
String get first_wallet_text => "Uma fantástica carteira\npara Monero";
String get first_wallet_text => "Uma fantástica carteira para Monero";
@override
String get settings_trades => "Trocas";
@override
@ -3200,7 +3233,7 @@ class $uk extends S {
@override
String get trade_state_underpaid => "Недоплачена";
@override
String get welcome => "Вітаємо в CAKE WALLET";
String get welcome => "Вітаємо в";
@override
String get share_address => "Поділитися адресою";
@override
@ -3256,7 +3289,7 @@ class $uk extends S {
@override
String get restore_title_from_keys => "Відновити за допомогою ключів";
@override
String get seed_language_choose => "Будь ласка, виберіть мову мнемонічної фрази";
String get seed_language_choose => "Будь ласка, виберіть мову мнемонічної фрази:";
@override
String get wallet_keys => "Ключі гаманця";
@override
@ -3284,6 +3317,8 @@ class $uk extends S {
@override
String get trade_details_pair => "Пара";
@override
String get choose_wallet_currency => "Будь ласка, виберіть валюту гаманця:";
@override
String get confirm => "Підтвердити";
@override
String get settings_display_balance_as => "Відображати баланс як";
@ -3296,7 +3331,7 @@ class $uk extends S {
@override
String get seed_language_german => "Німецька";
@override
String get create_new => "Створити новий";
String get create_new => "Створити новий гаманець";
@override
String get trade_details_fetching => "Отримання";
@override
@ -3390,7 +3425,7 @@ class $uk extends S {
@override
String get copy_id => "Скопіювати ID";
@override
String get please_make_selection => "Виберіть спосіб створення гаманця: створити новий чи відновити ваш існуючий.";
String get please_make_selection => "Оберіть спосіб створення гаманця: створити новий чи відновити ваш існуючий.";
@override
String get loading_your_wallet => "Завантаження гаманця";
@override
@ -3440,6 +3475,8 @@ class $uk extends S {
@override
String get saved_the_trade_id => "Я зберіг ID операції";
@override
String get cake_wallet => "Cake Wallet";
@override
String get settings_currency => "Валюта";
@override
String get change_language => "Змінити мову";
@ -3504,6 +3541,8 @@ class $uk extends S {
@override
String get change_currency => "Змінити валюту";
@override
String get seed_choose => "Виберіть мову мнемонічної фрази";
@override
String get transaction_details_amount => "Сума";
@override
String get widgets_address => "Адреса";
@ -3772,7 +3811,7 @@ class $ja extends S {
@override
String get trade_state_underpaid => "支払不足";
@override
String get welcome => "ようこそ\nに CAKE WALLET";
String get welcome => "ようこそ";
@override
String get share_address => "住所を共有する";
@override
@ -3828,7 +3867,7 @@ class $ja extends S {
@override
String get restore_title_from_keys => "キーから復元する";
@override
String get seed_language_choose => "シード言語を選択してください";
String get seed_language_choose => "シード言語を選択してください:";
@override
String get wallet_keys => "ウォレットキー";
@override
@ -3856,6 +3895,8 @@ class $ja extends S {
@override
String get trade_details_pair => "ペア";
@override
String get choose_wallet_currency => "ウォレット通貨を選択してください:";
@override
String get confirm => "確認する";
@override
String get settings_display_balance_as => "残高を表示";
@ -3868,7 +3909,7 @@ class $ja extends S {
@override
String get seed_language_german => "ドイツ人";
@override
String get create_new => "新しく作る";
String get create_new => "新しいウォレットを作成";
@override
String get trade_details_fetching => "フェッチング";
@override
@ -3962,7 +4003,7 @@ class $ja extends S {
@override
String get copy_id => "IDをコピー";
@override
String get please_make_selection => "以下を選択してください\nウォレットを作成または回復する.";
String get please_make_selection => "以下を選択してください ウォレットを作成または回復する.";
@override
String get loading_your_wallet => "ウォレットをロードしています";
@override
@ -4012,6 +4053,8 @@ class $ja extends S {
@override
String get saved_the_trade_id => "取引IDを保存しました";
@override
String get cake_wallet => "Cake Wallet";
@override
String get settings_currency => "通貨";
@override
String get change_language => "言語を変えてください";
@ -4076,6 +4119,8 @@ class $ja extends S {
@override
String get change_currency => "通貨を変更する";
@override
String get seed_choose => "シード言語を選択してください";
@override
String get transaction_details_amount => "";
@override
String get widgets_address => "住所";
@ -4204,7 +4249,7 @@ class $ja extends S {
@override
String get settings_support => "サポート";
@override
String get restore_wallet => "ウォレットを復元する";
String get restore_wallet => "ウォレットを復元";
@override
String get ok => "OK";
@override
@ -4244,7 +4289,7 @@ class $ja extends S {
@override
String get digit_pin => "桁ピン";
@override
String get first_wallet_text => "素晴らしい財布\nために Monero";
String get first_wallet_text => "素晴らしい財布 ために Monero";
@override
String get settings_trades => "取引";
@override
@ -4348,7 +4393,7 @@ class $pl extends S {
@override
String get trade_state_underpaid => "Niedopłacone";
@override
String get welcome => "WITAMY\nW CAKE WALLET";
String get welcome => "Witamy w";
@override
String get share_address => "Udostępnij adres";
@override
@ -4404,7 +4449,7 @@ class $pl extends S {
@override
String get restore_title_from_keys => "Przywróć z kluczy";
@override
String get seed_language_choose => "Proszę wybrać język początkowy";
String get seed_language_choose => "Proszę wybrać język początkowy:";
@override
String get wallet_keys => "Klucze portfela";
@override
@ -4432,6 +4477,8 @@ class $pl extends S {
@override
String get trade_details_pair => "Para";
@override
String get choose_wallet_currency => "Wybierz walutę portfela:";
@override
String get confirm => "Potwierdzać";
@override
String get settings_display_balance_as => "Wyświetl saldo jako";
@ -4444,7 +4491,7 @@ class $pl extends S {
@override
String get seed_language_german => "Niemiecki";
@override
String get create_new => "Tworzyć nowe";
String get create_new => "Utwórz nowy portfel";
@override
String get trade_details_fetching => "Ujmujący";
@override
@ -4538,7 +4585,7 @@ class $pl extends S {
@override
String get copy_id => "ID kopii";
@override
String get please_make_selection => "Wybierz poniżej, aby\ncutwórz lub odzyskaj swój portfel.";
String get please_make_selection => "Wybierz poniżej, aby cutwórz lub odzyskaj swój portfel.";
@override
String get loading_your_wallet => "Ładowanie portfela";
@override
@ -4588,6 +4635,8 @@ class $pl extends S {
@override
String get saved_the_trade_id => "Zapisałem ID";
@override
String get cake_wallet => "Cake Wallet";
@override
String get settings_currency => "Waluta";
@override
String get change_language => "Zmień język";
@ -4652,6 +4701,8 @@ class $pl extends S {
@override
String get change_currency => "Change Currency";
@override
String get seed_choose => "Wybierz język początkowy";
@override
String get transaction_details_amount => "Ilość";
@override
String get widgets_address => "Adres";
@ -4820,7 +4871,7 @@ class $pl extends S {
@override
String get digit_pin => "-znak PIN";
@override
String get first_wallet_text => "Niesamowity portfel\nfdla Monero";
String get first_wallet_text => "Niesamowity portfel dla Monero";
@override
String get settings_trades => "Transakcje";
@override
@ -4920,7 +4971,7 @@ class $es extends S {
@override
String get trade_state_underpaid => "Poco pagado";
@override
String get welcome => "Bienvenido\n CAKE WALLET";
String get welcome => "Bienvenido";
@override
String get share_address => "Compartir dirección";
@override
@ -4976,7 +5027,7 @@ class $es extends S {
@override
String get restore_title_from_keys => "De las claves";
@override
String get seed_language_choose => "Por favor elija el idioma semilla";
String get seed_language_choose => "Por favor elija el idioma semilla:";
@override
String get wallet_keys => "Billetera clave";
@override
@ -5004,6 +5055,8 @@ class $es extends S {
@override
String get trade_details_pair => "Par";
@override
String get choose_wallet_currency => "Por favor, elija la moneda de la billetera:";
@override
String get confirm => "Confirmar";
@override
String get settings_display_balance_as => "Mostrar saldo como";
@ -5016,7 +5069,7 @@ class $es extends S {
@override
String get seed_language_german => "Alemán";
@override
String get create_new => "Crear nuevo";
String get create_new => "Crear nueva billetera";
@override
String get trade_details_fetching => "Cargando";
@override
@ -5110,7 +5163,7 @@ class $es extends S {
@override
String get copy_id => "Copiar ID";
@override
String get please_make_selection => "Seleccione a continuación para\ncrear o recuperar su billetera.";
String get please_make_selection => "Seleccione a continuación para crear o recuperar su billetera.";
@override
String get loading_your_wallet => "Cargando tu billetera";
@override
@ -5160,6 +5213,8 @@ class $es extends S {
@override
String get saved_the_trade_id => "He salvado comercial ID";
@override
String get cake_wallet => "Cake Wallet";
@override
String get settings_currency => "Moneda";
@override
String get change_language => "Cambiar idioma";
@ -5224,6 +5279,8 @@ class $es extends S {
@override
String get change_currency => "Cambiar moneda";
@override
String get seed_choose => "Elige el idioma semilla";
@override
String get transaction_details_amount => "Cantidad";
@override
String get widgets_address => "Dirección";
@ -5392,7 +5449,7 @@ class $es extends S {
@override
String get digit_pin => "-dígito PIN";
@override
String get first_wallet_text => "Impresionante billetera\npara Monero";
String get first_wallet_text => "Impresionante billetera para Monero";
@override
String get settings_trades => "Comercia";
@override
@ -5492,7 +5549,7 @@ class $nl extends S {
@override
String get trade_state_underpaid => "Slecht betaald";
@override
String get welcome => "WELKOM\nBIJ CAKE WALLET";
String get welcome => "Welkom bij";
@override
String get share_address => "Deel adres";
@override
@ -5548,7 +5605,7 @@ class $nl extends S {
@override
String get restore_title_from_keys => "Herstel van sleutels";
@override
String get seed_language_choose => "Kies een starttaal";
String get seed_language_choose => "Kies een starttaal:";
@override
String get wallet_keys => "Portemonnee sleutels";
@override
@ -5576,6 +5633,8 @@ class $nl extends S {
@override
String get trade_details_pair => "Paar";
@override
String get choose_wallet_currency => "Kies een portemonnee-valuta:";
@override
String get confirm => "Bevestigen";
@override
String get settings_display_balance_as => "Toon saldo als";
@ -5588,7 +5647,7 @@ class $nl extends S {
@override
String get seed_language_german => "Duitse";
@override
String get create_new => "Maak nieuw";
String get create_new => "Maak een nieuwe portemonnee";
@override
String get trade_details_fetching => "Ophalen";
@override
@ -5682,7 +5741,7 @@ class $nl extends S {
@override
String get copy_id => "ID kopiëren";
@override
String get please_make_selection => "Maak hieronder uw keuze tot\nmaak of herstel je portemonnee.";
String get please_make_selection => "Maak hieronder uw keuze tot maak of herstel je portemonnee.";
@override
String get loading_your_wallet => "Uw portemonnee laden";
@override
@ -5732,6 +5791,8 @@ class $nl extends S {
@override
String get saved_the_trade_id => "Ik heb de ruil-ID opgeslagen";
@override
String get cake_wallet => "Cake Wallet";
@override
String get settings_currency => "Valuta";
@override
String get change_language => "Verander de taal";
@ -5796,6 +5857,8 @@ class $nl extends S {
@override
String get change_currency => "Verander valuta";
@override
String get seed_choose => "Kies een starttaal";
@override
String get transaction_details_amount => "Bedrag";
@override
String get widgets_address => "Adres";
@ -5964,7 +6027,7 @@ class $nl extends S {
@override
String get digit_pin => "-cijferige PIN";
@override
String get first_wallet_text => "Geweldige portemonnee\nfvoor Monero";
String get first_wallet_text => "Geweldige portemonnee fvoor Monero";
@override
String get settings_trades => "Trades";
@override
@ -6064,7 +6127,7 @@ class $zh extends S {
@override
String get trade_state_underpaid => "支付不足";
@override
String get welcome => "欢迎\nTO CAKE WALLET";
String get welcome => "歡迎來到";
@override
String get share_address => "分享地址";
@override
@ -6120,7 +6183,7 @@ class $zh extends S {
@override
String get restore_title_from_keys => "从密钥还原";
@override
String get seed_language_choose => "請選擇種子語言";
String get seed_language_choose => "請選擇種子語言:";
@override
String get wallet_keys => "钱包钥匙";
@override
@ -6148,6 +6211,8 @@ class $zh extends S {
@override
String get trade_details_pair => "";
@override
String get choose_wallet_currency => "請選擇錢包貨幣:";
@override
String get confirm => "确认";
@override
String get settings_display_balance_as => "将余额显示为";
@ -6160,7 +6225,7 @@ class $zh extends S {
@override
String get seed_language_german => "德語";
@override
String get create_new => "创建新";
String get create_new => "创建新钱包";
@override
String get trade_details_fetching => "正在取得";
@override
@ -6254,7 +6319,7 @@ class $zh extends S {
@override
String get copy_id => "复印ID";
@override
String get please_make_selection => "请在下面进行选择\nc创建或恢复您的钱包.";
String get please_make_selection => "请在下面进行选择 创建或恢复您的钱包.";
@override
String get loading_your_wallet => "装钱包";
@override
@ -6304,6 +6369,8 @@ class $zh extends S {
@override
String get saved_the_trade_id => "我已经保存了交易ID";
@override
String get cake_wallet => "Cake Wallet";
@override
String get settings_currency => "货币";
@override
String get change_language => "改變語言";
@ -6368,6 +6435,8 @@ class $zh extends S {
@override
String get change_currency => "更改币种";
@override
String get seed_choose => "選擇種子語言";
@override
String get transaction_details_amount => "";
@override
String get widgets_address => "地址";
@ -6536,7 +6605,7 @@ class $zh extends S {
@override
String get digit_pin => "数字别针";
@override
String get first_wallet_text => "很棒的钱包\n对于 Monero";
String get first_wallet_text => "很棒的钱包 对于 Monero";
@override
String get settings_trades => "交易";
@override

View file

@ -89,4 +89,5 @@ class PaletteDark {
static const Color historyPanelButton = Color.fromRGBO(39, 53, 96, 1.0);
static const Color menuHeader = Color.fromRGBO(41, 52, 84, 1.0);
static const Color menuList = Color.fromRGBO(48, 59, 95, 1.0);
static const Color selectButtonText = Color.fromRGBO(57, 74, 95, 1.0);
}

View file

@ -87,6 +87,7 @@ import 'package:cake_wallet/src/screens/auth/create_login_page.dart';
import 'package:cake_wallet/src/screens/seed/create_seed_page.dart';
import 'package:cake_wallet/src/screens/dashboard/create_dashboard_page.dart';
import 'package:cake_wallet/src/screens/welcome/create_welcome_page.dart';
import 'package:cake_wallet/src/screens/new_wallet/new_wallet_type_page.dart';
class Router {
static Route<dynamic> generateRoute(
@ -117,7 +118,10 @@ class Router {
sharedPreferences: sharedPreferences)),
child: SetupPinCodePage(
onPinCodeSetup: (context, _) =>
Navigator.pushNamed(context, Routes.newWallet))));
Navigator.pushNamed(context, Routes.newWalletType))));
case Routes.newWalletType:
return CupertinoPageRoute<void>(builder: (_) => NewWalletTypePage());
case Routes.newWallet:
return CupertinoPageRoute<void>(

View file

@ -44,4 +44,5 @@ class Routes {
static const rescan = '/rescan';
static const faq = '/faq';
static const changeLanguage = '/change_language';
static const newWalletType = '/new_wallet_type';
}

View file

@ -98,10 +98,7 @@ class AccountFormState extends State<AccountForm> {
.primaryTextTheme
.button
.backgroundColor,
borderColor: Theme.of(context)
.primaryTextTheme
.button
.decorationColor,
textColor: Theme.of(context).primaryTextTheme.button.color,
isLoading: accountListStore.isAccountCreating,
))
],

View file

@ -86,25 +86,6 @@ class WalletMenu {
},
reconnectActionRight: () => Navigator.of(context).pop()
);
/*AlertDialog(
title: Text(
S.of(context).reconnection,
textAlign: TextAlign.center,
),
content: Text(S.of(context).reconnect_alert_text),
actions: <Widget>[
FlatButton(
onPressed: () => Navigator.of(context).pop(),
child: Text(S.of(context).cancel)),
FlatButton(
onPressed: () {
walletStore.reconnect();
Navigator.of(context).pop();
},
child: Text(S.of(context).ok))
],
);*/
});
}
}

View file

@ -255,10 +255,7 @@ class ExchangeFormState extends State<ExchangeForm> {
.primaryTextTheme
.button
.backgroundColor,
borderColor: Theme.of(context)
.primaryTextTheme
.button
.decorationColor,
textColor: Theme.of(context).primaryTextTheme.button.color,
isLoading: exchangeStore.tradeState is TradeIsCreating,
)),
Observer(builder: (_) {

View file

@ -315,10 +315,7 @@ class ExchangeTradeState extends State<ExchangeTradeForm> {
.primaryTextTheme
.button
.backgroundColor,
borderColor: Theme.of(context)
.primaryTextTheme
.button
.decorationColor),
textColor: Theme.of(context).primaryTextTheme.button.color),
)
: Offstage()),
);

View file

@ -14,7 +14,9 @@ import 'package:cake_wallet/src/widgets/primary_button.dart';
import 'package:cake_wallet/src/widgets/scollable_with_bottom_section.dart';
import 'package:cake_wallet/palette.dart';
import 'package:cake_wallet/src/stores/seed_language/seed_language_store.dart';
import 'package:cake_wallet/src/screens/new_wallet/widgets/select_button.dart';
import 'package:cake_wallet/src/screens/seed_language/widgets/seed_language_picker.dart';
import 'package:cake_wallet/src/screens/new_wallet/widgets/wallet_creation_dialog.dart';
class NewWalletPage extends BasePage {
NewWalletPage(
@ -29,6 +31,9 @@ class NewWalletPage extends BasePage {
@override
String get title => S.current.new_wallet;
@override
Color get backgroundColor => PaletteDark.historyPanel;
@override
Widget body(BuildContext context) => WalletNameForm();
}
@ -39,14 +44,42 @@ class WalletNameForm extends StatefulWidget {
}
class _WalletNameFormState extends State<WalletNameForm> {
static const aspectRatioImage = 1.22;
final _formKey = GlobalKey<FormState>();
final nameController = TextEditingController();
final walletNameImage = Image.asset('assets/images/wallet_name.png');
@override
void dispose() {
nameController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
final walletCreationStore = Provider.of<WalletCreationStore>(context);
final seedLanguageStore = Provider.of<SeedLanguageStore>(context);
final List<String> seedLocales = [
S.current.seed_language_english,
S.current.seed_language_chinese,
S.current.seed_language_dutch,
S.current.seed_language_german,
S.current.seed_language_japanese,
S.current.seed_language_portuguese,
S.current.seed_language_russian,
S.current.seed_language_spanish
];
nameController.addListener(() {
if (nameController.text.isNotEmpty) {
walletCreationStore.setDisabledStatus(false);
} else {
walletCreationStore.setDisabledStatus(true);
}
});
reaction((_) => walletCreationStore.state, (WalletCreationState state) {
if (state is WalletCreatedSuccessfully) {
Navigator.of(context).popUntil((route) => route.isFirst);
@ -56,81 +89,107 @@ class _WalletNameFormState extends State<WalletNameForm> {
WidgetsBinding.instance.addPostFrameCallback((_) {
showDialog<void>(
context: context,
builder: (BuildContext context) {
return AlertDialog(
content: Text(state.error),
actions: <Widget>[
FlatButton(
child: Text(S.of(context).ok),
onPressed: () => Navigator.of(context).pop(),
),
],
builder: (_) {
return WalletCreationDialog(
dialogTitle: S.current.new_wallet,
dialogContent: state.error,
dialogButtonText: S.of(context).ok,
dialogButtonAction: () => Navigator.of(context).pop()
);
});
});
}
});
return ScrollableWithBottomSection(
content: Column(children: [
Padding(
padding: EdgeInsets.only(bottom: 10),
child: Image.asset('assets/images/bitmap.png',
height: 224, width: 400),
),
Padding(
padding: EdgeInsets.only(left: 20, right: 20, bottom: 20),
child: Form(
key: _formKey,
child: TextFormField(
style: TextStyle(
fontSize: 24.0,
color: Theme.of(context).accentTextTheme.subtitle.color),
controller: nameController,
decoration: InputDecoration(
hintStyle: TextStyle(
fontSize: 24.0, color: Theme.of(context).hintColor),
hintText: S.of(context).wallet_name,
focusedBorder: UnderlineInputBorder(
borderSide:
BorderSide(color: Palette.cakeGreen, width: 2.0)),
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(
color: Theme.of(context).focusColor,
width: 1.0))),
validator: (value) {
walletCreationStore.validateWalletName(value);
return walletCreationStore.errorMessage;
},
)),
),
Padding(padding: EdgeInsets.only(bottom: 20),
child: Text(
S.of(context).seed_language_choose,
textAlign: TextAlign.center,
style: TextStyle(fontSize: 16.0),
return Container(
color: PaletteDark.historyPanel,
padding: EdgeInsets.only(top: 24),
child: ScrollableWithBottomSection(
contentPadding: EdgeInsets.only(left: 24, right: 24, bottom: 24),
content: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Padding(
padding: EdgeInsets.only(left: 12, right: 12),
child: AspectRatio(
aspectRatio: aspectRatioImage,
child: FittedBox(child: walletNameImage, fit: BoxFit.fill)),
),
Padding(
padding: EdgeInsets.only(top: 24),
child: Form(
key: _formKey,
child: TextFormField(
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 20.0,
fontWeight: FontWeight.w600,
color: Colors.white),
controller: nameController,
decoration: InputDecoration(
hintStyle: TextStyle(
fontSize: 16.0,
color: PaletteDark.walletCardText),
hintText: S.of(context).wallet_name,
focusedBorder: UnderlineInputBorder(
borderSide:
BorderSide(
color: PaletteDark.walletCardSubAddressField,
width: 1.0)),
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(
color: PaletteDark.walletCardSubAddressField,
width: 1.0))),
validator: (value) {
walletCreationStore.validateWalletName(value);
return walletCreationStore.errorMessage;
},
)),
),
),
Padding(padding: EdgeInsets.only(left: 20, right: 20, bottom: 20),
child: SeedLanguagePicker(),
)
]),
bottomSection: Observer(
builder: (context) {
return LoadingPrimaryButton(
onPressed: () {
if (_formKey.currentState.validate()) {
walletCreationStore.create(name: nameController.text,
language: seedLanguageStore.selectedSeedLanguage);
}
},
text: S.of(context).continue_text,
color: Theme.of(context).primaryTextTheme.button.backgroundColor,
borderColor:
Theme.of(context).primaryTextTheme.button.decorationColor,
isLoading: walletCreationStore.state is WalletIsCreating,
);
},
));
Padding(padding: EdgeInsets.only(top: 40),
child: Text(
S.of(context).seed_language_choose,
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 16.0,
fontWeight: FontWeight.w600,
color: Colors.white
),
),
),
Padding(padding: EdgeInsets.only(top: 24),
child: Observer(
builder: (_) => SelectButton(
image: null,
text: seedLocales[seedLanguages.indexOf(seedLanguageStore.selectedSeedLanguage)],
color: PaletteDark.menuList,
textColor: Colors.white,
onTap: () async => await showDialog(
context: context,
builder: (BuildContext context) => SeedLanguagePicker()
)
)
),
)
]),
bottomSectionPadding: EdgeInsets.only(left: 24, right: 24, bottom: 24),
bottomSection: Observer(
builder: (context) {
return LoadingPrimaryButton(
onPressed: () {
if (_formKey.currentState.validate()) {
walletCreationStore.create(name: nameController.text,
language: seedLanguageStore.selectedSeedLanguage);
}
},
text: S.of(context).continue_text,
color: Colors.green,
textColor: Colors.white,
isLoading: walletCreationStore.state is WalletIsCreating,
isDisabled: walletCreationStore.isDisabledStatus,
);
},
)),
);
}
}

View file

@ -0,0 +1,146 @@
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/src/screens/base_page.dart';
import 'package:cake_wallet/src/widgets/primary_button.dart';
import 'package:cake_wallet/src/widgets/scollable_with_bottom_section.dart';
import 'package:cake_wallet/palette.dart';
import 'package:cake_wallet/src/screens/new_wallet/widgets/select_button.dart';
import 'package:cake_wallet/routes.dart';
class NewWalletTypePage extends BasePage {
@override
String get title => S.current.new_wallet;
@override
Color get backgroundColor => PaletteDark.historyPanel;
@override
Widget body(BuildContext context) => WalletTypeForm();
}
class WalletTypeForm extends StatefulWidget {
@override
WalletTypeFormState createState() => WalletTypeFormState();
}
class WalletTypeFormState extends State<WalletTypeForm> {
static const aspectRatioImage = 1.22;
final moneroIcon = Image.asset('assets/images/monero.png', height: 24, width: 24);
final bitcoinIcon = Image.asset('assets/images/bitcoin.png', height: 24, width: 24);
final walletTypeImage = Image.asset('assets/images/wallet_type.png');
bool isDisabledButton;
bool isMoneroSelected;
bool isBitcoinSelected;
Color moneroBackgroundColor;
Color moneroTextColor;
Color bitcoinBackgroundColor;
Color bitcoinTextColor;
@override
void initState() {
isDisabledButton = true;
isMoneroSelected = false;
isBitcoinSelected = false;
moneroBackgroundColor = PaletteDark.menuList;
moneroTextColor = Colors.white;
bitcoinBackgroundColor = PaletteDark.menuList;
bitcoinTextColor = Colors.white;
super.initState();
}
@override
Widget build(BuildContext context) {
return Container(
color: PaletteDark.historyPanel,
padding: EdgeInsets.only(top: 24),
child: ScrollableWithBottomSection(
contentPadding: EdgeInsets.only(left: 24, right: 24, bottom: 24),
content: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Padding(
padding: EdgeInsets.only(left: 12, right: 12),
child: AspectRatio(
aspectRatio: aspectRatioImage,
child: FittedBox(child: walletTypeImage, fit: BoxFit.fill)),
),
Padding(
padding: EdgeInsets.only(top: 48),
child: Text(
S.of(context).choose_wallet_currency,
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 16,
fontWeight: FontWeight.w600,
color: Colors.white
),
),
),
Padding(
padding: EdgeInsets.only(top: 24),
child: SelectButton(
image: bitcoinIcon,
text: 'Bitcoin',
color: bitcoinBackgroundColor,
textColor: bitcoinTextColor,
onTap: () {}),
),
Padding(
padding: EdgeInsets.only(top: 20),
child: SelectButton(
image: moneroIcon,
text: 'Monero',
color: moneroBackgroundColor,
textColor: moneroTextColor,
onTap: () => onSelectMoneroButton()),
)
],
),
bottomSectionPadding: EdgeInsets.only(
left: 24,
right: 24,
bottom: 24
),
bottomSection: PrimaryButton(
onPressed: () => Navigator.of(context).pushNamed(Routes.newWallet),
text: S.of(context).seed_language_next,
color: Colors.green,
textColor: Colors.white,
isDisabled: isDisabledButton,
),
),
);
}
void onSelectMoneroButton() {
isMoneroSelected = true;
isBitcoinSelected = false;
isDisabledButton = false;
moneroBackgroundColor = Colors.white;
moneroTextColor = PaletteDark.selectButtonText;
bitcoinBackgroundColor = PaletteDark.menuList;
bitcoinTextColor = Colors.white;
setState(() {});
}
void onSelectBitcoinButton() {
isMoneroSelected = false;
isBitcoinSelected = true;
isDisabledButton = false;
moneroBackgroundColor = PaletteDark.menuList;
moneroTextColor = Colors.white;
bitcoinBackgroundColor = Colors.white;
bitcoinTextColor = PaletteDark.selectButtonText;
setState(() {});
}
}

View file

@ -0,0 +1,66 @@
import 'package:flutter/material.dart';
class SelectButton extends StatelessWidget {
SelectButton({
@required this.image,
@required this.text,
@required this.color,
@required this.textColor,
@required this.onTap,
});
final Image image;
final String text;
final Color color;
final Color textColor;
final VoidCallback onTap;
final selectArrowImage = Image.asset('assets/images/select_arrow.png');
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: onTap,
child: Container(
width: double.infinity,
height: 60,
padding: EdgeInsets.only(left: 30, right: 30),
alignment: Alignment.center,
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(30)),
color: color
),
child: Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
image != null
? image
: Offstage(),
Padding(
padding: image != null
? EdgeInsets.only(left: 15)
: EdgeInsets.only(left: 0),
child: Text(
text,
style: TextStyle(
fontSize: 18,
fontWeight: FontWeight.w600,
color: textColor
),
),
)
],
),
selectArrowImage
],
),
),
);
}
}

View file

@ -0,0 +1,56 @@
import 'package:flutter/material.dart';
import 'package:cake_wallet/src/widgets/base_alert_dialog.dart';
class WalletCreationDialog extends BaseAlertDialog {
WalletCreationDialog({
@required this.dialogTitle,
@required this.dialogContent,
@required this.dialogButtonText,
@required this.dialogButtonAction,
});
final String dialogTitle;
final String dialogContent;
final String dialogButtonText;
final VoidCallback dialogButtonAction;
@override
String get titleText => dialogTitle;
@override
String get contentText => dialogContent;
@override
Widget actionButtons(BuildContext context) {
return Container(
width: 300,
height: 52,
padding: EdgeInsets.only(left: 12, right: 12),
decoration: BoxDecoration(
borderRadius: BorderRadius.only(
bottomLeft: Radius.circular(24),
bottomRight: Radius.circular(24)
),
color: Colors.white
),
child: ButtonTheme(
minWidth: double.infinity,
child: FlatButton(
onPressed: dialogButtonAction,
highlightColor: Colors.transparent,
splashColor: Colors.transparent,
child: Text(
dialogButtonText,
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 15,
fontWeight: FontWeight.w600,
color: Colors.blue,
decoration: TextDecoration.none,
),
)),
),
);
}
}

View file

@ -33,8 +33,7 @@ class RescanPage extends BasePage {
},
color:
Theme.of(context).primaryTextTheme.button.backgroundColor,
borderColor:
Theme.of(context).primaryTextTheme.button.decorationColor))
textColor: Theme.of(context).primaryTextTheme.button.color,))
]),
);
}

View file

@ -217,8 +217,7 @@ class _RestoreFromKeysFromState extends State<RestoreFromKeysFrom> {
},
text: S.of(context).restore_recover,
color: Theme.of(context).primaryTextTheme.button.backgroundColor,
borderColor:
Theme.of(context).primaryTextTheme.button.decorationColor);
textColor: Theme.of(context).primaryTextTheme.button.color,);
}),
);
}

View file

@ -118,8 +118,7 @@ class _RestoreFromSeedDetailsFormState
isLoading: walletRestorationStore.state is WalletIsRestoring,
text: S.of(context).restore_recover,
color: Theme.of(context).primaryTextTheme.button.backgroundColor,
borderColor:
Theme.of(context).primaryTextTheme.button.decorationColor);
textColor: Theme.of(context).primaryTextTheme.button.color,);
}),
);
}

View file

@ -41,6 +41,7 @@ class SeedPage extends BasePage {
child: Container(
width: 70,
height: 32,
alignment: Alignment.center,
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(16)),
color: PaletteDark.menuList
@ -48,7 +49,7 @@ class SeedPage extends BasePage {
child: Text(
S.of(context).seed_language_next,
style: TextStyle(
fontSize: 14,
fontSize: 10,
fontWeight: FontWeight.w600,
color: Colors.blue
),

View file

@ -1,55 +1,234 @@
import 'dart:ui';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:cake_wallet/palette.dart';
import 'package:flutter_mobx/flutter_mobx.dart';
import 'package:provider/provider.dart';
import 'package:cake_wallet/src/stores/seed_language/seed_language_store.dart';
import 'package:cake_wallet/src/widgets/present_picker.dart';
import 'package:cake_wallet/generated/i18n.dart';
class SeedLanguagePicker extends StatelessWidget {
List<String> seedLocales = [
S.current.seed_language_english,
S.current.seed_language_chinese,
S.current.seed_language_dutch,
S.current.seed_language_german,
S.current.seed_language_japanese,
S.current.seed_language_portuguese,
S.current.seed_language_russian,
S.current.seed_language_spanish
];
List<Image> flagImages = [
Image.asset('assets/images/usa.png'),
Image.asset('assets/images/china.png'),
Image.asset('assets/images/holland.png'),
Image.asset('assets/images/germany.png'),
Image.asset('assets/images/japan.png'),
Image.asset('assets/images/portugal.png'),
Image.asset('assets/images/russia.png'),
Image.asset('assets/images/spain.png'),
];
List<String> languageCodes = [
'Eng',
'Chi',
'Ned',
'Ger',
'Jap',
'Por',
'Rus',
'Esp',
];
enum Places {topLeft, topRight, bottomLeft, bottomRight, inside}
class SeedLanguagePicker extends StatefulWidget {
@override
SeedLanguagePickerState createState() => SeedLanguagePickerState();
}
class SeedLanguagePickerState extends State<SeedLanguagePicker> {
@override
Widget build(BuildContext context) {
final seedLanguageStore = Provider.of<SeedLanguageStore>(context);
return Observer(
builder: (_) => InkWell(
onTap: () => _setSeedLanguage(context),
return GestureDetector(
onTap: () => Navigator.of(context).pop(),
child: Container(
color: Colors.transparent,
child: BackdropFilter(
filter: ImageFilter.blur(sigmaX: 3.0, sigmaY: 3.0),
child: Container(
padding: EdgeInsets.all(8.0),
//width: double.infinity,
decoration: BoxDecoration(
border: Border.all(
color: Theme.of(context).dividerTheme.color
),
borderRadius: BorderRadius.circular(8.0)
),
child: Text(seedLocales[seedLanguages.indexOf(seedLanguageStore.selectedSeedLanguage)],
textAlign: TextAlign.center,
style: TextStyle(fontSize: 16.0, color: Palette.lightBlue),
decoration: BoxDecoration(color: PaletteDark.historyPanel.withOpacity(0.75)),
child: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Container(
padding: EdgeInsets.only(left: 24, right: 24),
child: Text(
S.of(context).seed_choose,
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 18,
fontWeight: FontWeight.bold,
decoration: TextDecoration.none,
color: Colors.white
),
),
),
Padding(
padding: EdgeInsets.only(top: 24),
child: GestureDetector(
onTap: () => null,
child: Container(
height: 300,
width: 300,
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(14)),
color: PaletteDark.walletCardSubAddressField
),
child: GridView.count(
shrinkWrap: true,
crossAxisCount: 3,
childAspectRatio: 1,
physics: const NeverScrollableScrollPhysics(),
crossAxisSpacing: 1,
mainAxisSpacing: 1,
children: List.generate(9, (index) {
if (index == 8) {
return gridTile(
isCurrent: false,
place: Places.bottomRight,
image: null,
text: '',
onTap: null);
} else {
final code = languageCodes[index];
final flag = flagImages[index];
final isCurrent = index == seedLanguages.indexOf(seedLanguageStore.selectedSeedLanguage);
if (index == 0) {
return gridTile(
isCurrent: isCurrent,
place: Places.topLeft,
image: flag,
text: code,
onTap: () {
seedLanguageStore.setSelectedSeedLanguage(seedLanguages[index]);
Navigator.of(context).pop();
}
);
}
if (index == 2) {
return gridTile(
isCurrent: isCurrent,
place: Places.topRight,
image: flag,
text: code,
onTap: () {
seedLanguageStore.setSelectedSeedLanguage(seedLanguages[index]);
Navigator.of(context).pop();
}
);
}
if (index == 6) {
return gridTile(
isCurrent: isCurrent,
place: Places.bottomLeft,
image: flag,
text: code,
onTap: () {
seedLanguageStore.setSelectedSeedLanguage(seedLanguages[index]);
Navigator.of(context).pop();
}
);
}
return gridTile(
isCurrent: isCurrent,
place: Places.inside,
image: flag,
text: code,
onTap: () {
seedLanguageStore.setSelectedSeedLanguage(seedLanguages[index]);
Navigator.of(context).pop();
}
);
}
}),
),
),
),
)
],
),
),
),
));
),
),
);
}
Future<void> _setSeedLanguage(BuildContext context) async {
final seedLanguageStore = Provider.of<SeedLanguageStore>(context);
String selectedSeedLanguage =
await presentPicker(context, seedLocales);
Widget gridTile({
@required bool isCurrent,
@required Places place,
@required Image image,
@required String text,
@required VoidCallback onTap}) {
if (selectedSeedLanguage != null) {
selectedSeedLanguage = seedLanguages[seedLocales.indexOf(selectedSeedLanguage)];
seedLanguageStore.setSelectedSeedLanguage(selectedSeedLanguage);
BorderRadius borderRadius;
final color = isCurrent ? PaletteDark.historyPanel : PaletteDark.menuList;
final textColor = isCurrent ? Colors.blue : Colors.white;
switch (place) {
case Places.topLeft:
borderRadius = BorderRadius.only(topLeft: Radius.circular(14));
break;
case Places.topRight:
borderRadius = BorderRadius.only(topRight: Radius.circular(14));
break;
case Places.bottomLeft:
borderRadius = BorderRadius.only(bottomLeft: Radius.circular(14));
break;
case Places.bottomRight:
borderRadius = BorderRadius.only(bottomRight: Radius.circular(14));
break;
case Places.inside:
borderRadius = BorderRadius.all(Radius.circular(0));
break;
}
return GestureDetector(
onTap: onTap,
child: Container(
padding: EdgeInsets.all(10),
decoration: BoxDecoration(
borderRadius: borderRadius,
color: color
),
child: Center(
child: Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
image != null
? image
: Offstage(),
Padding(
padding: image != null
? EdgeInsets.only(left: 10)
: EdgeInsets.only(left: 0),
child: Text(
text,
style: TextStyle(
fontSize: 18,
fontWeight: FontWeight.bold,
decoration: TextDecoration.none,
color: textColor
),
),
)
],
),
),
)
);
}
}

View file

@ -436,8 +436,7 @@ class SendFormState extends State<SendForm> {
: null,
text: S.of(context).send,
color: Theme.of(context).accentTextTheme.button.backgroundColor,
borderColor:
Theme.of(context).accentTextTheme.button.decorationColor,
textColor: Theme.of(context).primaryTextTheme.button.color,
isLoading: sendStore.state is CreatingTransaction ||
sendStore.state is TransactionCommiting);
}));

View file

@ -89,10 +89,7 @@ class NewSubaddressFormState extends State<NewSubaddressForm> {
.accentTextTheme
.button
.backgroundColor,
borderColor: Theme.of(context)
.accentTextTheme
.button
.decorationColor,
textColor: Theme.of(context).primaryTextTheme.button.color,
isLoading:
subaddressCreationStore.state is SubaddressIsCreating),
))

View file

@ -152,7 +152,7 @@ class WalletListBodyState extends State<WalletListBody> {
),
bottomSection: Column(children: <Widget>[
PrimaryImageButton(
onPressed: () => Navigator.of(context).pushNamed(Routes.newWallet),
onPressed: () => Navigator.of(context).pushNamed(Routes.newWalletType),
image: newWalletImage,
text: S.of(context).wallet_list_create_new_wallet,
color: Colors.white,

View file

@ -4,12 +4,16 @@ import 'package:cake_wallet/routes.dart';
import 'package:cake_wallet/src/widgets/primary_button.dart';
import 'package:cake_wallet/src/screens/base_page.dart';
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/src/widgets/scollable_with_bottom_section.dart';
class WelcomePage extends BasePage {
static const _aspectRatioImage = 1.26;
static const _baseWidth = 411.43;
final _image = Image.asset('assets/images/welcomeImg.png');
final _cakeLogo = Image.asset('assets/images/cake_logo.png');
static const aspectRatioImage = 1.25;
final welcomeImage = Image.asset('assets/images/welcome.png');
final newWalletImage = Image.asset('assets/images/new_wallet.png', height: 12, width: 12, color: PaletteDark.historyPanel);
final restoreWalletImage = Image.asset('assets/images/restore_wallet.png', height: 12, width: 12, color: Colors.white);
@override
Color get backgroundColor => PaletteDark.historyPanel;
@override
Widget build(BuildContext context) {
@ -21,75 +25,89 @@ class WelcomePage extends BasePage {
@override
Widget body(BuildContext context) {
final _screenWidth = MediaQuery.of(context).size.width;
final textScaleFactor = _screenWidth < _baseWidth ? 0.76 : 1.0;
return Column(children: <Widget>[
Stack(
alignment: Alignment.center,
children: <Widget>[
AspectRatio(
aspectRatio: _aspectRatioImage,
child: FittedBox(child: _image, fit: BoxFit.fill)),
Positioned(bottom: 0.0, child: _cakeLogo)
],
),
Expanded(
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: <Widget>[
Text(
S.of(context).welcome,
style: TextStyle(
fontSize: 30.0,
fontWeight: FontWeight.bold,
),
textScaleFactor: textScaleFactor,
textAlign: TextAlign.center,
return Container(
padding: EdgeInsets.only(top: 20),
color: PaletteDark.historyPanel,
child: ScrollableWithBottomSection(
contentPadding: EdgeInsets.only(bottom: 20),
content: Column(
children: <Widget>[
AspectRatio(
aspectRatio: aspectRatioImage,
child: FittedBox(child: welcomeImage, fit: BoxFit.fill)),
Padding(
padding: EdgeInsets.only(left: 24, right: 24, top: 40),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Text(
S.of(context).welcome,
style: TextStyle(
fontSize: 18,
color: PaletteDark.walletCardText,
),
textAlign: TextAlign.center,
),
Padding(
padding: EdgeInsets.only(top: 10),
child: Text(
S.of(context).cake_wallet,
style: TextStyle(
fontSize: 36,
fontWeight: FontWeight.bold,
color: Colors.white,
),
textAlign: TextAlign.center,
),
),
Padding(
padding: EdgeInsets.only(top: 14),
child: Text(
S.of(context).first_wallet_text,
style: TextStyle(
fontSize: 16,
fontWeight: FontWeight.w600,
color: PaletteDark.walletCardText,
),
textAlign: TextAlign.center,
),
),
],
),
Text(
S.of(context).first_wallet_text,
style: TextStyle(
fontSize: 22.0,
color: Palette.lightBlue,
),
textScaleFactor: textScaleFactor,
textAlign: TextAlign.center,
),
Text(
S.of(context).please_make_selection,
style: TextStyle(
fontSize: 16.0,
color: Palette.lightBlue,
),
textScaleFactor: textScaleFactor,
textAlign: TextAlign.center,
)
]),
),
Container(
padding: EdgeInsets.fromLTRB(20.0, 10.0, 20.0, 20.0),
child: Column(children: <Widget>[
PrimaryButton(
onPressed: () {
Navigator.pushNamed(context, Routes.newWalletFromWelcome);
},
text: S.of(context).create_new,
color:
Theme.of(context).primaryTextTheme.button.backgroundColor,
textColor:
Theme.of(context).primaryTextTheme.button.color),
SizedBox(height: 10),
PrimaryButton(
onPressed: () {
Navigator.pushNamed(context, Routes.restoreOptions);
},
color: Theme.of(context).accentTextTheme.caption.backgroundColor,
textColor:
Theme.of(context).primaryTextTheme.button.color,
text: S.of(context).restore_wallet,
)
]))
]);
],
),
bottomSectionPadding: EdgeInsets.only(left: 24, right: 24, bottom: 20),
bottomSection: Column(children: <Widget>[
Text(
S.of(context).please_make_selection,
style: TextStyle(
fontSize: 12,
color: PaletteDark.walletCardText,
),
textAlign: TextAlign.center,
),
Padding(
padding: EdgeInsets.only(top: 24),
child: PrimaryImageButton(
onPressed: () => Navigator.pushNamed(context, Routes.newWalletFromWelcome),
image: newWalletImage,
text: S.of(context).create_new,
color: Colors.white,
textColor: PaletteDark.historyPanel),
),
Padding(
padding: EdgeInsets.only(top: 10),
child: PrimaryImageButton(
onPressed: () => Navigator.pushNamed(context, Routes.restoreOptions),
image: restoreWalletImage,
text: S.of(context).restore_wallet,
color: PaletteDark.historyPanelButton,
textColor: Colors.white),
)
]),
),
);
}
}

View file

@ -16,6 +16,7 @@ abstract class WalletCreationStoreBase with Store {
@required this.walletListService,
@required this.sharedPreferences}) {
state = WalletCreationStateInitial();
isDisabledStatus = true;
}
final AuthenticationStore authStore;
@ -31,6 +32,9 @@ abstract class WalletCreationStoreBase with Store {
@observable
bool isValid;
@observable
bool isDisabledStatus;
@action
Future create({String name, String language}) async {
state = WalletCreationStateInitial();
@ -45,6 +49,11 @@ abstract class WalletCreationStoreBase with Store {
}
}
@action
void setDisabledStatus(bool isDisabled) {
isDisabledStatus = isDisabled;
}
void validateWalletName(String value) {
const pattern = '^[a-zA-Z0-9_]{1,15}\$';
final regExp = RegExp(pattern);

View file

@ -1,6 +1,5 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:cake_wallet/palette.dart';
class PrimaryButton extends StatelessWidget {
const PrimaryButton(
@ -27,7 +26,8 @@ class PrimaryButton extends StatelessWidget {
onPressed: isDisabled
? (onDisabledPressed != null ? onDisabledPressed : null)
: onPressed,
color: isDisabled ? Colors.transparent : color,
color: color,
disabledColor: color.withOpacity(0.5),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(26.0)),
child: Text(text,
@ -35,8 +35,9 @@ class PrimaryButton extends StatelessWidget {
fontSize: 15.0,
fontWeight: FontWeight.w600,
color: isDisabled
? Palette.darkGrey
: textColor)),
? Colors.grey.withOpacity(0.5)
: textColor
)),
));
}
}
@ -46,13 +47,13 @@ class LoadingPrimaryButton extends StatelessWidget {
{@required this.onPressed,
@required this.text,
@required this.color,
@required this.borderColor,
@required this.textColor,
this.isDisabled = false,
this.isLoading = false});
final VoidCallback onPressed;
final Color color;
final Color borderColor;
final Color textColor;
final bool isLoading;
final bool isDisabled;
final String text;
@ -61,19 +62,23 @@ class LoadingPrimaryButton extends StatelessWidget {
Widget build(BuildContext context) {
return ButtonTheme(
minWidth: double.infinity,
height: 56.0,
height: 52.0,
child: FlatButton(
onPressed: (isLoading || isDisabled) ? null : onPressed,
color: color,
disabledColor: color.withOpacity(0.5),
shape: RoundedRectangleBorder(
side: BorderSide(color: borderColor),
borderRadius: BorderRadius.circular(10.0)),
borderRadius: BorderRadius.circular(26.0)),
child: isLoading
? CupertinoActivityIndicator(animating: true)
: Text(text,
style: TextStyle(
fontSize: 16.0,
color: Theme.of(context).primaryTextTheme.button.color)),
style: TextStyle(
fontSize: 15.0,
fontWeight: FontWeight.w600,
color: isDisabled
? Colors.grey.withOpacity(0.5)
: textColor
)),
));
}
}
@ -179,34 +184,6 @@ class PrimaryImageButton extends StatelessWidget {
],
),
)
/*Row(
children: <Widget>[
Container(
width: 28.0,
height: 56.0,
decoration: BoxDecoration(
shape: BoxShape.circle, color: Colors.transparent),
child: image,
),
Expanded(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Container(
height: 56.0,
child: Center(
child: Text(text,
style: TextStyle(
fontSize: 18.0,
color: Theme.of(context)
.primaryTextTheme
.button
.color)),
),
)
]))
],
),*/
));
}
}

View file

@ -1,8 +1,9 @@
{
"welcome" : "Willkommen\nzu CAKE WALLET",
"first_wallet_text" : "tolle Brieftasche\nzum Monero",
"please_make_selection" : "Bitte treffen Sie unten eine Auswahl zu\nErstellen oder Wiederherstellen Ihrer Brieftasche.",
"create_new" : "Erstelle neu",
"welcome" : "Willkommen zu",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "tolle Brieftasche zum Monero",
"please_make_selection" : "Bitte treffen Sie unten eine Auswahl zu Erstellen oder Wiederherstellen Ihrer Brieftasche.",
"create_new" : "Neue Wallet erstellen",
"restore_wallet" : "Wallet wiederherstellen",
@ -106,6 +107,7 @@
"new_wallet" : "Neues Wallet",
"wallet_name" : "Walletname",
"continue_text" : "Fortsetzen",
"choose_wallet_currency" : "Bitte wählen Sie die Brieftaschenwährung:",
"node_new" : "Neuer Knoten",
@ -157,7 +159,8 @@
"copy" : "Kopieren",
"seed_language_choose" : "Bitte wählen Sie die Ausgangssprache",
"seed_language_choose" : "Bitte wählen Sie die Ausgangssprache:",
"seed_choose" : "Wählen Sie die Ausgangssprache",
"seed_language_next" : "Nächster",
"seed_language_english" : "Englisch",
"seed_language_chinese" : "Chinesisch",

View file

@ -1,9 +1,10 @@
{
"welcome" : "WELCOME\nTO CAKE WALLET",
"first_wallet_text" : "Awesome wallet\nfor Monero",
"please_make_selection" : "Please make selection below to\ncreate or recover your wallet.",
"create_new" : "Create new",
"restore_wallet" : "Restore wallet",
"welcome" : "Welcome to",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "Awesome wallet for Monero",
"please_make_selection" : "Please make selection below to create or recover your wallet.",
"create_new" : "Create New Wallet",
"restore_wallet" : "Restore Wallet",
"accounts" : "Accounts",
@ -106,6 +107,7 @@
"new_wallet" : "New Wallet",
"wallet_name" : "Wallet name",
"continue_text" : "Continue",
"choose_wallet_currency" : "Please choose wallet currency:",
"node_new" : "New Node",
@ -157,7 +159,8 @@
"copy" : "Copy",
"seed_language_choose" : "Please choose seed language",
"seed_language_choose" : "Please choose seed language:",
"seed_choose" : "Choose seed language",
"seed_language_next" : "Next",
"seed_language_english" : "English",
"seed_language_chinese" : "Chinese",

View file

@ -1,8 +1,9 @@
{
"welcome" : "Bienvenido\n CAKE WALLET",
"first_wallet_text" : "Impresionante billetera\npara Monero",
"please_make_selection" : "Seleccione a continuación para\ncrear o recuperar su billetera.",
"create_new" : "Crear nuevo",
"welcome" : "Bienvenido",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "Impresionante billetera para Monero",
"please_make_selection" : "Seleccione a continuación para crear o recuperar su billetera.",
"create_new" : "Crear nueva billetera",
"restore_wallet" : "Restaurar billetera",
@ -106,6 +107,7 @@
"new_wallet" : "Nueva billetera",
"wallet_name" : "Nombre de la billetera",
"continue_text" : "Continuar",
"choose_wallet_currency" : "Por favor, elija la moneda de la billetera:",
"node_new" : "Nuevo nodo",
@ -157,7 +159,8 @@
"copy" : "Dupdo",
"seed_language_choose" : "Por favor elija el idioma semilla",
"seed_language_choose" : "Por favor elija el idioma semilla:",
"seed_choose" : "Elige el idioma semilla",
"seed_language_next" : "Próximo",
"seed_language_english" : "Inglés",
"seed_language_chinese" : "Chino",

View file

@ -1,8 +1,9 @@
{
"welcome" : "स्वागत हे\nसेवा मेरे CAKE WALLET",
"first_wallet_text" : "बहुत बढ़िया बटुआ\nके लिये Monero",
"please_make_selection" : "कृपया नीचे चयन करें\nअपना बटुआ बनाएं या पुनर्प्राप्त करें.",
"create_new" : "नया बनाओ",
"welcome" : "स्वागत हे सेवा मेरे",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "बहुत बढ़िया बटुआ के लिये Monero",
"please_make_selection" : "कृपया नीचे चयन करें अपना बटुआ बनाएं या पुनर्प्राप्त करें.",
"create_new" : "नया बटुआ बनाएँ",
"restore_wallet" : "वॉलेट को पुनर्स्थापित करें",
@ -106,6 +107,7 @@
"new_wallet" : "नया बटुआ",
"wallet_name" : "बटुए का नाम",
"continue_text" : "जारी रहना",
"choose_wallet_currency" : "कृपया बटुआ मुद्रा चुनें:",
"node_new" : "नया नोड",
@ -157,7 +159,8 @@
"copy" : "प्रतिलिपि",
"seed_language_choose" : "कृपया बीज भाषा चुनें",
"seed_language_choose" : "कृपया बीज भाषा चुनें:",
"seed_choose" : "बीज भाषा चुनें",
"seed_language_next" : "आगामी",
"seed_language_english" : "अंग्रेज़ी",
"seed_language_chinese" : "चीनी",

View file

@ -1,9 +1,10 @@
{
"welcome" : "ようこそ\nに CAKE WALLET",
"first_wallet_text" : "素晴らしい財布\nために Monero",
"please_make_selection" : "以下を選択してください\nウォレットを作成または回復する.",
"create_new" : "新しく作る",
"restore_wallet" : "ウォレットを復元する",
"welcome" : "ようこそ に",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "素晴らしい財布 ために Monero",
"please_make_selection" : "以下を選択してください ウォレットを作成または回復する.",
"create_new" : "新しいウォレットを作成",
"restore_wallet" : "ウォレットを復元",
"accounts" : "アカウント",
@ -106,6 +107,7 @@
"new_wallet" : "新しいウォレット",
"wallet_name" : "ウォレット名",
"continue_text" : "持続する",
"choose_wallet_currency" : "ウォレット通貨を選択してください:",
"node_new" : "新しいノード",
@ -157,7 +159,8 @@
"copy" : "コピー",
"seed_language_choose" : "シード言語を選択してください",
"seed_language_choose" : "シード言語を選択してください:",
"seed_choose" : "シード言語を選択してください",
"seed_language_next" : "次",
"seed_language_english" : "英語",
"seed_language_chinese" : "中国語",

View file

@ -1,9 +1,10 @@
{
"welcome" : "환영\n에 CAKE WALLET",
"first_wallet_text" : "멋진 지갑\n에 대한 Monero",
"please_make_selection" : "아래에서 선택하십시오\n지갑 만들기 또는 복구.",
"create_new" : "새로 만들기",
"restore_wallet" : "지갑 복원",
"welcome" : "환영 에",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "멋진 지갑 에 대한 Monero",
"please_make_selection" : "아래에서 선택하십시오 지갑 만들기 또는 복구.",
"create_new" : "새 월렛 만들기",
"restore_wallet" : "월렛 복원",
"accounts" : "계정",
@ -106,6 +107,7 @@
"new_wallet" : "새 월렛",
"wallet_name" : "지갑 이름",
"continue_text" : "잇다",
"choose_wallet_currency" : "지갑 통화를 선택하십시오:",
"node_new" : "새로운 노드",
@ -157,7 +159,8 @@
"copy" : "부",
"seed_language_choose" : "종자 언어를 선택하십시오",
"seed_language_choose" : "종자 언어를 선택하십시오:",
"seed_choose" : "시드 언어를 선택하십시오",
"seed_language_next" : "다음 것",
"seed_language_english" : "영어",
"seed_language_chinese" : "중국말",

View file

@ -1,8 +1,9 @@
{
"welcome" : "WELKOM\nBIJ CAKE WALLET",
"first_wallet_text" : "Geweldige portemonnee\nfvoor Monero",
"please_make_selection" : "Maak hieronder uw keuze tot\nmaak of herstel je portemonnee.",
"create_new" : "Maak nieuw",
"welcome" : "Welkom bij",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "Geweldige portemonnee fvoor Monero",
"please_make_selection" : "Maak hieronder uw keuze tot maak of herstel je portemonnee.",
"create_new" : "Maak een nieuwe portemonnee",
"restore_wallet" : "Portemonnee herstellen",
@ -106,6 +107,7 @@
"new_wallet" : "Nieuwe portemonnee",
"wallet_name" : "Portemonnee naam",
"continue_text" : "Doorgaan met",
"choose_wallet_currency" : "Kies een portemonnee-valuta:",
"node_new" : "Nieuw knooppunt",
@ -157,7 +159,8 @@
"copy" : "Kopiëren",
"seed_language_choose" : "Kies een starttaal",
"seed_language_choose" : "Kies een starttaal:",
"seed_choose" : "Kies een starttaal",
"seed_language_next" : "Volgende",
"seed_language_english" : "Engels",
"seed_language_chinese" : "Chinese",

View file

@ -1,8 +1,9 @@
{
"welcome" : "WITAMY\nW CAKE WALLET",
"first_wallet_text" : "Niesamowity portfel\nfdla Monero",
"please_make_selection" : "Wybierz poniżej, aby\ncutwórz lub odzyskaj swój portfel.",
"create_new" : "Tworzyć nowe",
"welcome" : "Witamy w",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "Niesamowity portfel dla Monero",
"please_make_selection" : "Wybierz poniżej, aby cutwórz lub odzyskaj swój portfel.",
"create_new" : "Utwórz nowy portfel",
"restore_wallet" : "Przywróć portfel",
@ -106,6 +107,7 @@
"new_wallet" : "Nowy portfel",
"wallet_name" : "Nazwa portfela",
"continue_text" : "Dalej",
"choose_wallet_currency" : "Wybierz walutę portfela:",
"node_new" : "Nowy węzeł",
@ -157,7 +159,8 @@
"copy" : "Kopiuj",
"seed_language_choose" : "Proszę wybrać język początkowy",
"seed_language_choose" : "Proszę wybrać język początkowy:",
"seed_choose" : "Wybierz język początkowy",
"seed_language_next" : "Kolejny",
"seed_language_english" : "Angielski",
"seed_language_chinese" : "Chiński",

View file

@ -1,8 +1,9 @@
{
"welcome" : "BEM-VINDO(A)\nÀ CAKE WALLET",
"first_wallet_text" : "Uma fantástica carteira\npara Monero",
"please_make_selection" : "Escolha se quer criar uma carteira nova\nou restaurar uma antiga.",
"create_new" : "Criar carteira",
"welcome" : "Bem-vindo ao",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "Uma fantástica carteira para Monero",
"please_make_selection" : "Escolha se quer criar uma carteira nova ou restaurar uma antiga.",
"create_new" : "Criar nova carteira",
"restore_wallet" : "Restaurar carteira",
@ -106,6 +107,7 @@
"new_wallet" : "Nova carteira",
"wallet_name" : "Nome da carteira",
"continue_text" : "Continuar",
"choose_wallet_currency" : "Escolha a moeda da carteira:",
"node_new" : "Novo nó",
@ -157,7 +159,8 @@
"copy" : "Copiar",
"seed_language_choose" : "Por favor, escolha o idioma da semente",
"seed_language_choose" : "Por favor, escolha o idioma da semente:",
"seed_choose" : "Escolha o idioma da semente",
"seed_language_next" : "Próximo",
"seed_language_english" : "Inglesa",
"seed_language_chinese" : "Chinesa",

View file

@ -1,8 +1,9 @@
{
"welcome" : "Приветствуем в CAKE WALLET",
"welcome" : "Приветствуем в",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "В самом удобном кошельке для Monero",
"please_make_selection" : "Выберите способ создания кошелька: создать новый или восстановить ваш существующий.",
"create_new" : "Создать новый",
"create_new" : "Создать новый кошелёк",
"restore_wallet" : "Восстановить кошелёк",
@ -106,6 +107,7 @@
"new_wallet" : "Новый кошелёк",
"wallet_name" : "Имя кошелька",
"continue_text" : "Продолжить",
"choose_wallet_currency" : "Пожалуйста, выберите валюту кошелька:",
"node_new" : "Новая нода",
@ -157,7 +159,8 @@
"copy" : "Скопировать",
"seed_language_choose" : "Пожалуйста, выберите язык мнемонической фразы",
"seed_language_choose" : "Пожалуйста, выберите язык мнемонической фразы:",
"seed_choose" : "Выберите язык мнемонической фразы",
"seed_language_next" : "Продолжить",
"seed_language_english" : "Английский",
"seed_language_chinese" : "Китайский",

View file

@ -1,8 +1,9 @@
{
"welcome" : "Вітаємо в CAKE WALLET",
"welcome" : "Вітаємо в",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "В самому зручному гаманці для Monero",
"please_make_selection" : "Виберіть спосіб створення гаманця: створити новий чи відновити ваш існуючий.",
"create_new" : "Створити новий",
"please_make_selection" : "Оберіть спосіб створення гаманця: створити новий чи відновити ваш існуючий.",
"create_new" : "Створити новий гаманець",
"restore_wallet" : "Відновити гаманець",
@ -106,6 +107,7 @@
"new_wallet" : "Новий гаманець",
"wallet_name" : "Ім'я гаманця",
"continue_text" : "Продовжити",
"choose_wallet_currency" : "Будь ласка, виберіть валюту гаманця:",
"node_new" : "Новий вузол",
@ -157,7 +159,8 @@
"copy" : "Скопіювати",
"seed_language_choose" : "Будь ласка, виберіть мову мнемонічної фрази",
"seed_language_choose" : "Будь ласка, виберіть мову мнемонічної фрази:",
"seed_choose" : "Виберіть мову мнемонічної фрази",
"seed_language_next" : "Продовжити",
"seed_language_english" : "Англійська",
"seed_language_chinese" : "Китайська",

View file

@ -1,8 +1,9 @@
{
"welcome" : "欢迎\nTO CAKE WALLET",
"first_wallet_text" : "很棒的钱包\n对于 Monero",
"please_make_selection" : "请在下面进行选择\nc创建或恢复您的钱包.",
"create_new" : "创建新的",
"welcome" : "歡迎來到",
"cake_wallet" : "Cake Wallet",
"first_wallet_text" : "很棒的钱包 对于 Monero",
"please_make_selection" : "请在下面进行选择 创建或恢复您的钱包.",
"create_new" : "创建新钱包",
"restore_wallet" : "恢复钱包",
@ -106,6 +107,7 @@
"new_wallet" : "新钱包",
"wallet_name" : "钱包名称",
"continue_text" : "继续",
"choose_wallet_currency" : "請選擇錢包貨幣:",
"node_new" : "新节点",
@ -157,7 +159,8 @@
"copy" : "复制",
"seed_language_choose" : "請選擇種子語言",
"seed_language_choose" : "請選擇種子語言:",
"seed_choose" : "選擇種子語言",
"seed_language_next" : "下一个",
"seed_language_english" : "英語",
"seed_language_chinese" : "中文",