From 4215ac2425f5246885c813933c86aa5a44ecc6c6 Mon Sep 17 00:00:00 2001 From: Oleksandr Sobol Date: Fri, 1 May 2020 21:36:48 +0300 Subject: [PATCH] CWA-205 | applied new design to seed_language_page --- assets/images/china.png | Bin 0 -> 582 bytes assets/images/germany.png | Bin 0 -> 576 bytes assets/images/holland.png | Bin 0 -> 596 bytes assets/images/india.png | Bin 0 -> 683 bytes assets/images/japan.png | Bin 0 -> 570 bytes assets/images/poland.png | Bin 0 -> 538 bytes assets/images/portugal.png | Bin 0 -> 773 bytes assets/images/russia.png | Bin 0 -> 557 bytes assets/images/select_arrow.png | Bin 0 -> 290 bytes assets/images/south_korea.png | Bin 0 -> 680 bytes assets/images/spain.png | Bin 0 -> 518 bytes assets/images/usa.png | Bin 0 -> 838 bytes assets/images/wallet_name.png | Bin 0 -> 50280 bytes lib/generated/i18n.dart | 47 +++- .../new_wallet/widgets/select_button.dart | 66 +++++ .../restore/restore_wallet_options_page.dart | 35 --- .../seed_language/seed_language_page.dart | 113 +++++--- .../widgets/seed_language_picker.dart | 249 +++++++++++++++--- res/values/strings_de.arb | 3 +- res/values/strings_en.arb | 3 +- res/values/strings_es.arb | 3 +- res/values/strings_hi.arb | 3 +- res/values/strings_ja.arb | 3 +- res/values/strings_ko.arb | 3 +- res/values/strings_nl.arb | 3 +- res/values/strings_pl.arb | 3 +- res/values/strings_pt.arb | 3 +- res/values/strings_ru.arb | 3 +- res/values/strings_uk.arb | 3 +- res/values/strings_zh.arb | 3 +- 30 files changed, 419 insertions(+), 127 deletions(-) create mode 100644 assets/images/china.png create mode 100644 assets/images/germany.png create mode 100644 assets/images/holland.png create mode 100644 assets/images/india.png create mode 100644 assets/images/japan.png create mode 100644 assets/images/poland.png create mode 100644 assets/images/portugal.png create mode 100644 assets/images/russia.png create mode 100644 assets/images/select_arrow.png create mode 100644 assets/images/south_korea.png create mode 100644 assets/images/spain.png create mode 100644 assets/images/usa.png create mode 100644 assets/images/wallet_name.png create mode 100644 lib/src/screens/new_wallet/widgets/select_button.dart diff --git a/assets/images/china.png b/assets/images/china.png new file mode 100644 index 0000000000000000000000000000000000000000..0771ff1e07effc44dffd64d6ebca28b5e45267ef GIT binary patch literal 582 zcmV-M0=fN(P)xt80WRCnH7hL4$kV0-BRF{ z8*gl;5P`<)gJT2k17Ck6b4wz~&L5F?&g%>NPk>#wv8Ee3{`SvC?Z1uh8cWRQg@QSm1UQsnm)%z zX8G!z1ZX6Q&Q)6Rus;bEXIqwpFXz`x8ua-6@_2XY{5glok9esfUL3q2y@E0kX?zh# zuI6$vEy+`|Fl8w)!1UxvQP{%=G;x2)Y9J4vjxZINT%j}#Ir2KH(WD*ak0i0(P~sCPWb3$8YUu5Dwdaf?%SU4>~cw U;{cWMU;qFB07*qoM6N<$g1!9u#Q*>R literal 0 HcmV?d00001 diff --git a/assets/images/germany.png b/assets/images/germany.png new file mode 100644 index 0000000000000000000000000000000000000000..2dc720303e39d1bab5f4db8fb5842a01a0ddd2d0 GIT binary patch literal 576 zcmV-G0>AxXNW4H!a7>?|c>|O;2uE&xgBq0s5{LT6 zp+&er)NJhCVK$+u>)359<#+Jd-+I2C8EcJ@gU8smeMCfUA%xGdY4jvX0x4yPh@{Tyl-emw{>vY61X2ksOc?~K&xa)6QujIXfE#l`A7f_U`0q} zj~(@&y#6^{7#f@x=RFkjT^_DZ8pk^;q`}jJtK&tb>6hKTug5fRKP)tiZ{|h>k+u1} zyY=d-mtHSC#5ZSqU97+%2+s#~-JF@k<1mreL1nXbDx>ei?Ke@B&HD$c$iIfJ5`qo@ O0000Q>Trqeiz^Sp6;V}?>!$OM;*)3PlbauPGk|ml$N1< zkwhNCp-+IjE@M03>0?OTcbj z@IJeLfY+-X{4M-Uz&HY;Vb+7_M~Ih8-(Nhp`M0kIiimTFD42Bhg>rd~dcB@(0#;E( zLZr|fxvIJbii&93j;S&fIEom{wKW{G6wt>pi8ReuKo3PF@~b2`_exJ+et7$H7#Hd? zXI#D!@jm}-dEO<n7s1X3<}hDnzcuxFf)hm zw(dRQB-Hi&X}~!82kT!tw`jMUwTI*TQ~#mLomaMeA8#(6K4JbCL`Dh=6Mrv=y^Bj{ iS|9zvrr(nFpU`jkT)~5{XNYA00000^SIT?N<2J(gJ4Y^`sNQoU= zh8Wpe8rf9m=eI(*_1(l76!`&YzzlJ2G@lX^lX-q=a-i|&uMSq5+sKURxOsgXH?EB* zY&aM2JE2P8Y)ay=GBeQ+6$7va_NCNiTsu3pJ>*=ZU9Aq4WiP7&7+ z#31jUzxjbXxeHxutM9k*;&C=%>v*98Lc=j~+$gbjUV3<(6tFdD^X|+ne{6>a&3%NSC$?J1bNc%rK2ah2Vf;<9{$rw&_$ z3~bj|x44SZqqvQAwXcz8y&~^u^(3&!r=Y(bKqobRzkC>BqQQ$1V3B8O%_kdPHs zVRA3DIj2RGo-~f`lK~FIU`~)H>KDMc$yo#*uoiOzOVhMQME<@*anbHQ_YX>26>ly! R@X`PP002ovPDHLkV1g1%DUARC literal 0 HcmV?d00001 diff --git a/assets/images/japan.png b/assets/images/japan.png new file mode 100644 index 0000000000000000000000000000000000000000..2295c0dfad26a26eb8dad0a34344df8a0d891238 GIT binary patch literal 570 zcmV-A0>%A_P)Z{vJV@bc1z{M*&2>AIaTRb81S7G&_(LQR#t|CR3>eE493fS0{>qU* z6=f_zE>7vdp}_b%Cd9$rbt9mHCK4@N+JWO?9Xp+F|8}?X@HClh%j3(+YyxgnnHko@ zI>K68e3N6~`%S`FRTfg*g?ddG2oJv@Jvn&`r_-*T%gy3`-*>9fb+CW;O8@`>07*qo IM6N<$g7azjO#lD@ literal 0 HcmV?d00001 diff --git a/assets/images/poland.png b/assets/images/poland.png new file mode 100644 index 0000000000000000000000000000000000000000..fc8f2e16308b842b6f6b550ff4f6c96d77261f2a GIT binary patch literal 538 zcmV+#0_FXQP)N;SG2;LG%Q|35+M8o#juZUFs+l*v;Sp@ulK=VU>kwHAKHNU3_E05 z7UXid7U$iDk~o@Y$bqATsBz=E&RVvxMH*~bqBcK;5XyQ?NKQSHvX4r+AwcKW cbvHid9~P+2E{Frh!2kdN07*qoM6N<$f?T@fApigX literal 0 HcmV?d00001 diff --git a/assets/images/portugal.png b/assets/images/portugal.png new file mode 100644 index 0000000000000000000000000000000000000000..d0f1a4917e145e0a963b61b9970fb70ce49a57dc GIT binary patch literal 773 zcmV+g1N!`lP);?FrNi2nh!j1rsh_grg_m=1oo}dTIH%iIE$S z5Ca-bjK=(wy-TJS3 zxc!wkr1^Y7GEI=K#{jm7c_J|NVtA*$wB2!g^inH9MA%?|gXKfp>niLb2^Is}!CEn_ zaR?AE;blJ^ln#U7q9BtNjbHB=*byjUa)KX_mjNG2mOOs{k82%|i-4UY7rG>@Uyb$w z+Y*C&<4x_Y1t5s}mGN<5QMtwlR%T$F;T=p(;-%%p6V1D%Cm*V zxr7IcPXp4L?ofeVL%ws18hP^3Jv{mkH9xDczF`zCKGO9I%h40AP z?4h8x+su>cc`U4El--g@>DWt}49s$VSOA|=9_6&xzTZ>^a1&Prp?$xehZE{8y%sA|I!s<+oJ5I2rpKCjLOkUtsFoC@JC=XYp zai-=o?4>!Fm2)!3{$gq56zqh@l}F%5$9+n_0 zIQhIzi+0Z@t-jC+xPtkXf*j9)~uh200000NkvXXu0mjf D=c!zi literal 0 HcmV?d00001 diff --git a/assets/images/russia.png b/assets/images/russia.png new file mode 100644 index 0000000000000000000000000000000000000000..8b4752cb7e128c4e0cd8a360bc4301053dee447d GIT binary patch literal 557 zcmV+|0@D47P);{zYwzdc;`yp)NKWVx%llkqm(?Q@N%d)~4<738HOqjY@+Au_bQd3cs{EDh(y>gKU zEFrdQvBF*nz!(7MA`_Vk#)cD&9k7hpZhc{c5{5N!u2D*FtZLQp1PYi8oWe9AiT+q1bl&?i=QqDlh8@opeRvvl`ADT)P>orlRUOaPnpw);mMVpza52q@%N00LchS%<(t2fiiHD8CGXr}afNsm_ zHn&JQiq#^q8Ac}%M2xyzqQi#V2VIWbm&6S649qGzIVBvJu}R9=F;Hsb;VC5|#uSve zzrLKkvCV*GBBYWY*%R+@^Rbi`EtJPMeTn_<=*ynp+fQzjO6qsmcZ%N*50VH_99EWf v-e_n8XRl-OZi|F=c8i~{&)Fz3ZD-yWzwWYv!g1)K00000NkvXXu0mjf2_Ns7 literal 0 HcmV?d00001 diff --git a/assets/images/select_arrow.png b/assets/images/select_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..31499de54b0c5b40546937b616532242556b0baf GIT binary patch literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^{2``W z$lZxy-8q?;Kn_c~qpu?a!^VE@KZ&eB{&r6n$B+ufr588y9&+Ge4Y;q#Y`~-(aPh(c zHUq{B7cMB>`l1o!(io6&f~|*v*J)uAiyOz^*dE)4TDL#P)aTASug=V&+23CmXc`>w zXleJkopVktwXi*J|5)PjJTLAJ?v;(qs=E)@KG^)m>$sdncz)R7rIO2~R5o5a(6W^6 zUf1^57rWzjeUubD9&>g^S)4M%`@Kg6(w=RU44P^D#%aa}5jCBID%TX;{}e}>?qmy< iVX!y37Tr|;oO_phV$eRb!Wlp>FnGH9xvX-?^2V2~7VCl`4y%NS&yf9ktz!)TmPnL(>tKq#I1InXOEyTbfF+!hrWyum_c; zTTP_4L#qH=G6d&+7hhsK=O}s7Vf)^DzxVF+-62S0^ZDE~4CB4;`>*)(Igf1Mn(*-0 zH%O&Y`?_4Afo%yP_W0GL>kZ&$9Bjm3ZHD!40E1;$tJN3IX=;IRFl=W!ol?16rsZ;Z zEe$b<<(vk`eu@AYwhadYs?{px^Z7(5=8DCljKMo{c&~S{Rq)F_Tr3v9umnI5*z5JE zP$-aPSyZdlBEWjRE}yRJQmIsuz;3rIF$`W8L3ev90o4J5bvhk7J^V|@?sxgUX1}C6 z)?*1lQ3Xq<)6&nJU3Ayy;j1y5&HPHGBHw>IpZ%ZoG&2719DLllj1A|4CHUun&b1aX zboTGr7U}HKkAdt|W1gXd!PGK!c9QJN-c9m+-FQLuH&3)aXCp_IggkWU=^XaveM&NW z^Ffkp0^lS(18uchEwUc2k@GfpCBu1_W8Xa~AB|2u!IL|zpSFTQi(%Ou{y!%7;OL?= zz{0W_4u=;sKHJ;Sp~?DzuuZ@qXeDmw%W<4Y3+Nt&ZQG{tcpMhCXPV}^JSo8q(^p4N z1&2i&-Vzi>3<|@KC%TK=JUHMG=V&zYIXEs@KQ4a6AQs=8+fW=4tKQ)KY|<@^SJvh( zKWc%&^5xA#m$!71;WGG;$z%qR0!h&U_%%iU0z4iQp8v*|>psI4@w_vCmvQt|up)Q> O0000ugK~#7Ft(8qq z!ax+q|8J(H;zxoT-I?)gXB2Osi7Pkg3Dg_N38*KK8z3jJCT`pr4er3I2e5lLxKbkW zd<`Jb0s+Er(oEmS{QD;JQ9>V{jY)mMIbq^Ghplu1wjqQK0Rz7D-d5lj`;DcjWNF&Uf=%SdBtkeOg!!;vXdfa&2YDE4FS z#t$YWQ23>rz9F7Kl-LtN?IGNhQO2&41KKGU74286XwX?)u!gZ9xXrG`>w&qfed_bJ zt;rhsa&VT&UA?Vb^azHO%tnq$xovx%XP_~BXUP?o-wyn2r_cxwX7iMYauP6>h|Tf9 zGhG$2GZFK;oir#r6xN_jQm%guOO90M7a-yLI#ApV{Mcgt0iD`;yVgy*&;S4c07*qo IM6N<$g2t`kDF6Tf literal 0 HcmV?d00001 diff --git a/assets/images/usa.png b/assets/images/usa.png new file mode 100644 index 0000000000000000000000000000000000000000..d67d3e2b4cf6479dcef805315e9a9a12b437ae47 GIT binary patch literal 838 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 "Wallet restore description"; String get save => "Save"; String get saved_the_trade_id => "I've saved the trade ID"; + String get seed_choose => "Choose seed language"; String get seed_language_chinese => "Chinese"; - String get seed_language_choose => "Please choose seed language"; + String get seed_language_choose => "Please choose seed language:"; String get seed_language_dutch => "Dutch"; String get seed_language_english => "English"; String get seed_language_german => "German"; @@ -398,7 +399,7 @@ class $de extends S { @override String get restore_title_from_keys => "Wiederherstellen von Schlüsseln"; @override - String get seed_language_choose => "Bitte wählen Sie die Ausgangssprache"; + String get seed_language_choose => "Bitte wählen Sie die Ausgangssprache:"; @override String get wallet_keys => "Wallet schlüssel"; @override @@ -648,6 +649,8 @@ class $de extends S { @override String get change_currency => "Währung ändern"; @override + String get seed_choose => "Wählen Sie die Ausgangssprache"; + @override String get transaction_details_amount => "Menge"; @override String get widgets_address => "Adresse"; @@ -974,7 +977,7 @@ class $hi extends S { @override String get restore_title_from_keys => "कुंजी से पुनर्स्थापित करें"; @override - String get seed_language_choose => "कृपया बीज भाषा चुनें"; + String get seed_language_choose => "कृपया बीज भाषा चुनें:"; @override String get wallet_keys => "बटुआ की"; @override @@ -1224,6 +1227,8 @@ class $hi extends S { @override String get change_currency => "मुद्रा परिवर्तन करें"; @override + String get seed_choose => "बीज भाषा चुनें"; + @override String get transaction_details_amount => "रकम"; @override String get widgets_address => "पता"; @@ -1550,7 +1555,7 @@ class $ru extends S { @override String get restore_title_from_keys => "Восстановить с помощью ключей"; @override - String get seed_language_choose => "Пожалуйста, выберите язык мнемонической фразы"; + String get seed_language_choose => "Пожалуйста, выберите язык мнемонической фразы:"; @override String get wallet_keys => "Ключи кошелька"; @override @@ -1800,6 +1805,8 @@ class $ru extends S { @override String get change_currency => "Изменить валюту"; @override + String get seed_choose => "Выберите язык мнемонической фразы"; + @override String get transaction_details_amount => "Сумма"; @override String get widgets_address => "Адрес"; @@ -2126,7 +2133,7 @@ class $ko extends S { @override String get restore_title_from_keys => "키에서 복원"; @override - String get seed_language_choose => "종자 언어를 선택하십시오"; + String get seed_language_choose => "종자 언어를 선택하십시오:"; @override String get wallet_keys => "지갑 키"; @override @@ -2376,6 +2383,8 @@ class $ko extends S { @override String get change_currency => "통화 변경"; @override + String get seed_choose => "시드 언어를 선택하십시오"; + @override String get transaction_details_amount => "양"; @override String get widgets_address => "주소"; @@ -2702,7 +2711,7 @@ class $pt extends S { @override String get restore_title_from_keys => "Restaurar a partir de chaves"; @override - String get seed_language_choose => "Por favor, escolha o idioma da semente"; + String get seed_language_choose => "Por favor, escolha o idioma da semente:"; @override String get wallet_keys => "Chaves da carteira"; @override @@ -2952,6 +2961,8 @@ class $pt extends S { @override String get change_currency => "Alterar moeda"; @override + String get seed_choose => "Escolha o idioma da semente"; + @override String get transaction_details_amount => "Quantia"; @override String get widgets_address => "Endereço"; @@ -3278,7 +3289,7 @@ class $uk extends S { @override String get restore_title_from_keys => "Відновити за допомогою ключів"; @override - String get seed_language_choose => "Будь ласка, виберіть мову мнемонічної фрази"; + String get seed_language_choose => "Будь ласка, виберіть мову мнемонічної фрази:"; @override String get wallet_keys => "Ключі гаманця"; @override @@ -3528,6 +3539,8 @@ class $uk extends S { @override String get change_currency => "Змінити валюту"; @override + String get seed_choose => "Виберіть мову мнемонічної фрази"; + @override String get transaction_details_amount => "Сума"; @override String get widgets_address => "Адреса"; @@ -3854,7 +3867,7 @@ class $ja extends S { @override String get restore_title_from_keys => "キーから復元する"; @override - String get seed_language_choose => "シード言語を選択してください"; + String get seed_language_choose => "シード言語を選択してください:"; @override String get wallet_keys => "ウォレットキー"; @override @@ -4104,6 +4117,8 @@ class $ja extends S { @override String get change_currency => "通貨を変更する"; @override + String get seed_choose => "シード言語を選択してください"; + @override String get transaction_details_amount => "量"; @override String get widgets_address => "住所"; @@ -4434,7 +4449,7 @@ class $pl extends S { @override String get restore_title_from_keys => "Przywróć z kluczy"; @override - String get seed_language_choose => "Proszę wybrać język początkowy"; + String get seed_language_choose => "Proszę wybrać język początkowy:"; @override String get wallet_keys => "Klucze portfela"; @override @@ -4684,6 +4699,8 @@ class $pl extends S { @override String get change_currency => "Change Currency"; @override + String get seed_choose => "Wybierz język początkowy"; + @override String get transaction_details_amount => "Ilość"; @override String get widgets_address => "Adres"; @@ -5010,7 +5027,7 @@ class $es extends S { @override String get restore_title_from_keys => "De las claves"; @override - String get seed_language_choose => "Por favor elija el idioma semilla"; + String get seed_language_choose => "Por favor elija el idioma semilla:"; @override String get wallet_keys => "Billetera clave"; @override @@ -5260,6 +5277,8 @@ class $es extends S { @override String get change_currency => "Cambiar moneda"; @override + String get seed_choose => "Elige el idioma semilla"; + @override String get transaction_details_amount => "Cantidad"; @override String get widgets_address => "Dirección"; @@ -5586,7 +5605,7 @@ class $nl extends S { @override String get restore_title_from_keys => "Herstel van sleutels"; @override - String get seed_language_choose => "Kies een starttaal"; + String get seed_language_choose => "Kies een starttaal:"; @override String get wallet_keys => "Portemonnee sleutels"; @override @@ -5836,6 +5855,8 @@ class $nl extends S { @override String get change_currency => "Verander valuta"; @override + String get seed_choose => "Kies een starttaal"; + @override String get transaction_details_amount => "Bedrag"; @override String get widgets_address => "Adres"; @@ -6162,7 +6183,7 @@ class $zh extends S { @override String get restore_title_from_keys => "从密钥还原"; @override - String get seed_language_choose => "請選擇種子語言"; + String get seed_language_choose => "請選擇種子語言:"; @override String get wallet_keys => "钱包钥匙"; @override @@ -6412,6 +6433,8 @@ class $zh extends S { @override String get change_currency => "更改币种"; @override + String get seed_choose => "選擇種子語言"; + @override String get transaction_details_amount => "量"; @override String get widgets_address => "地址"; diff --git a/lib/src/screens/new_wallet/widgets/select_button.dart b/lib/src/screens/new_wallet/widgets/select_button.dart new file mode 100644 index 000000000..7ef2b7132 --- /dev/null +++ b/lib/src/screens/new_wallet/widgets/select_button.dart @@ -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: [ + Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + 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 + ], + ), + ), + ); + } +} \ No newline at end of file diff --git a/lib/src/screens/restore/restore_wallet_options_page.dart b/lib/src/screens/restore/restore_wallet_options_page.dart index 15662005f..061dc1f23 100644 --- a/lib/src/screens/restore/restore_wallet_options_page.dart +++ b/lib/src/screens/restore/restore_wallet_options_page.dart @@ -56,40 +56,5 @@ class RestoreWalletOptionsPage extends BasePage { ), ) ); - - - /*BaseRestoreWidget( - firstRestoreButton: RestoreButton( - onPressed: () { - seedLanguageStore.setCurrentRoute(Routes.restoreWalletFromSeed); - Navigator.pushNamed(context, Routes.seedLanguage); - }, - imageWidget: ImageWidget( - image: _imageSeed, - aspectRatioImage: _aspectRatioImage, - isLargeScreen: isLargeScreen), - titleColor: Palette.lightViolet, - color: Palette.lightViolet, - title: S.of(context).restore_title_from_seed, - description: S.of(context).restore_description_from_seed, - textButton: S.of(context).restore_next, - ), - secondRestoreButton: RestoreButton( - onPressed: () { - seedLanguageStore.setCurrentRoute(Routes.restoreWalletFromKeys); - Navigator.pushNamed(context, Routes.seedLanguage); - }, - imageWidget: ImageWidget( - image: _imageKeys, - aspectRatioImage: _aspectRatioImage, - isLargeScreen: isLargeScreen), - titleColor: Palette.cakeGreen, - color: Palette.cakeGreen, - title: S.of(context).restore_title_from_keys, - description: S.of(context).restore_description_from_keys, - textButton: S.of(context).restore_next, - ), - isLargeScreen: isLargeScreen, - );*/ } } diff --git a/lib/src/screens/seed_language/seed_language_page.dart b/lib/src/screens/seed_language/seed_language_page.dart index c63cc812c..9f1ebb506 100644 --- a/lib/src/screens/seed_language/seed_language_page.dart +++ b/lib/src/screens/seed_language/seed_language_page.dart @@ -1,52 +1,99 @@ +import 'package:provider/provider.dart'; +import 'package:flutter_mobx/flutter_mobx.dart'; import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/src/widgets/primary_button.dart'; import 'package:cake_wallet/src/screens/base_page.dart'; -import 'package:cake_wallet/src/screens/seed_language/widgets/seed_language_picker.dart'; -import 'package:provider/provider.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/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'; class SeedLanguage extends BasePage { - final imageSeed = Image.asset('assets/images/seedIco.png'); + @override + Color get backgroundColor => PaletteDark.historyPanel; @override - Widget body(BuildContext context) { + Widget body(BuildContext context) => SeedLanguageForm(); +} + +class SeedLanguageForm extends StatefulWidget { + @override + SeedLanguageFormState createState() => SeedLanguageFormState(); +} + +class SeedLanguageFormState extends State { + static const aspectRatioImage = 1.22; + final walletNameImage = Image.asset('assets/images/wallet_name.png'); + + @override + Widget build(BuildContext 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 + ]; + return Container( - padding: EdgeInsets.all(20.0), - child: Column( - children: [ - Expanded( - child: Center( - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - imageSeed, - Text( + 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: 40), + child: Text( S.of(context).seed_language_choose, textAlign: TextAlign.center, - style: TextStyle(fontSize: 16.0), + style: TextStyle( + fontSize: 16.0, + fontWeight: FontWeight.w600, + color: Colors.white + ), ), - SizedBox( - height: 20.0, + ), + 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() + ) + ) ), - SeedLanguagePicker(), - ], - ), - ), - ), - PrimaryButton( - onPressed: () => - Navigator.of(context).popAndPushNamed(seedLanguageStore.currentRoute), - text: S.of(context).seed_language_next, - color: - Theme.of(context).primaryTextTheme.button.backgroundColor, - textColor: - Theme.of(context).primaryTextTheme.button.color), - ], - ), + ) + ]), + bottomSectionPadding: EdgeInsets.only(left: 24, right: 24, bottom: 24), + bottomSection: Observer( + builder: (context) { + return PrimaryButton( + onPressed: () => + Navigator.of(context).popAndPushNamed(seedLanguageStore.currentRoute), + text: S.of(context).seed_language_next, + color: Colors.green, + textColor: Colors.white); + }, + )), ); } } 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 6d077637d..5c934f9d5 100644 --- a/lib/src/screens/seed_language/widgets/seed_language_picker.dart +++ b/lib/src/screens/seed_language/widgets/seed_language_picker.dart @@ -1,55 +1,234 @@ +import 'dart:ui'; +import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:cake_wallet/palette.dart'; -import 'package:flutter_mobx/flutter_mobx.dart'; import 'package:provider/provider.dart'; import 'package:cake_wallet/src/stores/seed_language/seed_language_store.dart'; -import 'package:cake_wallet/src/widgets/present_picker.dart'; import 'package:cake_wallet/generated/i18n.dart'; -class SeedLanguagePicker extends StatelessWidget { - List seedLocales = [ - S.current.seed_language_english, - S.current.seed_language_chinese, - S.current.seed_language_dutch, - S.current.seed_language_german, - S.current.seed_language_japanese, - S.current.seed_language_portuguese, - S.current.seed_language_russian, - S.current.seed_language_spanish - ]; +List flagImages = [ + Image.asset('assets/images/usa.png'), + Image.asset('assets/images/china.png'), + Image.asset('assets/images/holland.png'), + Image.asset('assets/images/germany.png'), + Image.asset('assets/images/japan.png'), + Image.asset('assets/images/portugal.png'), + Image.asset('assets/images/russia.png'), + Image.asset('assets/images/spain.png'), +]; + +List languageCodes = [ + 'Eng', + 'Chi', + 'Ned', + 'Ger', + 'Jap', + 'Por', + 'Rus', + 'Esp', +]; + +enum Places {topLeft, topRight, bottomLeft, bottomRight, inside} + +class SeedLanguagePicker extends StatefulWidget { + @override + SeedLanguagePickerState createState() => SeedLanguagePickerState(); +} + +class SeedLanguagePickerState extends State { @override Widget build(BuildContext context) { final seedLanguageStore = Provider.of(context); - return Observer( - builder: (_) => InkWell( - onTap: () => _setSeedLanguage(context), + return GestureDetector( + onTap: () => Navigator.of(context).pop(), + child: Container( + color: Colors.transparent, + child: BackdropFilter( + filter: ImageFilter.blur(sigmaX: 3.0, sigmaY: 3.0), child: Container( - padding: EdgeInsets.all(8.0), - //width: double.infinity, - decoration: BoxDecoration( - border: Border.all( - color: Theme.of(context).dividerTheme.color - ), - borderRadius: BorderRadius.circular(8.0) - ), - child: Text(seedLocales[seedLanguages.indexOf(seedLanguageStore.selectedSeedLanguage)], - textAlign: TextAlign.center, - style: TextStyle(fontSize: 16.0, color: Palette.lightBlue), + decoration: BoxDecoration(color: PaletteDark.historyPanel.withOpacity(0.75)), + child: Center( + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Container( + padding: EdgeInsets.only(left: 24, right: 24), + child: Text( + S.of(context).seed_choose, + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + decoration: TextDecoration.none, + color: Colors.white + ), + ), + ), + Padding( + padding: EdgeInsets.only(top: 24), + child: GestureDetector( + onTap: () => null, + child: Container( + height: 300, + width: 300, + decoration: BoxDecoration( + borderRadius: BorderRadius.all(Radius.circular(14)), + color: PaletteDark.walletCardSubAddressField + ), + child: GridView.count( + shrinkWrap: true, + crossAxisCount: 3, + childAspectRatio: 1, + physics: const NeverScrollableScrollPhysics(), + crossAxisSpacing: 1, + mainAxisSpacing: 1, + children: List.generate(9, (index) { + + if (index == 8) { + + return gridTile( + isCurrent: false, + place: Places.bottomRight, + image: null, + text: '', + onTap: null); + + } else { + + final code = languageCodes[index]; + final flag = flagImages[index]; + final isCurrent = index == seedLanguages.indexOf(seedLanguageStore.selectedSeedLanguage); + + if (index == 0) { + return gridTile( + isCurrent: isCurrent, + place: Places.topLeft, + image: flag, + text: code, + onTap: () { + seedLanguageStore.setSelectedSeedLanguage(seedLanguages[index]); + Navigator.of(context).pop(); + } + ); + } + + if (index == 2) { + return gridTile( + isCurrent: isCurrent, + place: Places.topRight, + image: flag, + text: code, + onTap: () { + seedLanguageStore.setSelectedSeedLanguage(seedLanguages[index]); + Navigator.of(context).pop(); + } + ); + } + + if (index == 6) { + return gridTile( + isCurrent: isCurrent, + place: Places.bottomLeft, + image: flag, + text: code, + onTap: () { + seedLanguageStore.setSelectedSeedLanguage(seedLanguages[index]); + Navigator.of(context).pop(); + } + ); + } + + return gridTile( + isCurrent: isCurrent, + place: Places.inside, + image: flag, + text: code, + onTap: () { + seedLanguageStore.setSelectedSeedLanguage(seedLanguages[index]); + Navigator.of(context).pop(); + } + ); + } + }), + ), + ), + ), + ) + ], + ), ), ), - )); + ), + ), + ); } - Future _setSeedLanguage(BuildContext context) async { - final seedLanguageStore = Provider.of(context); - String selectedSeedLanguage = - await presentPicker(context, seedLocales); + Widget gridTile({ + @required bool isCurrent, + @required Places place, + @required Image image, + @required String text, + @required VoidCallback onTap}) { - if (selectedSeedLanguage != null) { - selectedSeedLanguage = seedLanguages[seedLocales.indexOf(selectedSeedLanguage)]; - seedLanguageStore.setSelectedSeedLanguage(selectedSeedLanguage); + BorderRadius borderRadius; + final color = isCurrent ? PaletteDark.historyPanel : PaletteDark.menuList; + final textColor = isCurrent ? Colors.blue : Colors.white; + + switch (place) { + case Places.topLeft: + borderRadius = BorderRadius.only(topLeft: Radius.circular(14)); + break; + case Places.topRight: + borderRadius = BorderRadius.only(topRight: Radius.circular(14)); + break; + case Places.bottomLeft: + borderRadius = BorderRadius.only(bottomLeft: Radius.circular(14)); + break; + case Places.bottomRight: + borderRadius = BorderRadius.only(bottomRight: Radius.circular(14)); + break; + case Places.inside: + borderRadius = BorderRadius.all(Radius.circular(0)); + break; } + + return GestureDetector( + onTap: onTap, + child: Container( + padding: EdgeInsets.all(10), + decoration: BoxDecoration( + borderRadius: borderRadius, + color: color + ), + child: Center( + child: Row( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + 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/res/values/strings_de.arb b/res/values/strings_de.arb index 8053145a7..3b03e14ef 100644 --- a/res/values/strings_de.arb +++ b/res/values/strings_de.arb @@ -159,7 +159,8 @@ "copy" : "Kopieren", - "seed_language_choose" : "Bitte wählen Sie die Ausgangssprache", + "seed_language_choose" : "Bitte wählen Sie die Ausgangssprache:", + "seed_choose" : "Wählen Sie die Ausgangssprache", "seed_language_next" : "Nächster", "seed_language_english" : "Englisch", "seed_language_chinese" : "Chinesisch", diff --git a/res/values/strings_en.arb b/res/values/strings_en.arb index eb55c5960..3f3fc7906 100644 --- a/res/values/strings_en.arb +++ b/res/values/strings_en.arb @@ -159,7 +159,8 @@ "copy" : "Copy", - "seed_language_choose" : "Please choose seed language", + "seed_language_choose" : "Please choose seed language:", + "seed_choose" : "Choose seed language", "seed_language_next" : "Next", "seed_language_english" : "English", "seed_language_chinese" : "Chinese", diff --git a/res/values/strings_es.arb b/res/values/strings_es.arb index 3307a0471..2481c5fa9 100644 --- a/res/values/strings_es.arb +++ b/res/values/strings_es.arb @@ -159,7 +159,8 @@ "copy" : "Dupdo", - "seed_language_choose" : "Por favor elija el idioma semilla", + "seed_language_choose" : "Por favor elija el idioma semilla:", + "seed_choose" : "Elige el idioma semilla", "seed_language_next" : "Próximo", "seed_language_english" : "Inglés", "seed_language_chinese" : "Chino", diff --git a/res/values/strings_hi.arb b/res/values/strings_hi.arb index e98446238..04ffd90ab 100644 --- a/res/values/strings_hi.arb +++ b/res/values/strings_hi.arb @@ -159,7 +159,8 @@ "copy" : "प्रतिलिपि", - "seed_language_choose" : "कृपया बीज भाषा चुनें", + "seed_language_choose" : "कृपया बीज भाषा चुनें:", + "seed_choose" : "बीज भाषा चुनें", "seed_language_next" : "आगामी", "seed_language_english" : "अंग्रेज़ी", "seed_language_chinese" : "चीनी", diff --git a/res/values/strings_ja.arb b/res/values/strings_ja.arb index a6f4141f3..4cd38f727 100644 --- a/res/values/strings_ja.arb +++ b/res/values/strings_ja.arb @@ -159,7 +159,8 @@ "copy" : "コピー", - "seed_language_choose" : "シード言語を選択してください", + "seed_language_choose" : "シード言語を選択してください:", + "seed_choose" : "シード言語を選択してください", "seed_language_next" : "次", "seed_language_english" : "英語", "seed_language_chinese" : "中国語", diff --git a/res/values/strings_ko.arb b/res/values/strings_ko.arb index 09f6e5a7e..3b1d2abb7 100644 --- a/res/values/strings_ko.arb +++ b/res/values/strings_ko.arb @@ -159,7 +159,8 @@ "copy" : "부", - "seed_language_choose" : "종자 언어를 선택하십시오", + "seed_language_choose" : "종자 언어를 선택하십시오:", + "seed_choose" : "시드 언어를 선택하십시오", "seed_language_next" : "다음 것", "seed_language_english" : "영어", "seed_language_chinese" : "중국말", diff --git a/res/values/strings_nl.arb b/res/values/strings_nl.arb index d46d04caf..39f588ec9 100644 --- a/res/values/strings_nl.arb +++ b/res/values/strings_nl.arb @@ -159,7 +159,8 @@ "copy" : "Kopiëren", - "seed_language_choose" : "Kies een starttaal", + "seed_language_choose" : "Kies een starttaal:", + "seed_choose" : "Kies een starttaal", "seed_language_next" : "Volgende", "seed_language_english" : "Engels", "seed_language_chinese" : "Chinese", diff --git a/res/values/strings_pl.arb b/res/values/strings_pl.arb index 0bd026a5c..e7573c595 100644 --- a/res/values/strings_pl.arb +++ b/res/values/strings_pl.arb @@ -159,7 +159,8 @@ "copy" : "Kopiuj", - "seed_language_choose" : "Proszę wybrać język początkowy", + "seed_language_choose" : "Proszę wybrać język początkowy:", + "seed_choose" : "Wybierz język początkowy", "seed_language_next" : "Kolejny", "seed_language_english" : "Angielski", "seed_language_chinese" : "Chiński", diff --git a/res/values/strings_pt.arb b/res/values/strings_pt.arb index e309fda53..a7db17289 100644 --- a/res/values/strings_pt.arb +++ b/res/values/strings_pt.arb @@ -159,7 +159,8 @@ "copy" : "Copiar", - "seed_language_choose" : "Por favor, escolha o idioma da semente", + "seed_language_choose" : "Por favor, escolha o idioma da semente:", + "seed_choose" : "Escolha o idioma da semente", "seed_language_next" : "Próximo", "seed_language_english" : "Inglesa", "seed_language_chinese" : "Chinesa", diff --git a/res/values/strings_ru.arb b/res/values/strings_ru.arb index 95f25bf50..e7536a771 100644 --- a/res/values/strings_ru.arb +++ b/res/values/strings_ru.arb @@ -159,7 +159,8 @@ "copy" : "Скопировать", - "seed_language_choose" : "Пожалуйста, выберите язык мнемонической фразы", + "seed_language_choose" : "Пожалуйста, выберите язык мнемонической фразы:", + "seed_choose" : "Выберите язык мнемонической фразы", "seed_language_next" : "Продолжить", "seed_language_english" : "Английский", "seed_language_chinese" : "Китайский", diff --git a/res/values/strings_uk.arb b/res/values/strings_uk.arb index f34a61d94..ebf9d64fe 100644 --- a/res/values/strings_uk.arb +++ b/res/values/strings_uk.arb @@ -159,7 +159,8 @@ "copy" : "Скопіювати", - "seed_language_choose" : "Будь ласка, виберіть мову мнемонічної фрази", + "seed_language_choose" : "Будь ласка, виберіть мову мнемонічної фрази:", + "seed_choose" : "Виберіть мову мнемонічної фрази", "seed_language_next" : "Продовжити", "seed_language_english" : "Англійська", "seed_language_chinese" : "Китайська", diff --git a/res/values/strings_zh.arb b/res/values/strings_zh.arb index db2edaf57..bb996f60f 100644 --- a/res/values/strings_zh.arb +++ b/res/values/strings_zh.arb @@ -159,7 +159,8 @@ "copy" : "复制", - "seed_language_choose" : "請選擇種子語言", + "seed_language_choose" : "請選擇種子語言:", + "seed_choose" : "選擇種子語言", "seed_language_next" : "下一个", "seed_language_english" : "英語", "seed_language_chinese" : "中文",