mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-23 06:38:35 +02:00
Normalize text to fix french (#1504)
* Normalize text to fix french * Normalize text to fix french * Fix French? * Fix French? * Fix French? * Polyseed v0.0.5
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
import 'package:cake_wallet/core/seed_validator.dart';
|
||||
import 'package:cake_wallet/generated/i18n.dart';
|
||||
import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
|
||||
import 'package:cw_core/wallet_type.dart';
|
||||
import 'package:cake_wallet/src/widgets/validable_annotated_editable_text.dart';
|
||||
import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
|
||||
import 'package:cake_wallet/themes/extensions/send_page_theme.dart';
|
||||
import 'package:cw_core/wallet_type.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:cake_wallet/core/seed_validator.dart';
|
||||
import 'package:cake_wallet/themes/extensions/send_page_theme.dart';
|
||||
|
||||
class SeedWidget extends StatefulWidget {
|
||||
SeedWidget({
|
||||
@@ -23,7 +23,6 @@ class SeedWidget extends StatefulWidget {
|
||||
}
|
||||
|
||||
class SeedWidgetState extends State<SeedWidget> {
|
||||
|
||||
SeedWidgetState(String language, this.type)
|
||||
: controller = TextEditingController(),
|
||||
focusNode = FocusNode(),
|
||||
@@ -46,6 +45,7 @@ class SeedWidgetState extends State<SeedWidget> {
|
||||
final FocusNode focusNode;
|
||||
final WalletType type;
|
||||
List<String> words;
|
||||
bool normalizeSeed = false;
|
||||
bool _showPlaceholder;
|
||||
|
||||
String get text => controller.text;
|
||||
@@ -60,6 +60,7 @@ class SeedWidgetState extends State<SeedWidget> {
|
||||
void changeSeedLanguage(String language) {
|
||||
setState(() {
|
||||
words = SeedValidator.getWordList(type: type, language: language);
|
||||
normalizeSeed = SeedValidator.needsNormalization(language);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -97,6 +98,7 @@ class SeedWidgetState extends State<SeedWidget> {
|
||||
focusNode: focusNode,
|
||||
controller: controller,
|
||||
words: words,
|
||||
normalizeSeed: normalizeSeed,
|
||||
textStyle: TextStyle(
|
||||
color: Theme.of(context).extension<CakeTextTheme>()!.titleColor,
|
||||
backgroundColor: Colors.transparent,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:cw_core/utils/text_normalizer.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
|
||||
extension Compare<T> on Comparable<T> {
|
||||
bool operator <=(T other) => compareTo(other) <= 0;
|
||||
bool operator >=(T other) => compareTo(other) >= 0;
|
||||
@@ -39,6 +39,7 @@ class ValidatableAnnotatedEditableText extends EditableText {
|
||||
required this.validStyle,
|
||||
required this.invalidStyle,
|
||||
required this.words,
|
||||
this.normalizeSeed = false,
|
||||
TextStyle textStyle = const TextStyle(
|
||||
color: Colors.black,
|
||||
backgroundColor: Colors.transparent,
|
||||
@@ -74,6 +75,7 @@ class ValidatableAnnotatedEditableText extends EditableText {
|
||||
showSelectionHandles: true,
|
||||
showCursor: true);
|
||||
|
||||
final bool normalizeSeed;
|
||||
final List<String> words;
|
||||
final TextStyle validStyle;
|
||||
final TextStyle invalidStyle;
|
||||
@@ -137,7 +139,8 @@ class ValidatableAnnotatedEditableTextState extends EditableTextState {
|
||||
return result;
|
||||
}
|
||||
|
||||
bool validate(String source) => widget.words.indexOf(source) >= 0;
|
||||
bool validate(String source) =>
|
||||
widget.words.indexOf(widget.normalizeSeed ? normalizeText(source) : source) >= 0;
|
||||
|
||||
List<TextRange> range(String pattern, String source) {
|
||||
final result = <TextRange>[];
|
||||
@@ -173,4 +176,4 @@ class ValidatableAnnotatedEditableTextState extends EditableTextState {
|
||||
|
||||
return TextSpan(style: widget.style, text: text);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user