CWA-205 | applied new design to seed_language_page

Oleksandr Sobol committed May 1, 2020 at 21:36 UTC 4215ac2425f5246885c813933c86aa5a44ecc6c6
30 files changed +419 -127
assets/images/china.png
Binary files /dev/null and b/assets/images/china.png differ
assets/images/germany.png
Binary files /dev/null and b/assets/images/germany.png differ
assets/images/holland.png
Binary files /dev/null and b/assets/images/holland.png differ
assets/images/india.png
Binary files /dev/null and b/assets/images/india.png differ
assets/images/japan.png
Binary files /dev/null and b/assets/images/japan.png differ
assets/images/poland.png
Binary files /dev/null and b/assets/images/poland.png differ
assets/images/portugal.png
Binary files /dev/null and b/assets/images/portugal.png differ
assets/images/russia.png
Binary files /dev/null and b/assets/images/russia.png differ
assets/images/select_arrow.png
Binary files /dev/null and b/assets/images/select_arrow.png differ
assets/images/south_korea.png
Binary files /dev/null and b/assets/images/south_korea.png differ
assets/images/spain.png
Binary files /dev/null and b/assets/images/spain.png differ
assets/images/usa.png
Binary files /dev/null and b/assets/images/usa.png differ
assets/images/wallet_name.png
Binary files /dev/null and b/assets/images/wallet_name.png differ
lib/generated/i18n.dart
+35 -12
@@ -148,8 +148,9 @@ class S implements WidgetsLocalizations {
148 String get restore_wallet_restore_description => "Wallet restore description";
149 String get save => "Save";
150 String get saved_the_trade_id => "I've saved the trade ID";
151 + String get seed_choose => "Choose seed language";
152 String get seed_language_chinese => "Chinese";
152 - String get seed_language_choose => "Please choose seed language";
153 + String get seed_language_choose => "Please choose seed language:";
154 String get seed_language_dutch => "Dutch";
155 String get seed_language_english => "English";
156 String get seed_language_german => "German";
@@ -398,7 +399,7 @@ class $de extends S {
399 @override
400 String get restore_title_from_keys => "Wiederherstellen von Schlüsseln";
401 @override
401 - String get seed_language_choose => "Bitte wählen Sie die Ausgangssprache";
402 + String get seed_language_choose => "Bitte wählen Sie die Ausgangssprache:";
403 @override
404 String get wallet_keys => "Wallet schlüssel";
405 @override
@@ -648,6 +649,8 @@ class $de extends S {
649 @override
650 String get change_currency => "Währung ändern";
651 @override
652 + String get seed_choose => "Wählen Sie die Ausgangssprache";
653 + @override
654 String get transaction_details_amount => "Menge";
655 @override
656 String get widgets_address => "Adresse";
@@ -974,7 +977,7 @@ class $hi extends S {
977 @override
978 String get restore_title_from_keys => "कुंजी से पुनर्स्थापित करें";
979 @override
977 - String get seed_language_choose => "कृपया बीज भाषा चुनें";
980 + String get seed_language_choose => "कृपया बीज भाषा चुनें:";
981 @override
982 String get wallet_keys => "बटुआ की";
983 @override
@@ -1224,6 +1227,8 @@ class $hi extends S {
1227 @override
1228 String get change_currency => "मुद्रा परिवर्तन करें";
1229 @override
1230 + String get seed_choose => "बीज भाषा चुनें";
1231 + @override
1232 String get transaction_details_amount => "रकम";
1233 @override
1234 String get widgets_address => "पता";
@@ -1550,7 +1555,7 @@ class $ru extends S {
1555 @override
1556 String get restore_title_from_keys => "Восстановить с помощью ключей";
1557 @override
1553 - String get seed_language_choose => "Пожалуйста, выберите язык мнемонической фразы";
1558 + String get seed_language_choose => "Пожалуйста, выберите язык мнемонической фразы:";
1559 @override
1560 String get wallet_keys => "Ключи кошелька";
1561 @override
@@ -1800,6 +1805,8 @@ class $ru extends S {
1805 @override
1806 String get change_currency => "Изменить валюту";
1807 @override
1808 + String get seed_choose => "Выберите язык мнемонической фразы";
1809 + @override
1810 String get transaction_details_amount => "Сумма";
1811 @override
1812 String get widgets_address => "Адрес";
@@ -2126,7 +2133,7 @@ class $ko extends S {
2133 @override
2134 String get restore_title_from_keys => "키에서 복원";
2135 @override
2129 - String get seed_language_choose => "종자 언어를 선택하십시오";
2136 + String get seed_language_choose => "종자 언어를 선택하십시오:";
2137 @override
2138 String get wallet_keys => "지갑 키";
2139 @override
@@ -2376,6 +2383,8 @@ class $ko extends S {
2383 @override
2384 String get change_currency => "통화 변경";
2385 @override
2386 + String get seed_choose => "시드 언어를 선택하십시오";
2387 + @override
2388 String get transaction_details_amount => "양";
2389 @override
2390 String get widgets_address => "주소";
@@ -2702,7 +2711,7 @@ class $pt extends S {
2711 @override
2712 String get restore_title_from_keys => "Restaurar a partir de chaves";
2713 @override
2705 - String get seed_language_choose => "Por favor, escolha o idioma da semente";
2714 + String get seed_language_choose => "Por favor, escolha o idioma da semente:";
2715 @override
2716 String get wallet_keys => "Chaves da carteira";
2717 @override
@@ -2952,6 +2961,8 @@ class $pt extends S {
2961 @override
2962 String get change_currency => "Alterar moeda";
2963 @override
2964 + String get seed_choose => "Escolha o idioma da semente";
2965 + @override
2966 String get transaction_details_amount => "Quantia";
2967 @override
2968 String get widgets_address => "Endereço";
@@ -3278,7 +3289,7 @@ class $uk extends S {
3289 @override
3290 String get restore_title_from_keys => "Відновити за допомогою ключів";
3291 @override
3281 - String get seed_language_choose => "Будь ласка, виберіть мову мнемонічної фрази";
3292 + String get seed_language_choose => "Будь ласка, виберіть мову мнемонічної фрази:";
3293 @override
3294 String get wallet_keys => "Ключі гаманця";
3295 @override
@@ -3528,6 +3539,8 @@ class $uk extends S {
3539 @override
3540 String get change_currency => "Змінити валюту";
3541 @override
3542 + String get seed_choose => "Виберіть мову мнемонічної фрази";
3543 + @override
3544 String get transaction_details_amount => "Сума";
3545 @override
3546 String get widgets_address => "Адреса";
@@ -3854,7 +3867,7 @@ class $ja extends S {
3867 @override
3868 String get restore_title_from_keys => "キーから復元する";
3869 @override
3857 - String get seed_language_choose => "シード言語を選択してください";
3870 + String get seed_language_choose => "シード言語を選択してください:";
3871 @override
3872 String get wallet_keys => "ウォレットキー";
3873 @override
@@ -4104,6 +4117,8 @@ class $ja extends S {
4117 @override
4118 String get change_currency => "通貨を変更する";
4119 @override
4120 + String get seed_choose => "シード言語を選択してください";
4121 + @override
4122 String get transaction_details_amount => "量";
4123 @override
4124 String get widgets_address => "住所";
@@ -4434,7 +4449,7 @@ class $pl extends S {
4449 @override
4450 String get restore_title_from_keys => "Przywróć z kluczy";
4451 @override
4437 - String get seed_language_choose => "Proszę wybrać język początkowy";
4452 + String get seed_language_choose => "Proszę wybrać język początkowy:";
4453 @override
4454 String get wallet_keys => "Klucze portfela";
4455 @override
@@ -4684,6 +4699,8 @@ class $pl extends S {
4699 @override
4700 String get change_currency => "Change Currency";
4701 @override
4702 + String get seed_choose => "Wybierz język początkowy";
4703 + @override
4704 String get transaction_details_amount => "Ilość";
4705 @override
4706 String get widgets_address => "Adres";
@@ -5010,7 +5027,7 @@ class $es extends S {
5027 @override
5028 String get restore_title_from_keys => "De las claves";
5029 @override
5013 - String get seed_language_choose => "Por favor elija el idioma semilla";
5030 + String get seed_language_choose => "Por favor elija el idioma semilla:";
5031 @override
5032 String get wallet_keys => "Billetera clave";
5033 @override
@@ -5260,6 +5277,8 @@ class $es extends S {
5277 @override
5278 String get change_currency => "Cambiar moneda";
5279 @override
5280 + String get seed_choose => "Elige el idioma semilla";
5281 + @override
5282 String get transaction_details_amount => "Cantidad";
5283 @override
5284 String get widgets_address => "Dirección";
@@ -5586,7 +5605,7 @@ class $nl extends S {
5605 @override
5606 String get restore_title_from_keys => "Herstel van sleutels";
5607 @override
5589 - String get seed_language_choose => "Kies een starttaal";
5608 + String get seed_language_choose => "Kies een starttaal:";
5609 @override
5610 String get wallet_keys => "Portemonnee sleutels";
5611 @override
@@ -5836,6 +5855,8 @@ class $nl extends S {
5855 @override
5856 String get change_currency => "Verander valuta";
5857 @override
5858 + String get seed_choose => "Kies een starttaal";
5859 + @override
5860 String get transaction_details_amount => "Bedrag";
5861 @override
5862 String get widgets_address => "Adres";
@@ -6162,7 +6183,7 @@ class $zh extends S {
6183 @override
6184 String get restore_title_from_keys => "从密钥还原";
6185 @override
6165 - String get seed_language_choose => "請選擇種子語言";
6186 + String get seed_language_choose => "請選擇種子語言:";
6187 @override
6188 String get wallet_keys => "钱包钥匙";
6189 @override
@@ -6412,6 +6433,8 @@ class $zh extends S {
6433 @override
6434 String get change_currency => "更改币种";
6435 @override
6436 + String get seed_choose => "選擇種子語言";
6437 + @override
6438 String get transaction_details_amount => "量";
6439 @override
6440 String get widgets_address => "地址";
lib/src/screens/new_wallet/widgets/select_button.dart new
+66
@@ -0,0 +1,66 @@
1 +import 'package:flutter/material.dart';
2 +
3 +class SelectButton extends StatelessWidget {
4 + SelectButton({
5 + @required this.image,
6 + @required this.text,
7 + @required this.color,
8 + @required this.textColor,
9 + @required this.onTap,
10 + });
11 +
12 + final Image image;
13 + final String text;
14 + final Color color;
15 + final Color textColor;
16 + final VoidCallback onTap;
17 +
18 + final selectArrowImage = Image.asset('assets/images/select_arrow.png');
19 +
20 + @override
21 + Widget build(BuildContext context) {
22 + return GestureDetector(
23 + onTap: onTap,
24 + child: Container(
25 + width: double.infinity,
26 + height: 60,
27 + padding: EdgeInsets.only(left: 30, right: 30),
28 + alignment: Alignment.center,
29 + decoration: BoxDecoration(
30 + borderRadius: BorderRadius.all(Radius.circular(30)),
31 + color: color
32 + ),
33 + child: Row(
34 + mainAxisSize: MainAxisSize.max,
35 + mainAxisAlignment: MainAxisAlignment.spaceBetween,
36 + crossAxisAlignment: CrossAxisAlignment.center,
37 + children: <Widget>[
38 + Row(
39 + mainAxisAlignment: MainAxisAlignment.start,
40 + crossAxisAlignment: CrossAxisAlignment.center,
41 + children: <Widget>[
42 + image != null
43 + ? image
44 + : Offstage(),
45 + Padding(
46 + padding: image != null
47 + ? EdgeInsets.only(left: 15)
48 + : EdgeInsets.only(left: 0),
49 + child: Text(
50 + text,
51 + style: TextStyle(
52 + fontSize: 18,
53 + fontWeight: FontWeight.w600,
54 + color: textColor
55 + ),
56 + ),
57 + )
58 + ],
59 + ),
60 + selectArrowImage
61 + ],
62 + ),
63 + ),
64 + );
65 + }
66 +}
\ No newline at end of file
lib/src/screens/restore/restore_wallet_options_page.dart
-35
@@ -56,40 +56,5 @@ class RestoreWalletOptionsPage extends BasePage {
56 ),
57 )
58 );
59 -
60 -
61 - /*BaseRestoreWidget(
62 - firstRestoreButton: RestoreButton(
63 - onPressed: () {
64 - seedLanguageStore.setCurrentRoute(Routes.restoreWalletFromSeed);
65 - Navigator.pushNamed(context, Routes.seedLanguage);
66 - },
67 - imageWidget: ImageWidget(
68 - image: _imageSeed,
69 - aspectRatioImage: _aspectRatioImage,
70 - isLargeScreen: isLargeScreen),
71 - titleColor: Palette.lightViolet,
72 - color: Palette.lightViolet,
73 - title: S.of(context).restore_title_from_seed,
74 - description: S.of(context).restore_description_from_seed,
75 - textButton: S.of(context).restore_next,
76 - ),
77 - secondRestoreButton: RestoreButton(
78 - onPressed: () {
79 - seedLanguageStore.setCurrentRoute(Routes.restoreWalletFromKeys);
80 - Navigator.pushNamed(context, Routes.seedLanguage);
81 - },
82 - imageWidget: ImageWidget(
83 - image: _imageKeys,
84 - aspectRatioImage: _aspectRatioImage,
85 - isLargeScreen: isLargeScreen),
86 - titleColor: Palette.cakeGreen,
87 - color: Palette.cakeGreen,
88 - title: S.of(context).restore_title_from_keys,
89 - description: S.of(context).restore_description_from_keys,
90 - textButton: S.of(context).restore_next,
91 - ),
92 - isLargeScreen: isLargeScreen,
93 - );*/
59 }
60 }
lib/src/screens/seed_language/seed_language_page.dart
+80 -33
@@ -1,52 +1,99 @@
1 +import 'package:provider/provider.dart';
2 +import 'package:flutter_mobx/flutter_mobx.dart';
3 import 'package:flutter/material.dart';
4 import 'package:flutter/cupertino.dart';
5 import 'package:cake_wallet/generated/i18n.dart';
4 -import 'package:cake_wallet/src/widgets/primary_button.dart';
6 import 'package:cake_wallet/src/screens/base_page.dart';
6 -import 'package:cake_wallet/src/screens/seed_language/widgets/seed_language_picker.dart';
7 -import 'package:provider/provider.dart';
7 +import 'package:cake_wallet/src/widgets/primary_button.dart';
8 +import 'package:cake_wallet/src/widgets/scollable_with_bottom_section.dart';
9 +import 'package:cake_wallet/palette.dart';
10 import 'package:cake_wallet/src/stores/seed_language/seed_language_store.dart';
11 +import 'package:cake_wallet/src/screens/new_wallet/widgets/select_button.dart';
12 +import 'package:cake_wallet/src/screens/seed_language/widgets/seed_language_picker.dart';
13
14 class SeedLanguage extends BasePage {
11 - final imageSeed = Image.asset('assets/images/seedIco.png');
15 + @override
16 + Color get backgroundColor => PaletteDark.historyPanel;
17
18 @override
14 - Widget body(BuildContext context) {
19 + Widget body(BuildContext context) => SeedLanguageForm();
20 +}
21 +
22 +class SeedLanguageForm extends StatefulWidget {
23 + @override
24 + SeedLanguageFormState createState() => SeedLanguageFormState();
25 +}
26 +
27 +class SeedLanguageFormState extends State<SeedLanguageForm> {
28 + static const aspectRatioImage = 1.22;
29 + final walletNameImage = Image.asset('assets/images/wallet_name.png');
30 +
31 + @override
32 + Widget build(BuildContext context) {
33 final seedLanguageStore = Provider.of<SeedLanguageStore>(context);
34
35 + final List<String> seedLocales = [
36 + S.current.seed_language_english,
37 + S.current.seed_language_chinese,
38 + S.current.seed_language_dutch,
39 + S.current.seed_language_german,
40 + S.current.seed_language_japanese,
41 + S.current.seed_language_portuguese,
42 + S.current.seed_language_russian,
43 + S.current.seed_language_spanish
44 + ];
45 +
46 return Container(
18 - padding: EdgeInsets.all(20.0),
19 - child: Column(
20 - children: <Widget>[
21 - Expanded(
22 - child: Center(
23 - child: Column(
24 - mainAxisSize: MainAxisSize.min,
25 - children: <Widget>[
26 - imageSeed,
27 - Text(
47 + color: PaletteDark.historyPanel,
48 + padding: EdgeInsets.only(top: 24),
49 + child: ScrollableWithBottomSection(
50 + contentPadding: EdgeInsets.only(left: 24, right: 24, bottom: 24),
51 + content: Column(
52 + crossAxisAlignment: CrossAxisAlignment.center,
53 + children: [
54 + Padding(
55 + padding: EdgeInsets.only(left: 12, right: 12),
56 + child: AspectRatio(
57 + aspectRatio: aspectRatioImage,
58 + child: FittedBox(child: walletNameImage, fit: BoxFit.fill)),
59 + ),
60 + Padding(padding: EdgeInsets.only(top: 40),
61 + child: Text(
62 S.of(context).seed_language_choose,
63 textAlign: TextAlign.center,
30 - style: TextStyle(fontSize: 16.0),
64 + style: TextStyle(
65 + fontSize: 16.0,
66 + fontWeight: FontWeight.w600,
67 + color: Colors.white
68 + ),
69 ),
32 - SizedBox(
33 - height: 20.0,
70 + ),
71 + Padding(padding: EdgeInsets.only(top: 24),
72 + child: Observer(
73 + builder: (_) => SelectButton(
74 + image: null,
75 + text: seedLocales[seedLanguages.indexOf(seedLanguageStore.selectedSeedLanguage)],
76 + color: PaletteDark.menuList,
77 + textColor: Colors.white,
78 + onTap: () async => await showDialog(
79 + context: context,
80 + builder: (BuildContext context) => SeedLanguagePicker()
81 + )
82 + )
83 ),
35 - SeedLanguagePicker(),
36 - ],
37 - ),
38 - ),
39 - ),
40 - PrimaryButton(
41 - onPressed: () =>
42 - Navigator.of(context).popAndPushNamed(seedLanguageStore.currentRoute),
43 - text: S.of(context).seed_language_next,
44 - color:
45 - Theme.of(context).primaryTextTheme.button.backgroundColor,
46 - textColor:
47 - Theme.of(context).primaryTextTheme.button.color),
48 - ],
49 - ),
84 + )
85 + ]),
86 + bottomSectionPadding: EdgeInsets.only(left: 24, right: 24, bottom: 24),
87 + bottomSection: Observer(
88 + builder: (context) {
89 + return PrimaryButton(
90 + onPressed: () =>
91 + Navigator.of(context).popAndPushNamed(seedLanguageStore.currentRoute),
92 + text: S.of(context).seed_language_next,
93 + color: Colors.green,
94 + textColor: Colors.white);
95 + },
96 + )),
97 );
98 }
99 }
lib/src/screens/seed_language/widgets/seed_language_picker.dart
+214 -35
@@ -1,55 +1,234 @@
1 +import 'dart:ui';
2 +import 'package:flutter/cupertino.dart';
3 import 'package:flutter/material.dart';
4 import 'package:cake_wallet/palette.dart';
3 -import 'package:flutter_mobx/flutter_mobx.dart';
5 import 'package:provider/provider.dart';
6 import 'package:cake_wallet/src/stores/seed_language/seed_language_store.dart';
6 -import 'package:cake_wallet/src/widgets/present_picker.dart';
7 import 'package:cake_wallet/generated/i18n.dart';
8
9 -class SeedLanguagePicker extends StatelessWidget {
10 - List<String> seedLocales = [
11 - S.current.seed_language_english,
12 - S.current.seed_language_chinese,
13 - S.current.seed_language_dutch,
14 - S.current.seed_language_german,
15 - S.current.seed_language_japanese,
16 - S.current.seed_language_portuguese,
17 - S.current.seed_language_russian,
18 - S.current.seed_language_spanish
19 - ];
9 +List<Image> flagImages = [
10 + Image.asset('assets/images/usa.png'),
11 + Image.asset('assets/images/china.png'),
12 + Image.asset('assets/images/holland.png'),
13 + Image.asset('assets/images/germany.png'),
14 + Image.asset('assets/images/japan.png'),
15 + Image.asset('assets/images/portugal.png'),
16 + Image.asset('assets/images/russia.png'),
17 + Image.asset('assets/images/spain.png'),
18 +];
19 +
20 +List<String> languageCodes = [
21 + 'Eng',
22 + 'Chi',
23 + 'Ned',
24 + 'Ger',
25 + 'Jap',
26 + 'Por',
27 + 'Rus',
28 + 'Esp',
29 +];
30 +
31 +enum Places {topLeft, topRight, bottomLeft, bottomRight, inside}
32 +
33 +class SeedLanguagePicker extends StatefulWidget {
34 + @override
35 + SeedLanguagePickerState createState() => SeedLanguagePickerState();
36 +}
37 +
38 +class SeedLanguagePickerState extends State<SeedLanguagePicker> {
39
40 @override
41 Widget build(BuildContext context) {
42 final seedLanguageStore = Provider.of<SeedLanguageStore>(context);
43
25 - return Observer(
26 - builder: (_) => InkWell(
27 - onTap: () => _setSeedLanguage(context),
44 + return GestureDetector(
45 + onTap: () => Navigator.of(context).pop(),
46 + child: Container(
47 + color: Colors.transparent,
48 + child: BackdropFilter(
49 + filter: ImageFilter.blur(sigmaX: 3.0, sigmaY: 3.0),
50 child: Container(
29 - padding: EdgeInsets.all(8.0),
30 - //width: double.infinity,
31 - decoration: BoxDecoration(
32 - border: Border.all(
33 - color: Theme.of(context).dividerTheme.color
34 - ),
35 - borderRadius: BorderRadius.circular(8.0)
36 - ),
37 - child: Text(seedLocales[seedLanguages.indexOf(seedLanguageStore.selectedSeedLanguage)],
38 - textAlign: TextAlign.center,
39 - style: TextStyle(fontSize: 16.0, color: Palette.lightBlue),
51 + decoration: BoxDecoration(color: PaletteDark.historyPanel.withOpacity(0.75)),
52 + child: Center(
53 + child: Column(
54 + mainAxisSize: MainAxisSize.min,
55 + children: <Widget>[
56 + Container(
57 + padding: EdgeInsets.only(left: 24, right: 24),
58 + child: Text(
59 + S.of(context).seed_choose,
60 + textAlign: TextAlign.center,
61 + style: TextStyle(
62 + fontSize: 18,
63 + fontWeight: FontWeight.bold,
64 + decoration: TextDecoration.none,
65 + color: Colors.white
66 + ),
67 + ),
68 + ),
69 + Padding(
70 + padding: EdgeInsets.only(top: 24),
71 + child: GestureDetector(
72 + onTap: () => null,
73 + child: Container(
74 + height: 300,
75 + width: 300,
76 + decoration: BoxDecoration(
77 + borderRadius: BorderRadius.all(Radius.circular(14)),
78 + color: PaletteDark.walletCardSubAddressField
79 + ),
80 + child: GridView.count(
81 + shrinkWrap: true,
82 + crossAxisCount: 3,
83 + childAspectRatio: 1,
84 + physics: const NeverScrollableScrollPhysics(),
85 + crossAxisSpacing: 1,
86 + mainAxisSpacing: 1,
87 + children: List.generate(9, (index) {
88 +
89 + if (index == 8) {
90 +
91 + return gridTile(
92 + isCurrent: false,
93 + place: Places.bottomRight,
94 + image: null,
95 + text: '',
96 + onTap: null);
97 +
98 + } else {
99 +
100 + final code = languageCodes[index];
101 + final flag = flagImages[index];
102 + final isCurrent = index == seedLanguages.indexOf(seedLanguageStore.selectedSeedLanguage);
103 +
104 + if (index == 0) {
105 + return gridTile(
106 + isCurrent: isCurrent,
107 + place: Places.topLeft,
108 + image: flag,
109 + text: code,
110 + onTap: () {
111 + seedLanguageStore.setSelectedSeedLanguage(seedLanguages[index]);
112 + Navigator.of(context).pop();
113 + }
114 + );
115 + }
116 +
117 + if (index == 2) {
118 + return gridTile(
119 + isCurrent: isCurrent,
120 + place: Places.topRight,
121 + image: flag,
122 + text: code,
123 + onTap: () {
124 + seedLanguageStore.setSelectedSeedLanguage(seedLanguages[index]);
125 + Navigator.of(context).pop();
126 + }
127 + );
128 + }
129 +
130 + if (index == 6) {
131 + return gridTile(
132 + isCurrent: isCurrent,
133 + place: Places.bottomLeft,
134 + image: flag,
135 + text: code,
136 + onTap: () {
137 + seedLanguageStore.setSelectedSeedLanguage(seedLanguages[index]);
138 + Navigator.of(context).pop();
139 + }
140 + );
141 + }
142 +
143 + return gridTile(
144 + isCurrent: isCurrent,
145 + place: Places.inside,
146 + image: flag,
147 + text: code,
148 + onTap: () {
149 + seedLanguageStore.setSelectedSeedLanguage(seedLanguages[index]);
150 + Navigator.of(context).pop();
151 + }
152 + );
153 + }
154 + }),
155 + ),
156 + ),
157 + ),
158 + )
159 + ],
160 + ),
161 ),
162 ),
42 - ));
163 + ),
164 + ),
165 + );
166 }
167
45 - Future<void> _setSeedLanguage(BuildContext context) async {
46 - final seedLanguageStore = Provider.of<SeedLanguageStore>(context);
47 - String selectedSeedLanguage =
48 - await presentPicker(context, seedLocales);
168 + Widget gridTile({
169 + @required bool isCurrent,
170 + @required Places place,
171 + @required Image image,
172 + @required String text,
173 + @required VoidCallback onTap}) {
174
50 - if (selectedSeedLanguage != null) {
51 - selectedSeedLanguage = seedLanguages[seedLocales.indexOf(selectedSeedLanguage)];
52 - seedLanguageStore.setSelectedSeedLanguage(selectedSeedLanguage);
175 + BorderRadius borderRadius;
176 + final color = isCurrent ? PaletteDark.historyPanel : PaletteDark.menuList;
177 + final textColor = isCurrent ? Colors.blue : Colors.white;
178 +
179 + switch (place) {
180 + case Places.topLeft:
181 + borderRadius = BorderRadius.only(topLeft: Radius.circular(14));
182 + break;
183 + case Places.topRight:
184 + borderRadius = BorderRadius.only(topRight: Radius.circular(14));
185 + break;
186 + case Places.bottomLeft:
187 + borderRadius = BorderRadius.only(bottomLeft: Radius.circular(14));
188 + break;
189 + case Places.bottomRight:
190 + borderRadius = BorderRadius.only(bottomRight: Radius.circular(14));
191 + break;
192 + case Places.inside:
193 + borderRadius = BorderRadius.all(Radius.circular(0));
194 + break;
195 }
196 +
197 + return GestureDetector(
198 + onTap: onTap,
199 + child: Container(
200 + padding: EdgeInsets.all(10),
201 + decoration: BoxDecoration(
202 + borderRadius: borderRadius,
203 + color: color
204 + ),
205 + child: Center(
206 + child: Row(
207 + mainAxisSize: MainAxisSize.min,
208 + mainAxisAlignment: MainAxisAlignment.center,
209 + crossAxisAlignment: CrossAxisAlignment.center,
210 + children: <Widget>[
211 + image != null
212 + ? image
213 + : Offstage(),
214 + Padding(
215 + padding: image != null
216 + ? EdgeInsets.only(left: 10)
217 + : EdgeInsets.only(left: 0),
218 + child: Text(
219 + text,
220 + style: TextStyle(
221 + fontSize: 18,
222 + fontWeight: FontWeight.bold,
223 + decoration: TextDecoration.none,
224 + color: textColor
225 + ),
226 + ),
227 + )
228 + ],
229 + ),
230 + ),
231 + )
232 + );
233 }
234 }
\ No newline at end of file
res/values/strings_de.arb
+2 -1
@@ -159,7 +159,8 @@
159 "copy" : "Kopieren",
160
161
162 - "seed_language_choose" : "Bitte wählen Sie die Ausgangssprache",
162 + "seed_language_choose" : "Bitte wählen Sie die Ausgangssprache:",
163 + "seed_choose" : "Wählen Sie die Ausgangssprache",
164 "seed_language_next" : "Nächster",
165 "seed_language_english" : "Englisch",
166 "seed_language_chinese" : "Chinesisch",
res/values/strings_en.arb
+2 -1
@@ -159,7 +159,8 @@
159 "copy" : "Copy",
160
161
162 - "seed_language_choose" : "Please choose seed language",
162 + "seed_language_choose" : "Please choose seed language:",
163 + "seed_choose" : "Choose seed language",
164 "seed_language_next" : "Next",
165 "seed_language_english" : "English",
166 "seed_language_chinese" : "Chinese",
res/values/strings_es.arb
+2 -1
@@ -159,7 +159,8 @@
159 "copy" : "Dupdo",
160
161
162 - "seed_language_choose" : "Por favor elija el idioma semilla",
162 + "seed_language_choose" : "Por favor elija el idioma semilla:",
163 + "seed_choose" : "Elige el idioma semilla",
164 "seed_language_next" : "Próximo",
165 "seed_language_english" : "Inglés",
166 "seed_language_chinese" : "Chino",
res/values/strings_hi.arb
+2 -1
@@ -159,7 +159,8 @@
159 "copy" : "प्रतिलिपि",
160
161
162 - "seed_language_choose" : "कृपया बीज भाषा चुनें",
162 + "seed_language_choose" : "कृपया बीज भाषा चुनें:",
163 + "seed_choose" : "बीज भाषा चुनें",
164 "seed_language_next" : "आगामी",
165 "seed_language_english" : "अंग्रेज़ी",
166 "seed_language_chinese" : "चीनी",
res/values/strings_ja.arb
+2 -1
@@ -159,7 +159,8 @@
159 "copy" : "コピー",
160
161
162 - "seed_language_choose" : "シード言語を選択してください",
162 + "seed_language_choose" : "シード言語を選択してください:",
163 + "seed_choose" : "シード言語を選択してください",
164 "seed_language_next" : "次",
165 "seed_language_english" : "英語",
166 "seed_language_chinese" : "中国語",
res/values/strings_ko.arb
+2 -1
@@ -159,7 +159,8 @@
159 "copy" : "부",
160
161
162 - "seed_language_choose" : "종자 언어를 선택하십시오",
162 + "seed_language_choose" : "종자 언어를 선택하십시오:",
163 + "seed_choose" : "시드 언어를 선택하십시오",
164 "seed_language_next" : "다음 것",
165 "seed_language_english" : "영어",
166 "seed_language_chinese" : "중국말",
res/values/strings_nl.arb
+2 -1
@@ -159,7 +159,8 @@
159 "copy" : "Kopiëren",
160
161
162 - "seed_language_choose" : "Kies een starttaal",
162 + "seed_language_choose" : "Kies een starttaal:",
163 + "seed_choose" : "Kies een starttaal",
164 "seed_language_next" : "Volgende",
165 "seed_language_english" : "Engels",
166 "seed_language_chinese" : "Chinese",
res/values/strings_pl.arb
+2 -1
@@ -159,7 +159,8 @@
159 "copy" : "Kopiuj",
160
161
162 - "seed_language_choose" : "Proszę wybrać język początkowy",
162 + "seed_language_choose" : "Proszę wybrać język początkowy:",
163 + "seed_choose" : "Wybierz język początkowy",
164 "seed_language_next" : "Kolejny",
165 "seed_language_english" : "Angielski",
166 "seed_language_chinese" : "Chiński",
res/values/strings_pt.arb
+2 -1
@@ -159,7 +159,8 @@
159 "copy" : "Copiar",
160
161
162 - "seed_language_choose" : "Por favor, escolha o idioma da semente",
162 + "seed_language_choose" : "Por favor, escolha o idioma da semente:",
163 + "seed_choose" : "Escolha o idioma da semente",
164 "seed_language_next" : "Próximo",
165 "seed_language_english" : "Inglesa",
166 "seed_language_chinese" : "Chinesa",
res/values/strings_ru.arb
+2 -1
@@ -159,7 +159,8 @@
159 "copy" : "Скопировать",
160
161
162 - "seed_language_choose" : "Пожалуйста, выберите язык мнемонической фразы",
162 + "seed_language_choose" : "Пожалуйста, выберите язык мнемонической фразы:",
163 + "seed_choose" : "Выберите язык мнемонической фразы",
164 "seed_language_next" : "Продолжить",
165 "seed_language_english" : "Английский",
166 "seed_language_chinese" : "Китайский",
res/values/strings_uk.arb
+2 -1
@@ -159,7 +159,8 @@
159 "copy" : "Скопіювати",
160
161
162 - "seed_language_choose" : "Будь ласка, виберіть мову мнемонічної фрази",
162 + "seed_language_choose" : "Будь ласка, виберіть мову мнемонічної фрази:",
163 + "seed_choose" : "Виберіть мову мнемонічної фрази",
164 "seed_language_next" : "Продовжити",
165 "seed_language_english" : "Англійська",
166 "seed_language_chinese" : "Китайська",
res/values/strings_zh.arb
+2 -1
@@ -159,7 +159,8 @@
159 "copy" : "复制",
160
161
162 - "seed_language_choose" : "請選擇種子語言",
162 + "seed_language_choose" : "請選擇種子語言:",
163 + "seed_choose" : "選擇種子語言",
164 "seed_language_next" : "下一个",
165 "seed_language_english" : "英語",
166 "seed_language_chinese" : "中文",