dev
dart 51 lines 1.58 KB
Raw
1 import 'package:cake_wallet/entities/seed_type.dart';
2 import 'package:cake_wallet/generated/i18n.dart';
3 import 'package:cake_wallet/src/screens/new_wallet/widgets/select_button.dart';
4 import 'package:cake_wallet/src/widgets/seed_language_picker.dart';
5 import 'package:cake_wallet/utils/show_pop_up.dart';
6 import 'package:flutter/material.dart';
7
8 class SeedLanguageSelector extends StatefulWidget {
9 SeedLanguageSelector({
10 required this.initialSelected,
11 this.seedType = MoneroSeedType.defaultSeedType,
12 this.buttonKey,
13 this.borderRadius,
14 Key? key,
15 }) : super(key: key);
16
17 final String initialSelected;
18 final MoneroSeedType seedType;
19 final Key? buttonKey;
20 final BorderRadius? borderRadius;
21
22 @override
23 SeedLanguageSelectorState createState() => SeedLanguageSelectorState(selected: initialSelected);
24 }
25
26 class SeedLanguageSelectorState extends State<SeedLanguageSelector> {
27 SeedLanguageSelectorState({required this.selected});
28
29 String selected;
30
31 @override
32 Widget build(BuildContext context) {
33 return SelectButton(
34 borderRadius: widget.borderRadius,
35 key: widget.buttonKey,
36 image: null,
37 text:
38 "${seedLanguages.firstWhere((e) => e.name == selected).nameLocalized} (${S.of(context).seed_language})",
39 onTap: () async {
40 await showPopUp<String>(
41 context: context,
42 builder: (_) => SeedLanguagePicker(
43 selected: this.selected,
44 seedType: widget.seedType,
45 onItemSelected: (String selected) => setState(() => this.selected = selected),
46 ),
47 );
48 },
49 );
50 }
51 }