mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-19 05:58:50 +02:00
CWA-175 | added seed language parameter to wallet manager and wallet list service, created seed_language_page and seed_language_store, applied seed language page before create and restore wallet, added mnemonics
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:cake_wallet/generated/i18n.dart';
|
||||
|
||||
Future<T> presentPicker<T extends Object>(
|
||||
BuildContext context, List<T> list) async {
|
||||
T _value = list[0];
|
||||
|
||||
return await showDialog(
|
||||
context: context,
|
||||
builder: (BuildContext context) {
|
||||
return AlertDialog(
|
||||
title: Text(S.of(context).please_select),
|
||||
backgroundColor: Theme.of(context).backgroundColor,
|
||||
content: Container(
|
||||
height: 150.0,
|
||||
child: CupertinoPicker(
|
||||
backgroundColor: Theme.of(context).backgroundColor,
|
||||
itemExtent: 45.0,
|
||||
onSelectedItemChanged: (int index) => _value = list[index],
|
||||
children: List.generate(
|
||||
list.length,
|
||||
(index) => Center(
|
||||
child: Text(
|
||||
list[index].toString(),
|
||||
style: TextStyle(
|
||||
color: Theme.of(context)
|
||||
.primaryTextTheme
|
||||
.caption
|
||||
.color),
|
||||
),
|
||||
))),
|
||||
),
|
||||
actions: <Widget>[
|
||||
FlatButton(
|
||||
onPressed: () => Navigator.of(context).pop(),
|
||||
child: Text(S.of(context).cancel)),
|
||||
FlatButton(
|
||||
onPressed: () => Navigator.of(context).pop(_value),
|
||||
child: Text(S.of(context).ok))
|
||||
],
|
||||
);
|
||||
});
|
||||
}
|
||||
@@ -4,14 +4,52 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:cake_wallet/palette.dart';
|
||||
import 'package:cake_wallet/src/domain/monero/mnemonics/english.dart';
|
||||
import 'package:cake_wallet/src/domain/monero/mnemonics/chinese_simplified.dart';
|
||||
import 'package:cake_wallet/src/domain/monero/mnemonics/dutch.dart';
|
||||
import 'package:cake_wallet/src/domain/monero/mnemonics/german.dart';
|
||||
import 'package:cake_wallet/src/domain/monero/mnemonics/japanese.dart';
|
||||
import 'package:cake_wallet/src/domain/monero/mnemonics/portuguese.dart';
|
||||
import 'package:cake_wallet/src/domain/monero/mnemonics/russian.dart';
|
||||
import 'package:cake_wallet/src/domain/monero/mnemonics/spanish.dart';
|
||||
import 'package:cake_wallet/src/domain/common/mnemotic_item.dart';
|
||||
import 'package:cake_wallet/generated/i18n.dart';
|
||||
|
||||
class SeedWidget extends StatefulWidget {
|
||||
SeedWidget({Key key, this.onMnemoticChange, this.onFinish}) : super(key: key);
|
||||
SeedWidget({Key key, this.onMnemoticChange, this.onFinish, this.seedLanguage}) : super(key: key) {
|
||||
switch (seedLanguage) {
|
||||
case 'English':
|
||||
words = EnglishMnemonics.words;
|
||||
break;
|
||||
case 'Chinese (simplified)':
|
||||
words = ChineseSimplifiedMnemonics.words;
|
||||
break;
|
||||
case 'Dutch':
|
||||
words = DutchMnemonics.words;
|
||||
break;
|
||||
case 'German':
|
||||
words = GermanMnemonics.words;
|
||||
break;
|
||||
case 'Japanese':
|
||||
words = JapaneseMnemonics.words;
|
||||
break;
|
||||
case 'Portuguese':
|
||||
words = PortugueseMnemonics.words;
|
||||
break;
|
||||
case 'Russian':
|
||||
words = RussianMnemonics.words;
|
||||
break;
|
||||
case 'Spanish':
|
||||
words = SpanishMnemonics.words;
|
||||
break;
|
||||
default:
|
||||
words = EnglishMnemonics.words;
|
||||
}
|
||||
}
|
||||
|
||||
final Function(List<MnemoticItem>) onMnemoticChange;
|
||||
final Function() onFinish;
|
||||
final String seedLanguage;
|
||||
List<String> words;
|
||||
|
||||
@override
|
||||
SeedWidgetState createState() => SeedWidgetState();
|
||||
@@ -42,7 +80,7 @@ class SeedWidgetState extends State<SeedWidget> {
|
||||
|
||||
void addMnemotic(String text) {
|
||||
setState(() => items.add(MnemoticItem(
|
||||
text: text.trim().toLowerCase(), dic: EnglishMnemonics.words)));
|
||||
text: text.trim().toLowerCase(), dic: widget.words)));
|
||||
_seedController.text = '';
|
||||
|
||||
if (widget.onMnemoticChange != null) {
|
||||
@@ -141,7 +179,7 @@ class SeedWidgetState extends State<SeedWidget> {
|
||||
}
|
||||
|
||||
currentMnemotics = splitted
|
||||
.map((text) => MnemoticItem(text: text, dic: EnglishMnemonics.words))
|
||||
.map((text) => MnemoticItem(text: text, dic: widget.words))
|
||||
.toList();
|
||||
|
||||
bool isValid = true;
|
||||
|
||||
Reference in New Issue
Block a user