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,