misc-seed-page-fixes (#2280)
* feat: Trim pasted seed * fix: Fix Seed Type selection
Konstantin Ullrich committed
May 21, 2025 at 00:24 UTC
43808992ec852b28969d6f45d11a8259c0d26fe2
2 files changed
+27
-14
lib/src/screens/restore/wallet_restore_from_seed_form.dart
+24
-11
@@ -82,8 +82,11 @@ class WalletRestoreFromSeedFormState extends State<WalletRestoreFromSeedForm> {
82
83
@override
84
void initState() {
85
- // _setSeedType(widget.seedTypeViewModel.moneroSeedType);
86
- _setSeedType(MoneroSeedType.defaultSeedType);
85
+ if (widget.type == WalletType.monero) {
86
+ _setSeedType(widget.seedSettingsViewModel.moneroSeedType);
87
+ } else {
88
+ _setSeedType(MoneroSeedType.defaultSeedType);
89
+ }
90
_setLanguageLabel(language);
91
92
if (passwordTextEditingController != null) {
@@ -118,7 +121,8 @@ class WalletRestoreFromSeedFormState extends State<WalletRestoreFromSeedForm> {
121
}
122
123
if (repeatedPasswordListener != null) {
121
- repeatedPasswordTextEditingController?.removeListener(repeatedPasswordListener!);
124
+ repeatedPasswordTextEditingController
125
+ ?.removeListener(repeatedPasswordListener!);
126
}
127
128
super.dispose();
@@ -158,11 +162,13 @@ class WalletRestoreFromSeedFormState extends State<WalletRestoreFromSeedForm> {
162
alignment: Alignment.centerRight,
163
children: [
164
BaseTextFormField(
161
- key: ValueKey('wallet_restore_from_seed_wallet_name_textfield_key'),
165
+ key: ValueKey(
166
+ 'wallet_restore_from_seed_wallet_name_textfield_key'),
167
controller: nameTextEditingController,
168
hintText: S.of(context).wallet_name,
169
suffixIcon: IconButton(
165
- key: ValueKey('wallet_restore_from_seed_wallet_name_refresh_button_key'),
170
+ key: ValueKey(
171
+ 'wallet_restore_from_seed_wallet_name_refresh_button_key'),
172
onPressed: () async {
173
final rName = await generateName();
174
FocusManager.instance.primaryFocus?.unfocus();
@@ -202,12 +208,15 @@ class WalletRestoreFromSeedFormState extends State<WalletRestoreFromSeedForm> {
208
language: language,
209
type: widget.type,
210
onSeedChange: onSeedChange,
205
- seedTextFieldKey: ValueKey('wallet_restore_from_seed_wallet_seeds_textfield_key'),
206
- pasteButtonKey: ValueKey('wallet_restore_from_seed_wallet_seeds_paste_button_key'),
211
+ seedTextFieldKey:
212
+ ValueKey('wallet_restore_from_seed_wallet_seeds_textfield_key'),
213
+ pasteButtonKey: ValueKey(
214
+ 'wallet_restore_from_seed_wallet_seeds_paste_button_key'),
215
),
216
if ([WalletType.monero, WalletType.wownero].contains(widget.type))
217
GestureDetector(
210
- key: ValueKey('wallet_restore_from_seed_seedtype_picker_button_key'),
218
+ key: ValueKey(
219
+ 'wallet_restore_from_seed_seedtype_picker_button_key'),
220
onTap: () async {
221
await showPopUp<void>(
222
context: context,
@@ -215,7 +224,9 @@ class WalletRestoreFromSeedFormState extends State<WalletRestoreFromSeedForm> {
224
items: _getItems(),
225
selectedAtIndex: isPolyseed
226
? 1
218
- : (seedTypeController.value.text.contains("14") && widget.type == WalletType.wownero) || isBip39
227
+ : (seedTypeController.value.text.contains("14") &&
228
+ widget.type == WalletType.wownero) ||
229
+ isBip39
230
? 2
231
: 0,
232
mainAxisAlignment: MainAxisAlignment.start,
@@ -249,7 +260,8 @@ class WalletRestoreFromSeedFormState extends State<WalletRestoreFromSeedForm> {
260
obscureText: true)
261
],
262
if (widget.displayLanguageSelector)
252
- if (!seedTypeController.value.text.contains("14") && widget.displayLanguageSelector)
263
+ if (!seedTypeController.value.text.contains("14") &&
264
+ widget.displayLanguageSelector)
265
GestureDetector(
266
onTap: () async {
267
await showPopUp<void>(
@@ -279,7 +291,8 @@ class WalletRestoreFromSeedFormState extends State<WalletRestoreFromSeedForm> {
291
BlockchainHeightWidget(
292
focusNode: widget.blockHeightFocusNode,
293
key: blockchainHeightKey,
282
- blockHeightTextFieldKey: ValueKey('wallet_restore_from_seed_blockheight_textfield_key'),
294
+ blockHeightTextFieldKey: ValueKey(
295
+ 'wallet_restore_from_seed_blockheight_textfield_key'),
296
onHeightOrDateEntered: widget.onHeightOrDateEntered,
297
hasDatePicker:
298
[WalletType.monero, WalletType.wownero].contains(widget.type),
lib/src/widgets/seed_widget.dart
+3
-3
@@ -146,12 +146,12 @@ class SeedWidgetState extends State<SeedWidget> {
146
}
147
148
Future<void> _pasteText() async {
149
- final value = await Clipboard.getData('text/plain');
149
+ final value = (await Clipboard.getData('text/plain'))?.text?.trim();
150
151
- if (value?.text?.isNotEmpty ?? false) {
151
+ if (value?.isNotEmpty ?? false) {
152
setState(() {
153
_showPlaceholder = false;
154
- controller.text = value!.text!;
154
+ controller.text = value!;
155
});
156
}
157
}