CWA-204 | applied new design to welcome and new wallet pages; created new wallet type page and select button; changed loading primary button
BIN
assets/images/2.0x/bitcoin.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
assets/images/2.0x/select_arrow.png
Normal file
After Width: | Height: | Size: 385 B |
BIN
assets/images/2.0x/wallet_name.png
Normal file
After Width: | Height: | Size: 146 KiB |
BIN
assets/images/2.0x/wallet_type.png
Normal file
After Width: | Height: | Size: 145 KiB |
BIN
assets/images/2.0x/welcome.png
Normal file
After Width: | Height: | Size: 388 KiB |
BIN
assets/images/3.0x/bitcoin.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
assets/images/3.0x/select_arrow.png
Normal file
After Width: | Height: | Size: 497 B |
BIN
assets/images/3.0x/wallet_name.png
Normal file
After Width: | Height: | Size: 286 KiB |
BIN
assets/images/3.0x/wallet_type.png
Normal file
After Width: | Height: | Size: 282 KiB |
BIN
assets/images/3.0x/welcome.png
Normal file
After Width: | Height: | Size: 791 KiB |
BIN
assets/images/bitcoin.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
assets/images/select_arrow.png
Normal file
After Width: | Height: | Size: 290 B |
BIN
assets/images/wallet_name.png
Normal file
After Width: | Height: | Size: 49 KiB |
BIN
assets/images/wallet_type.png
Normal file
After Width: | Height: | Size: 49 KiB |
BIN
assets/images/welcome.png
Normal file
After Width: | Height: | Size: 116 KiB |
|
@ -40,6 +40,7 @@ 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";
|
||||
|
@ -56,7 +57,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 +85,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 +112,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,7 +142,7 @@ 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";
|
||||
|
@ -262,7 +263,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 +341,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
|
||||
|
@ -436,7 +437,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 +531,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 +581,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";
|
||||
|
@ -812,7 +815,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 +915,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
|
||||
|
@ -1008,7 +1011,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 +1105,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 +1155,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 => "भाषा बदलो";
|
||||
|
@ -1384,7 +1389,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 +1489,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
|
||||
|
@ -1580,7 +1585,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 +1729,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 => "Изменить язык";
|
||||
|
@ -2056,7 +2063,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
|
||||
|
@ -2152,7 +2159,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 +2253,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 +2303,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 => "언어 변경";
|
||||
|
@ -2488,7 +2497,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 +2537,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 +2637,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
|
||||
|
@ -2724,7 +2733,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 +2827,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 +2877,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";
|
||||
|
@ -3100,7 +3111,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 +3211,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
|
||||
|
@ -3296,7 +3307,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 +3401,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 +3451,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 => "Змінити мову";
|
||||
|
@ -3772,7 +3785,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
|
||||
|
@ -3868,7 +3881,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 +3975,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 +4025,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 => "言語を変えてください";
|
||||
|
@ -4204,7 +4219,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 +4259,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 +4363,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
|
||||
|
@ -4444,7 +4459,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 +4553,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 +4603,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";
|
||||
|
@ -4820,7 +4837,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 +4937,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
|
||||
|
@ -5016,7 +5033,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 +5127,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 +5177,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";
|
||||
|
@ -5392,7 +5411,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 +5511,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
|
||||
|
@ -5588,7 +5607,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 +5701,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 +5751,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";
|
||||
|
@ -5964,7 +5985,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 +6085,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
|
||||
|
@ -6160,7 +6181,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 +6275,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 +6325,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 => "改變語言";
|
||||
|
@ -6536,7 +6559,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
|
||||
|
|
|
@ -87,4 +87,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);
|
||||
}
|
|
@ -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>(
|
||||
|
|
|
@ -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';
|
||||
}
|
|
@ -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,
|
||||
))
|
||||
],
|
||||
|
|
|
@ -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: (_) {
|
||||
|
|
|
@ -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()),
|
||||
);
|
||||
|
|
|
@ -14,7 +14,7 @@ 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/seed_language/widgets/seed_language_picker.dart';
|
||||
import 'package:cake_wallet/src/screens/new_wallet/widgets/select_button.dart';
|
||||
|
||||
class NewWalletPage extends BasePage {
|
||||
NewWalletPage(
|
||||
|
@ -29,6 +29,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,8 +42,47 @@ class WalletNameForm extends StatefulWidget {
|
|||
}
|
||||
|
||||
class _WalletNameFormState extends State<WalletNameForm> {
|
||||
static const aspectRatioImage = 1.22;
|
||||
|
||||
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
|
||||
];
|
||||
|
||||
final _formKey = GlobalKey<FormState>();
|
||||
final nameController = TextEditingController();
|
||||
final walletNameImage = Image.asset('assets/images/wallet_name.png');
|
||||
|
||||
bool isDisabledButton;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
isDisabledButton = true;
|
||||
|
||||
nameController.addListener(() {
|
||||
if (nameController.text.isNotEmpty) {
|
||||
isDisabledButton = false;
|
||||
} else {
|
||||
isDisabledButton = true;
|
||||
}
|
||||
|
||||
setState(() {});
|
||||
});
|
||||
|
||||
super.initState();
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
nameController.dispose();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
@ -52,7 +94,7 @@ class _WalletNameFormState extends State<WalletNameForm> {
|
|||
Navigator.of(context).popUntil((route) => route.isFirst);
|
||||
}
|
||||
|
||||
if (state is WalletCreationFailure) {
|
||||
if (state is WalletCreationFailure) { // FIXME: apply new alert dialog
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
showDialog<void>(
|
||||
context: context,
|
||||
|
@ -71,66 +113,92 @@ class _WalletNameFormState extends State<WalletNameForm> {
|
|||
}
|
||||
});
|
||||
|
||||
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: () {} // FIXME: apply picker
|
||||
)
|
||||
),
|
||||
)
|
||||
]),
|
||||
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: isDisabledButton,
|
||||
);
|
||||
},
|
||||
)),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
146
lib/src/screens/new_wallet/new_wallet_type_page.dart
Normal 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(
|
||||
'Please 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: () => onSelectBitcoinButton()),
|
||||
),
|
||||
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(() {});
|
||||
}
|
||||
}
|
66
lib/src/screens/new_wallet/widgets/select_button.dart
Normal 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
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
|
@ -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,))
|
||||
]),
|
||||
);
|
||||
}
|
||||
|
|
|
@ -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,);
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
|
|
@ -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,);
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}));
|
||||
|
|
|
@ -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),
|
||||
))
|
||||
|
|
|
@ -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),
|
||||
)
|
||||
]),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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)),
|
||||
),
|
||||
)
|
||||
]))
|
||||
],
|
||||
),*/
|
||||
));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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",
|
||||
|
||||
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
||||
|
||||
|
|
|
@ -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" : "वॉलेट को पुनर्स्थापित करें",
|
||||
|
||||
|
||||
|
|
|
@ -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" : "アカウント",
|
||||
|
|
|
@ -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" : "계정",
|
||||
|
|
|
@ -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",
|
||||
|
||||
|
||||
|
|
|
@ -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",
|
||||
|
||||
|
||||
|
|
|
@ -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",
|
||||
|
||||
|
||||
|
|
|
@ -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" : "Восстановить кошелёк",
|
||||
|
||||
|
||||
|
|
|
@ -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" : "Відновити гаманець",
|
||||
|
||||
|
||||
|
|
|
@ -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" : "恢复钱包",
|
||||
|
||||
|
||||
|
|