diff --git a/assets/images/2.0x/bitcoin.png b/assets/images/2.0x/bitcoin.png new file mode 100644 index 000000000..169c73426 Binary files /dev/null and b/assets/images/2.0x/bitcoin.png differ diff --git a/assets/images/2.0x/china.png b/assets/images/2.0x/china.png new file mode 100644 index 000000000..d199532ee Binary files /dev/null and b/assets/images/2.0x/china.png differ diff --git a/assets/images/2.0x/germany.png b/assets/images/2.0x/germany.png new file mode 100644 index 000000000..e2d0b90dd Binary files /dev/null and b/assets/images/2.0x/germany.png differ diff --git a/assets/images/2.0x/header.png b/assets/images/2.0x/header.png new file mode 100644 index 000000000..192b343ff Binary files /dev/null and b/assets/images/2.0x/header.png differ diff --git a/assets/images/2.0x/holland.png b/assets/images/2.0x/holland.png new file mode 100644 index 000000000..5934a2332 Binary files /dev/null and b/assets/images/2.0x/holland.png differ diff --git a/assets/images/2.0x/india.png b/assets/images/2.0x/india.png new file mode 100644 index 000000000..af1e05656 Binary files /dev/null and b/assets/images/2.0x/india.png differ diff --git a/assets/images/2.0x/japan.png b/assets/images/2.0x/japan.png new file mode 100644 index 000000000..ba2fac68a Binary files /dev/null and b/assets/images/2.0x/japan.png differ diff --git a/assets/images/2.0x/poland.png b/assets/images/2.0x/poland.png new file mode 100644 index 000000000..30e2d4c76 Binary files /dev/null and b/assets/images/2.0x/poland.png differ diff --git a/assets/images/2.0x/portugal.png b/assets/images/2.0x/portugal.png new file mode 100644 index 000000000..08928da3e Binary files /dev/null and b/assets/images/2.0x/portugal.png differ diff --git a/assets/images/2.0x/russia.png b/assets/images/2.0x/russia.png new file mode 100644 index 000000000..c72a0dfe4 Binary files /dev/null and b/assets/images/2.0x/russia.png differ diff --git a/assets/images/2.0x/select_arrow.png b/assets/images/2.0x/select_arrow.png new file mode 100644 index 000000000..25d64c03c Binary files /dev/null and b/assets/images/2.0x/select_arrow.png differ diff --git a/assets/images/2.0x/south_korea.png b/assets/images/2.0x/south_korea.png new file mode 100644 index 000000000..93aca42e8 Binary files /dev/null and b/assets/images/2.0x/south_korea.png differ diff --git a/assets/images/2.0x/spain.png b/assets/images/2.0x/spain.png new file mode 100644 index 000000000..e1458506e Binary files /dev/null and b/assets/images/2.0x/spain.png differ diff --git a/assets/images/2.0x/usa.png b/assets/images/2.0x/usa.png new file mode 100644 index 000000000..5517c9e81 Binary files /dev/null and b/assets/images/2.0x/usa.png differ diff --git a/assets/images/2.0x/wallet_name.png b/assets/images/2.0x/wallet_name.png new file mode 100644 index 000000000..f5593af17 Binary files /dev/null and b/assets/images/2.0x/wallet_name.png differ diff --git a/assets/images/2.0x/wallet_type.png b/assets/images/2.0x/wallet_type.png new file mode 100644 index 000000000..a3bbfdf2d Binary files /dev/null and b/assets/images/2.0x/wallet_type.png differ diff --git a/assets/images/2.0x/welcome.png b/assets/images/2.0x/welcome.png new file mode 100644 index 000000000..8ff024130 Binary files /dev/null and b/assets/images/2.0x/welcome.png differ diff --git a/assets/images/3.0x/bitcoin.png b/assets/images/3.0x/bitcoin.png new file mode 100644 index 000000000..9fd49e6f8 Binary files /dev/null and b/assets/images/3.0x/bitcoin.png differ diff --git a/assets/images/3.0x/china.png b/assets/images/3.0x/china.png new file mode 100644 index 000000000..fd0a75372 Binary files /dev/null and b/assets/images/3.0x/china.png differ diff --git a/assets/images/3.0x/germany.png b/assets/images/3.0x/germany.png new file mode 100644 index 000000000..c01bacae9 Binary files /dev/null and b/assets/images/3.0x/germany.png differ diff --git a/assets/images/3.0x/header.png b/assets/images/3.0x/header.png new file mode 100644 index 000000000..9a86d241a Binary files /dev/null and b/assets/images/3.0x/header.png differ diff --git a/assets/images/3.0x/holland.png b/assets/images/3.0x/holland.png new file mode 100644 index 000000000..14b47e1d6 Binary files /dev/null and b/assets/images/3.0x/holland.png differ diff --git a/assets/images/3.0x/india.png b/assets/images/3.0x/india.png new file mode 100644 index 000000000..3d80e2665 Binary files /dev/null and b/assets/images/3.0x/india.png differ diff --git a/assets/images/3.0x/japan.png b/assets/images/3.0x/japan.png new file mode 100644 index 000000000..9a9b487a2 Binary files /dev/null and b/assets/images/3.0x/japan.png differ diff --git a/assets/images/3.0x/poland.png b/assets/images/3.0x/poland.png new file mode 100644 index 000000000..a345e23a5 Binary files /dev/null and b/assets/images/3.0x/poland.png differ diff --git a/assets/images/3.0x/portugal.png b/assets/images/3.0x/portugal.png new file mode 100644 index 000000000..0f2840e67 Binary files /dev/null and b/assets/images/3.0x/portugal.png differ diff --git a/assets/images/3.0x/russia.png b/assets/images/3.0x/russia.png new file mode 100644 index 000000000..772606783 Binary files /dev/null and b/assets/images/3.0x/russia.png differ diff --git a/assets/images/3.0x/select_arrow.png b/assets/images/3.0x/select_arrow.png new file mode 100644 index 000000000..014b54cc0 Binary files /dev/null and b/assets/images/3.0x/select_arrow.png differ diff --git a/assets/images/3.0x/south_korea.png b/assets/images/3.0x/south_korea.png new file mode 100644 index 000000000..3e0c889d5 Binary files /dev/null and b/assets/images/3.0x/south_korea.png differ diff --git a/assets/images/3.0x/spain.png b/assets/images/3.0x/spain.png new file mode 100644 index 000000000..cf530865d Binary files /dev/null and b/assets/images/3.0x/spain.png differ diff --git a/assets/images/3.0x/usa.png b/assets/images/3.0x/usa.png new file mode 100644 index 000000000..628094f0d Binary files /dev/null and b/assets/images/3.0x/usa.png differ diff --git a/assets/images/3.0x/wallet_name.png b/assets/images/3.0x/wallet_name.png new file mode 100644 index 000000000..c02d9ef04 Binary files /dev/null and b/assets/images/3.0x/wallet_name.png differ diff --git a/assets/images/3.0x/wallet_type.png b/assets/images/3.0x/wallet_type.png new file mode 100644 index 000000000..3c6341426 Binary files /dev/null and b/assets/images/3.0x/wallet_type.png differ diff --git a/assets/images/3.0x/welcome.png b/assets/images/3.0x/welcome.png new file mode 100644 index 000000000..c939cf360 Binary files /dev/null and b/assets/images/3.0x/welcome.png differ diff --git a/assets/images/bitcoin.png b/assets/images/bitcoin.png new file mode 100644 index 000000000..1c30fa3a8 Binary files /dev/null and b/assets/images/bitcoin.png differ diff --git a/assets/images/header.png b/assets/images/header.png new file mode 100644 index 000000000..a3e8169aa Binary files /dev/null and b/assets/images/header.png differ diff --git a/assets/images/wallet_type.png b/assets/images/wallet_type.png new file mode 100644 index 000000000..4e0eba8b5 Binary files /dev/null and b/assets/images/wallet_type.png differ diff --git a/assets/images/welcome.png b/assets/images/welcome.png new file mode 100644 index 000000000..f1132d253 Binary files /dev/null and b/assets/images/welcome.png differ diff --git a/lib/generated/i18n.dart b/lib/generated/i18n.dart index 4d8cbfe0f..d61bfec90 100644 --- a/lib/generated/i18n.dart +++ b/lib/generated/i18n.dart @@ -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"; @@ -143,7 +145,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"; @@ -265,7 +267,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"; @@ -343,7 +345,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 @@ -427,6 +429,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"; @@ -439,7 +443,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 @@ -535,7 +539,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 @@ -585,6 +589,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"; @@ -821,7 +827,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 @@ -921,7 +927,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 @@ -1005,6 +1011,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 => "के रूप में संतुलन प्रदर्शित करें"; @@ -1017,7 +1025,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 @@ -1113,7 +1121,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 @@ -1163,6 +1171,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 => "भाषा बदलो"; @@ -1399,7 +1409,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 @@ -1499,7 +1509,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 @@ -1583,6 +1593,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 => "Отображать баланс как"; @@ -1595,7 +1607,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 @@ -1741,6 +1753,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 => "Изменить язык"; @@ -2077,7 +2091,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 @@ -2161,6 +2175,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 => "잔액 표시"; @@ -2173,7 +2189,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 @@ -2269,7 +2285,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 @@ -2319,6 +2335,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 => "언어 변경"; @@ -2515,7 +2533,7 @@ class $ko extends S { @override String get settings_support => "지원하다"; @override - String get restore_wallet => "지갑 복원"; + String get restore_wallet => "월렛 복원"; @override String get ok => "승인"; @override @@ -2555,7 +2573,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 @@ -2655,7 +2673,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 @@ -2739,6 +2757,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"; @@ -2751,7 +2771,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 @@ -2847,7 +2867,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 @@ -2897,6 +2917,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"; @@ -3133,7 +3155,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 @@ -3233,7 +3255,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 @@ -3317,6 +3339,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 => "Відображати баланс як"; @@ -3329,7 +3353,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 @@ -3425,7 +3449,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 @@ -3475,6 +3499,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 => "Змінити мову"; @@ -3811,7 +3837,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 @@ -3895,6 +3921,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 => "残高を表示"; @@ -3907,7 +3935,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 @@ -4003,7 +4031,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 @@ -4053,6 +4081,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 => "言語を変えてください"; @@ -4249,7 +4279,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 @@ -4289,7 +4319,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 @@ -4393,7 +4423,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 @@ -4477,6 +4507,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"; @@ -4489,7 +4521,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 @@ -4585,7 +4617,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 @@ -4635,6 +4667,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"; @@ -4871,7 +4905,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 @@ -4971,7 +5005,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 @@ -5055,6 +5089,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"; @@ -5067,7 +5103,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 @@ -5163,7 +5199,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 @@ -5213,6 +5249,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"; @@ -5449,7 +5487,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 @@ -5549,7 +5587,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 @@ -5633,6 +5671,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"; @@ -5645,7 +5685,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 @@ -5741,7 +5781,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 @@ -5791,6 +5831,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"; @@ -6027,7 +6069,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 @@ -6127,7 +6169,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 @@ -6211,6 +6253,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 => "将余额显示为"; @@ -6223,7 +6267,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 @@ -6319,7 +6363,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 @@ -6369,6 +6413,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 => "改變語言"; @@ -6605,7 +6651,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 diff --git a/lib/palette.dart b/lib/palette.dart index 87a145367..0c7a3cc1a 100644 --- a/lib/palette.dart +++ b/lib/palette.dart @@ -74,6 +74,8 @@ class PaletteDark { static const Color backgroundStart = Color.fromRGBO(231, 240, 253, 1.0); static const Color backgroundEnd = Color.fromRGBO(172, 203, 238, 1.0); + static const Color mainBackgroundColor = Color.fromRGBO(70, 85, 133, 1.0); + static const Color borderCardColor = Color.fromRGBO(81, 96, 147, 1.0); static const Color walletCardTopStartSync = Color.fromRGBO(89, 104, 152, 1.0); static const Color walletCardBottomStartSync = Color.fromRGBO(70, 85, 133, 1.0); static const Color walletCardTopEndSync = Color.fromRGBO(70, 85, 133, 1.0); @@ -87,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); } \ No newline at end of file diff --git a/lib/router.dart b/lib/router.dart index d3d6c74ca..f2c0a554a 100644 --- a/lib/router.dart +++ b/lib/router.dart @@ -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 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(builder: (_) => NewWalletTypePage()); case Routes.newWallet: return CupertinoPageRoute( diff --git a/lib/routes.dart b/lib/routes.dart index 694ff39a9..9fc3a941f 100644 --- a/lib/routes.dart +++ b/lib/routes.dart @@ -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'; } \ No newline at end of file diff --git a/lib/src/screens/dashboard/dashboard_page.dart b/lib/src/screens/dashboard/dashboard_page.dart index 792097214..b05bb8d9a 100644 --- a/lib/src/screens/dashboard/dashboard_page.dart +++ b/lib/src/screens/dashboard/dashboard_page.dart @@ -1,16 +1,40 @@ +import 'package:cake_wallet/src/screens/dashboard/widgets/menu_widget.dart'; import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; import 'package:cake_wallet/palette.dart'; import 'package:cake_wallet/src/screens/base_page.dart'; import 'package:cake_wallet/src/screens/dashboard/widgets/wallet_card.dart'; import 'package:cake_wallet/src/screens/dashboard/widgets/trade_history_panel.dart'; -import 'package:cake_wallet/src/screens/dashboard/widgets/menu_widget.dart'; class DashboardPage extends BasePage { final _bodyKey = GlobalKey(); @override - ObstructingPreferredSizeWidget appBar(BuildContext context) => null; + Color get backgroundColor => PaletteDark.mainBackgroundColor; + + @override + Widget trailing(BuildContext context) { + final menuButton = Image.asset('assets/images/header.png'); + + return SizedBox( + height: 37, + width: 37, + child: ButtonTheme( + minWidth: double.minPositive, + child: FlatButton( + highlightColor: Colors.transparent, + splashColor: Colors.transparent, + padding: EdgeInsets.all(0), + onPressed: () async { + await showDialog( + builder: (_) => MenuWidget(), + context: context + ); + }, + child: menuButton), + ), + ); + } @override Widget body(BuildContext context) => DashboardPageBody(key: _bodyKey); @@ -24,46 +48,17 @@ class DashboardPageBody extends StatefulWidget { } class DashboardPageBodyState extends State { - final menuButton = Image.asset('assets/images/menu_button.png'); @override Widget build(BuildContext context) { - final List colors = [PaletteDark.backgroundStart, PaletteDark.backgroundEnd]; return SafeArea( child: Container( - decoration: BoxDecoration( - gradient: LinearGradient( - colors: colors - ) - ), + color: PaletteDark.mainBackgroundColor, child: Column( children: [ Padding( - padding: EdgeInsets.only(top: 14), - child: Container( - width: double.infinity, - alignment: Alignment.centerRight, - child: SizedBox( - height: 37, - width: 37, - child: ButtonTheme( - minWidth: double.minPositive, - child: FlatButton( - highlightColor: Colors.transparent, - splashColor: Colors.transparent, - padding: EdgeInsets.all(0), - onPressed: () => showDialog( - builder: (_) => MenuWidget(), - context: context - ), - child: menuButton), - ), - ), - ) - ), - Padding( - padding: EdgeInsets.only(left: 20, top: 23), + padding: EdgeInsets.only(left: 20, top: 10), child: WalletCard(), ), SizedBox( diff --git a/lib/src/screens/dashboard/wallet_menu.dart b/lib/src/screens/dashboard/wallet_menu.dart index d3a306c87..e3402bdb9 100644 --- a/lib/src/screens/dashboard/wallet_menu.dart +++ b/lib/src/screens/dashboard/wallet_menu.dart @@ -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: [ - 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)) - ], - );*/ }); } } diff --git a/lib/src/screens/dashboard/widgets/button_header.dart b/lib/src/screens/dashboard/widgets/button_header.dart index 3daa39ec7..71b8434e5 100644 --- a/lib/src/screens/dashboard/widgets/button_header.dart +++ b/lib/src/screens/dashboard/widgets/button_header.dart @@ -274,7 +274,7 @@ class ButtonHeader extends SliverPersistentHeaderDelegate { width: 48, alignment: Alignment.center, decoration: BoxDecoration( - color: Colors.white, + color: PaletteDark.borderCardColor, shape: BoxShape.circle ), child: image, diff --git a/lib/src/screens/dashboard/widgets/wallet_card.dart b/lib/src/screens/dashboard/widgets/wallet_card.dart index f1bfc374f..4c4f7a511 100644 --- a/lib/src/screens/dashboard/widgets/wallet_card.dart +++ b/lib/src/screens/dashboard/widgets/wallet_card.dart @@ -24,7 +24,7 @@ class WalletCardState extends State { final _balanceObserverKey = GlobalKey(); final _addressObserverKey = GlobalKey(); - final List colorsSync = [PaletteDark.walletCardTopEndSync, PaletteDark.walletCardBottomEndSync]; + final List colorsSync = [PaletteDark.walletCardSubAddressField, PaletteDark.walletCardBottomEndSync]; double cardWidth; double cardHeight; double screenWidth; @@ -45,12 +45,12 @@ class WalletCardState extends State { } void afterLayout(dynamic _) { - screenWidth = MediaQuery.of(context).size.width; + screenWidth = MediaQuery.of(context).size.width - 20; setState(() { cardWidth = screenWidth; opacity = 1; }); - Timer(Duration(milliseconds: 350), () => + Timer(Duration(milliseconds: 500), () => setState(() => isDraw = true) ); } @@ -67,20 +67,34 @@ class WalletCardState extends State { height: cardHeight, duration: Duration(milliseconds: 500), curve: Curves.fastOutSlowIn, - decoration: BoxDecoration( - borderRadius: BorderRadius.only(topLeft: Radius.circular(10), bottomLeft: Radius.circular(10)), - gradient: LinearGradient( - colors: [PaletteDark.walletCardTopStartSync.withOpacity(opacity), - PaletteDark.walletCardBottomStartSync.withOpacity(opacity)], - begin: Alignment.topCenter, - end: Alignment.bottomCenter - ) + padding: EdgeInsets.only( + top: 1, + left: 1, + bottom: 1 ), - child: InkWell( - onTap: () => setState(() => isFrontSide = !isFrontSide), - child: isFrontSide - ? frontSide() - : backSide() + decoration: BoxDecoration( + borderRadius: BorderRadius.only(topLeft: Radius.circular(10), bottomLeft: Radius.circular(10)), + color: PaletteDark.borderCardColor, + boxShadow: [ + BoxShadow( + color: PaletteDark.historyPanel.withOpacity(0.5), + blurRadius: 8, + offset: Offset(5, 5)) + ] + ), + child: Container( + width: cardWidth, + height: cardHeight, + decoration: BoxDecoration( + borderRadius: BorderRadius.only(topLeft: Radius.circular(10), bottomLeft: Radius.circular(10)), + color: PaletteDark.historyPanel + ), + child: InkWell( + onTap: () => setState(() => isFrontSide = !isFrontSide), + child: isFrontSide + ? frontSide() + : backSide() + ), ), ), ); @@ -99,6 +113,7 @@ class WalletCardState extends State { final status = syncStore.status; final statusText = status.title(); final progress = syncStore.status.progress(); + final indicatorWidth = progress * cardWidth; String shortAddress = walletStore.subaddress.address; shortAddress = shortAddress.replaceRange(4, shortAddress.length - 4, '...'); @@ -125,7 +140,7 @@ class WalletCardState extends State { children: [ Container( height: cardHeight, - width: progress * cardWidth, + width: indicatorWidth, decoration: BoxDecoration( borderRadius: BorderRadius.only(topLeft: Radius.circular(10), bottomLeft: Radius.circular(10)), gradient: LinearGradient( @@ -135,6 +150,18 @@ class WalletCardState extends State { ) ), ), + progress != 1 + ? Positioned( + left: indicatorWidth, + top: 0, + bottom: 0, + child: Container( + width: 1, + height: cardHeight, + color: PaletteDark.borderCardColor, + ) + ) + : Offstage(), isDraw ? Positioned( left: 20, right: 20, @@ -303,7 +330,7 @@ class WalletCardState extends State { final walletStore = Provider.of(context); final rightArrow = Image.asset('assets/images/right_arrow.png'); double messageBoxHeight = 0; - double messageBoxWidth = cardWidth - 30; + double messageBoxWidth = cardWidth - 10; return Observer( key: _addressObserverKey, @@ -358,7 +385,7 @@ class WalletCardState extends State { try { _addressObserverKey.currentState.setState(() { messageBoxHeight = 0; - messageBoxWidth = cardWidth - 30; + messageBoxWidth = cardWidth - 10; }); } catch(e) { print('${e.toString()}'); diff --git a/lib/src/screens/exchange/exchange_page.dart b/lib/src/screens/exchange/exchange_page.dart index b297c02e5..7993247c1 100644 --- a/lib/src/screens/exchange/exchange_page.dart +++ b/lib/src/screens/exchange/exchange_page.dart @@ -255,7 +255,7 @@ class ExchangeFormState extends State { .primaryTextTheme .button .backgroundColor, - textColor: Theme.of(context).primaryTextTheme.button.color, + textColor: Theme.of(context).primaryTextTheme.button.color, isLoading: exchangeStore.tradeState is TradeIsCreating, )), Observer(builder: (_) { diff --git a/lib/src/screens/new_wallet/new_wallet_page.dart b/lib/src/screens/new_wallet/new_wallet_page.dart index 2309fa248..507fb610b 100644 --- a/lib/src/screens/new_wallet/new_wallet_page.dart +++ b/lib/src/screens/new_wallet/new_wallet_page.dart @@ -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 { + static const aspectRatioImage = 1.22; + final _formKey = GlobalKey(); 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(context); final seedLanguageStore = Provider.of(context); + final List 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,80 +89,107 @@ class _WalletNameFormState extends State { WidgetsBinding.instance.addPostFrameCallback((_) { showDialog( context: context, - builder: (BuildContext context) { - return AlertDialog( - content: Text(state.error), - actions: [ - 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, - textColor: Theme.of(context).primaryTextTheme.button.color, - 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, + ); + }, + )), + ); } } diff --git a/lib/src/screens/new_wallet/new_wallet_type_page.dart b/lib/src/screens/new_wallet/new_wallet_type_page.dart new file mode 100644 index 000000000..4d662998d --- /dev/null +++ b/lib/src/screens/new_wallet/new_wallet_type_page.dart @@ -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 { + 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: [ + 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(() {}); + } +} \ No newline at end of file diff --git a/lib/src/screens/new_wallet/widgets/select_button.dart b/lib/src/screens/new_wallet/widgets/select_button.dart index 7ef2b7132..7e583ec4e 100644 --- a/lib/src/screens/new_wallet/widgets/select_button.dart +++ b/lib/src/screens/new_wallet/widgets/select_button.dart @@ -27,8 +27,8 @@ class SelectButton extends StatelessWidget { padding: EdgeInsets.only(left: 30, right: 30), alignment: Alignment.center, decoration: BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(30)), - color: color + borderRadius: BorderRadius.all(Radius.circular(30)), + color: color ), child: Row( mainAxisSize: MainAxisSize.max, @@ -40,18 +40,18 @@ class SelectButton extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.center, children: [ image != null - ? image - : Offstage(), + ? image + : Offstage(), Padding( padding: image != null - ? EdgeInsets.only(left: 15) - : EdgeInsets.only(left: 0), + ? EdgeInsets.only(left: 15) + : EdgeInsets.only(left: 0), child: Text( text, style: TextStyle( - fontSize: 18, - fontWeight: FontWeight.w600, - color: textColor + fontSize: 18, + fontWeight: FontWeight.w600, + color: textColor ), ), ) diff --git a/lib/src/screens/new_wallet/widgets/wallet_creation_dialog.dart b/lib/src/screens/new_wallet/widgets/wallet_creation_dialog.dart new file mode 100644 index 000000000..c1d464ebe --- /dev/null +++ b/lib/src/screens/new_wallet/widgets/wallet_creation_dialog.dart @@ -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, + ), + )), + ), + ); + } + +} \ No newline at end of file diff --git a/lib/src/screens/rescan/rescan_page.dart b/lib/src/screens/rescan/rescan_page.dart index 2caf2d7b4..ccc925429 100644 --- a/lib/src/screens/rescan/rescan_page.dart +++ b/lib/src/screens/rescan/rescan_page.dart @@ -33,7 +33,7 @@ class RescanPage extends BasePage { }, color: Theme.of(context).primaryTextTheme.button.backgroundColor, - textColor: Theme.of(context).primaryTextTheme.button.color)) + textColor: Theme.of(context).primaryTextTheme.button.color,)) ]), ); } diff --git a/lib/src/screens/seed/seed_page.dart b/lib/src/screens/seed/seed_page.dart index 4340810bc..cd5cc0d06 100644 --- a/lib/src/screens/seed/seed_page.dart +++ b/lib/src/screens/seed/seed_page.dart @@ -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 ), diff --git a/lib/src/screens/seed_language/widgets/seed_language_picker.dart b/lib/src/screens/seed_language/widgets/seed_language_picker.dart index 5c934f9d5..2b478205e 100644 --- a/lib/src/screens/seed_language/widgets/seed_language_picker.dart +++ b/lib/src/screens/seed_language/widgets/seed_language_picker.dart @@ -74,8 +74,8 @@ class SeedLanguagePickerState extends State { height: 300, width: 300, decoration: BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(14)), - color: PaletteDark.walletCardSubAddressField + borderRadius: BorderRadius.all(Radius.circular(14)), + color: PaletteDark.walletCardSubAddressField ), child: GridView.count( shrinkWrap: true, @@ -89,11 +89,11 @@ class SeedLanguagePickerState extends State { if (index == 8) { return gridTile( - isCurrent: false, - place: Places.bottomRight, - image: null, - text: '', - onTap: null); + isCurrent: false, + place: Places.bottomRight, + image: null, + text: '', + onTap: null); } else { @@ -103,52 +103,52 @@ class SeedLanguagePickerState extends State { 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, + 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(); + } ); } }), @@ -195,40 +195,40 @@ class SeedLanguagePickerState extends State { } 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: [ - 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 - ), + 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: [ + 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 ), - ) - ], - ), + ), + ) + ], ), - ) + ), + ) ); } } \ No newline at end of file diff --git a/lib/src/screens/trade_details/trade_details_page.dart b/lib/src/screens/trade_details/trade_details_page.dart index 508443e0d..bdca38375 100644 --- a/lib/src/screens/trade_details/trade_details_page.dart +++ b/lib/src/screens/trade_details/trade_details_page.dart @@ -9,13 +9,15 @@ import 'package:cake_wallet/src/stores/settings/settings_store.dart'; import 'package:cake_wallet/src/screens/base_page.dart'; import 'package:cake_wallet/src/screens/transaction_details/standart_list_item.dart'; import 'package:cake_wallet/src/screens/transaction_details/standart_list_row.dart'; +import 'package:cake_wallet/palette.dart'; class TradeDetailsPage extends BasePage { - @override - String get title => S.current.trade_details_title; @override - bool get isModalBackButton => true; + Color get backgroundColor => PaletteDark.historyPanel; + + @override + String get title => S.current.trade_details_title; @override Widget body(BuildContext context) { @@ -26,7 +28,8 @@ class TradeDetailsPage extends BasePage { formatDefault: "dd.MM.yyyy, HH:mm"); return Container( - padding: EdgeInsets.only(top: 10.0, bottom: 10.0, left: 20, right: 15), + color: PaletteDark.historyPanel, + padding: EdgeInsets.only(top: 20, bottom: 20), child: Observer(builder: (_) { final trade = exchangeStore.trade; final items = [ @@ -58,15 +61,22 @@ class TradeDetailsPage extends BasePage { } return ListView.separated( - separatorBuilder: (_, __) => Divider( - color: Theme.of(context).dividerTheme.color, - height: 1.0, - ), - padding: - EdgeInsets.only(left: 25, top: 10, right: 25, bottom: 15), + separatorBuilder: (_, __) => Container( + height: 1, + padding: EdgeInsets.only(left: 24), + color: PaletteDark.menuList, + child: Container( + height: 1, + color: PaletteDark.walletCardTopEndSync, + ), + ), itemCount: items.length, itemBuilder: (BuildContext context, int index) { final item = items[index]; + + final isDrawTop = index == 0 ? true : false; + final isDrawBottom = index == items.length - 1 ? true : false; + return GestureDetector( onTap: () { Clipboard.setData(ClipboardData(text: '${item.value}')); @@ -80,7 +90,11 @@ class TradeDetailsPage extends BasePage { ); }, child: StandartListRow( - title: '${item.title}', value: '${item.value}')); + title: '${item.title}', + value: '${item.value}', + isDrawTop: isDrawTop, + isDrawBottom: isDrawBottom, + )); }); })); } diff --git a/lib/src/screens/transaction_details/standart_list_row.dart b/lib/src/screens/transaction_details/standart_list_row.dart index 40f140dbe..29c4ad9e3 100644 --- a/lib/src/screens/transaction_details/standart_list_row.dart +++ b/lib/src/screens/transaction_details/standart_list_row.dart @@ -2,29 +2,57 @@ import 'package:flutter/material.dart'; import 'package:cake_wallet/palette.dart'; class StandartListRow extends StatelessWidget { - StandartListRow({this.title, this.value}); + StandartListRow({this.title, this.value, this.isDrawTop, this.isDrawBottom}); final String title; final String value; + final bool isDrawTop; + final bool isDrawBottom; @override Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.only(top: 10, bottom: 10), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text(title, - style: TextStyle( - fontSize: 14, - color: Theme.of(context).primaryTextTheme.overline.color), - textAlign: TextAlign.left), - Padding( - padding: const EdgeInsets.only(top: 5), - child: Text(value, - style: TextStyle(fontSize: 14, color: Palette.wildDarkBlue)), - ) - ]), + return Column( + children: [ + isDrawTop + ? Container( + width: double.infinity, + height: 1, + color: PaletteDark.walletCardTopEndSync, + ) + : Offstage(), + Container( + width: double.infinity, + color: PaletteDark.menuList, + child: Padding( + padding: const EdgeInsets.only(left: 24, top: 16, bottom: 16, right: 24), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text(title, + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + color: PaletteDark.walletCardText), + textAlign: TextAlign.left), + Padding( + padding: const EdgeInsets.only(top: 12), + child: Text(value, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: Colors.white)), + ) + ]), + ), + ), + isDrawBottom + ? Container( + width: double.infinity, + height: 1, + color: PaletteDark.walletCardTopEndSync, + ) + : Offstage(), + ], ); } } diff --git a/lib/src/screens/transaction_details/transaction_details_page.dart b/lib/src/screens/transaction_details/transaction_details_page.dart index c25dbaa1e..96fb2e37b 100644 --- a/lib/src/screens/transaction_details/transaction_details_page.dart +++ b/lib/src/screens/transaction_details/transaction_details_page.dart @@ -8,6 +8,7 @@ import 'package:cake_wallet/src/stores/settings/settings_store.dart'; import 'package:cake_wallet/src/screens/transaction_details/standart_list_item.dart'; import 'package:cake_wallet/src/screens/transaction_details/standart_list_row.dart'; import 'package:cake_wallet/src/screens/base_page.dart'; +import 'package:cake_wallet/palette.dart'; class TransactionDetailsPage extends BasePage { TransactionDetailsPage({this.transactionInfo}); @@ -15,7 +16,7 @@ class TransactionDetailsPage extends BasePage { final TransactionInfo transactionInfo; @override - bool get isModalBackButton => true; + Color get backgroundColor => PaletteDark.historyPanel; @override String get title => S.current.transaction_details_title; @@ -77,17 +78,25 @@ class TransactionDetailsFormState extends State { @override Widget build(BuildContext context) { return Container( - padding: EdgeInsets.only(left: 20, right: 15, top: 10, bottom: 10), + color: PaletteDark.historyPanel, + padding: EdgeInsets.only(top: 20, bottom: 20), child: ListView.separated( separatorBuilder: (context, index) => Container( - height: 1, - color: Theme.of(context).dividerTheme.color, - ), - padding: EdgeInsets.only(left: 25, top: 10, right: 25, bottom: 15), + height: 1, + padding: EdgeInsets.only(left: 24), + color: PaletteDark.menuList, + child: Container( + height: 1, + color: PaletteDark.walletCardTopEndSync, + ), + ), itemCount: _items.length, itemBuilder: (context, index) { final item = _items[index]; + final isDrawTop = index == 0 ? true : false; + final isDrawBottom = index == _items.length - 1 ? true : false; + return GestureDetector( onTap: () { Clipboard.setData(ClipboardData(text: item.value)); @@ -101,7 +110,11 @@ class TransactionDetailsFormState extends State { ); }, child: - StandartListRow(title: '${item.title}:', value: item.value), + StandartListRow( + title: '${item.title}:', + value: item.value, + isDrawTop: isDrawTop, + isDrawBottom: isDrawBottom), ); }), ); diff --git a/lib/src/screens/wallet_list/wallet_list_page.dart b/lib/src/screens/wallet_list/wallet_list_page.dart index d543f0b79..81928268b 100644 --- a/lib/src/screens/wallet_list/wallet_list_page.dart +++ b/lib/src/screens/wallet_list/wallet_list_page.dart @@ -152,7 +152,7 @@ class WalletListBodyState extends State { ), bottomSection: Column(children: [ 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, diff --git a/lib/src/screens/welcome/welcome_page.dart b/lib/src/screens/welcome/welcome_page.dart index 55bf8c6eb..fb50d4fba 100644 --- a/lib/src/screens/welcome/welcome_page.dart +++ b/lib/src/screens/welcome/welcome_page.dart @@ -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: [ - Stack( - alignment: Alignment.center, - children: [ - AspectRatio( - aspectRatio: _aspectRatioImage, - child: FittedBox(child: _image, fit: BoxFit.fill)), - Positioned(bottom: 0.0, child: _cakeLogo) - ], - ), - Expanded( - child: Column( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - 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: [ + 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: [ + 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: [ - 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: [ + 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), + ) + ]), + ), + ); } } diff --git a/lib/src/stores/wallet_creation/wallet_creation_store.dart b/lib/src/stores/wallet_creation/wallet_creation_store.dart index 0d3e2ec25..1be07bf42 100644 --- a/lib/src/stores/wallet_creation/wallet_creation_store.dart +++ b/lib/src/stores/wallet_creation/wallet_creation_store.dart @@ -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); diff --git a/lib/src/widgets/nav_bar.dart b/lib/src/widgets/nav_bar.dart index 380fa6eab..a46072615 100644 --- a/lib/src/widgets/nav_bar.dart +++ b/lib/src/widgets/nav_bar.dart @@ -42,9 +42,10 @@ class NavBar extends StatelessWidget implements ObstructingPreferredSizeWidget { /*backgroundColor: _isDarkTheme ? Theme.of(context).backgroundColor : backgroundColor,*/ decoration: BoxDecoration( - color: _isDarkTheme + color: backgroundColor, + /*_isDarkTheme ? Theme.of(context).backgroundColor - : backgroundColor, + : backgroundColor,*/ boxShadow: [ BoxShadow( color: Color.fromRGBO(132, 141, 198, 0.11), diff --git a/lib/src/widgets/primary_button.dart b/lib/src/widgets/primary_button.dart index 1fe8d11eb..90987e62c 100644 --- a/lib/src/widgets/primary_button.dart +++ b/lib/src/widgets/primary_button.dart @@ -185,34 +185,6 @@ class PrimaryImageButton extends StatelessWidget { ], ), ) - /*Row( - children: [ - Container( - width: 28.0, - height: 56.0, - decoration: BoxDecoration( - shape: BoxShape.circle, color: Colors.transparent), - child: image, - ), - Expanded( - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Container( - height: 56.0, - child: Center( - child: Text(text, - style: TextStyle( - fontSize: 18.0, - color: Theme.of(context) - .primaryTextTheme - .button - .color)), - ), - ) - ])) - ], - ),*/ )); } } diff --git a/res/values/strings_de.arb b/res/values/strings_de.arb index 3b03e14ef..ae54ff092 100644 --- a/res/values/strings_de.arb +++ b/res/values/strings_de.arb @@ -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", diff --git a/res/values/strings_en.arb b/res/values/strings_en.arb index 3f3fc7906..2dcd6d01a 100644 --- a/res/values/strings_en.arb +++ b/res/values/strings_en.arb @@ -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", diff --git a/res/values/strings_es.arb b/res/values/strings_es.arb index 2481c5fa9..87444dbcb 100644 --- a/res/values/strings_es.arb +++ b/res/values/strings_es.arb @@ -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", diff --git a/res/values/strings_hi.arb b/res/values/strings_hi.arb index 04ffd90ab..fa614d81c 100644 --- a/res/values/strings_hi.arb +++ b/res/values/strings_hi.arb @@ -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" : "नया नोड", diff --git a/res/values/strings_ja.arb b/res/values/strings_ja.arb index 4cd38f727..d40c510d3 100644 --- a/res/values/strings_ja.arb +++ b/res/values/strings_ja.arb @@ -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" : "新しいノード", diff --git a/res/values/strings_ko.arb b/res/values/strings_ko.arb index 3b1d2abb7..bdf28dfdf 100644 --- a/res/values/strings_ko.arb +++ b/res/values/strings_ko.arb @@ -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" : "새로운 노드", diff --git a/res/values/strings_nl.arb b/res/values/strings_nl.arb index 39f588ec9..f60c5bd03 100644 --- a/res/values/strings_nl.arb +++ b/res/values/strings_nl.arb @@ -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", diff --git a/res/values/strings_pl.arb b/res/values/strings_pl.arb index e7573c595..86dbbc88e 100644 --- a/res/values/strings_pl.arb +++ b/res/values/strings_pl.arb @@ -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ł", diff --git a/res/values/strings_pt.arb b/res/values/strings_pt.arb index a7db17289..40b7f8d12 100644 --- a/res/values/strings_pt.arb +++ b/res/values/strings_pt.arb @@ -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ó", diff --git a/res/values/strings_ru.arb b/res/values/strings_ru.arb index e7536a771..a5e379202 100644 --- a/res/values/strings_ru.arb +++ b/res/values/strings_ru.arb @@ -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" : "Новая нода", diff --git a/res/values/strings_uk.arb b/res/values/strings_uk.arb index ebf9d64fe..ce77826ed 100644 --- a/res/values/strings_uk.arb +++ b/res/values/strings_uk.arb @@ -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" : "Новий вузол", diff --git a/res/values/strings_zh.arb b/res/values/strings_zh.arb index bb996f60f..63246d329 100644 --- a/res/values/strings_zh.arb +++ b/res/values/strings_zh.arb @@ -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" : "新节点",