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" : "中文",