CAKE-104 | added description parameter to the picker; applied description text in the present provider picker
OleksandrSobol committed
Oct 2, 2020 at 19:30 UTC
738d719fecceb7c36b5967d4f7f24eda66354d8a
2 files changed
+25
lib/src/screens/exchange/widgets/present_provider_picker.dart
+3
@@ -58,11 +58,13 @@ class PresentProviderPicker extends StatelessWidget {
58
final items = exchangeViewModel.providersForCurrentPair();
59
final selectedItem = items.indexOf(exchangeViewModel.provider);
60
final images = <Image>[];
61
+ String description;
62
63
for (var provider in items) {
64
switch (provider.description) {
65
case ExchangeProviderDescription.xmrto:
66
images.add(Image.asset('assets/images/xmr_btc.png'));
67
+ description = 'To choose ChangeNOW or MorphToken, please change your trading pair first';
68
break;
69
case ExchangeProviderDescription.changeNow:
70
images.add(Image.asset('assets/images/change_now.png'));
@@ -79,6 +81,7 @@ class PresentProviderPicker extends StatelessWidget {
81
images: images,
82
selectedAtIndex: selectedItem,
83
title: S.of(context).change_exchange_provider,
84
+ description: description,
85
onItemSelected: (ExchangeProvider provider) =>
86
exchangeViewModel.changeProvider(provider: provider)),
87
context: context);
lib/src/widgets/picker.dart
+22
@@ -12,6 +12,7 @@ class Picker<Item extends Object> extends StatefulWidget {
12
@required this.items,
13
this.images,
14
@required this.title,
15
+ this.description,
16
@required this.onItemSelected,
17
this.mainAxisAlignment = MainAxisAlignment.start,
18
this.isAlwaysShowScrollThumb = false
@@ -21,6 +22,7 @@ class Picker<Item extends Object> extends StatefulWidget {
22
final List<Item> items;
23
final List<Image> images;
24
final String title;
25
+ final String description;
26
final Function(Item) onItemSelected;
27
final MainAxisAlignment mainAxisAlignment;
28
final bool isAlwaysShowScrollThumb;
@@ -145,6 +147,26 @@ class PickerState<Item> extends State<Picker> {
147
);
148
},
149
),
150
+ ((widget.description != null)
151
+ &&(widget.description.isNotEmpty))
152
+ ? Positioned(
153
+ bottom: 24,
154
+ left: 24,
155
+ right: 24,
156
+ child: Text(
157
+ widget.description,
158
+ textAlign: TextAlign.center,
159
+ style: TextStyle(
160
+ fontSize: 12,
161
+ fontWeight: FontWeight.w500,
162
+ fontFamily: 'Poppins',
163
+ decoration: TextDecoration.none,
164
+ color: Theme.of(context).primaryTextTheme
165
+ .title.color
166
+ ),
167
+ )
168
+ )
169
+ : Offstage(),
170
widget.isAlwaysShowScrollThumb
171
? CakeScrollbar(
172
backgroundHeight: backgroundHeight,