Fix untappable area of wallets page (#2636)
* Fix untappable area of wallets page * Cleanup
tuxsudo committed
Nov 8, 2025 at 15:07 UTC
19362df2099801d401b554421e6e4dee762de8fd
1 file changed
+96
-92
lib/src/screens/wallet_list/wallet_list_page.dart
+96
-92
@@ -327,113 +327,117 @@ class WalletListBodyState extends State<WalletListBody> {
327
),
328
),
329
Positioned(
330
- bottom: 0.0,
331
- child: Container(
332
- //padding: EdgeInsets.only(top: 100),
330
+ child: Stack(
331
alignment: Alignment.bottomCenter,
334
- height: 185,
335
- //width: 600,
336
- //padding: EdgeInsets.only(top: 50),
337
- decoration: BoxDecoration(
338
- gradient: LinearGradient(
339
- begin: Alignment.topCenter,
340
- end: Alignment.bottomCenter,
341
- colors: <Color>[
342
- Theme.of(context).colorScheme.surface.withAlpha(10),
343
- Theme.of(context).colorScheme.surface,
344
- Theme.of(context).colorScheme.surface,
345
- Theme.of(context).colorScheme.surface
346
- ],
347
- ),
348
- ),
349
- child: Container(
350
- height: 120,
351
- width: MediaQuery.of(context).size.width,
352
- //alignment: Alignment.bottomCenter,
353
- margin: EdgeInsets.only(bottom: 24),
354
- padding: EdgeInsets.only(left: 16, right: 16),
355
- child: Column(
356
- mainAxisSize: MainAxisSize.min,
357
- mainAxisAlignment: MainAxisAlignment.center,
358
- crossAxisAlignment: CrossAxisAlignment.center,
359
- children: <Widget>[
360
- PrimaryImageButton(
361
- image: Image.asset(
362
- 'assets/images/restore_wallet.png',
363
- height: 12,
364
- width: 12,
365
- color: Theme.of(context).colorScheme.onSecondaryContainer,
332
+ children: [
333
+ IgnorePointer(
334
+ child: Container(
335
+ alignment: Alignment.bottomCenter,
336
+ height: 185,
337
+ decoration: BoxDecoration(
338
+ gradient: LinearGradient(
339
+ begin: Alignment.topCenter,
340
+ end: Alignment.bottomCenter,
341
+ colors: <Color>[
342
+ Theme.of(context).colorScheme.surface.withAlpha(10),
343
+ Theme.of(context).colorScheme.surface,
344
+ Theme.of(context).colorScheme.surface,
345
+ Theme.of(context).colorScheme.surface
346
+ ],
347
),
367
- key: ValueKey('wallet_list_page_restore_wallet_button_key'),
368
- onPressed: () {
369
- if (widget.walletListViewModel.shouldRequireTOTP2FAForCreatingNewWallets) {
370
- widget.authService.authenticateAction(
371
- context,
372
- route: Routes.restoreOptions,
373
- arguments: false,
374
- conditionToDetermineIfToUse2FA: widget
375
- .walletListViewModel.shouldRequireTOTP2FAForCreatingNewWallets,
376
- );
377
- } else {
378
- Navigator.of(context).pushNamed(Routes.restoreOptions, arguments: false);
379
- }
380
- },
381
- text: S.of(context).wallet_list_restore_wallet,
382
- color: Theme.of(context).colorScheme.surfaceContainer,
383
- textColor: Theme.of(context).colorScheme.onSecondaryContainer,
348
),
385
- SizedBox(height: 10.0),
386
- PrimaryImageButton(
387
- image: Image.asset(
388
- 'assets/images/new_wallet.png',
389
- height: 12,
390
- width: 12,
391
- color: Theme.of(context).colorScheme.onPrimary,
392
- ),
393
- key: ValueKey('wallet_list_page_create_new_wallet_button_key'),
394
- onPressed: () {
395
- //TODO(David): Find a way to optimize this
396
- if (isSingleCoin) {
349
+ ),
350
+ ),
351
+ Container(
352
+ height: 120,
353
+ width: MediaQuery.of(context).size.width,
354
+ margin: EdgeInsets.only(bottom: 24),
355
+ padding: EdgeInsets.only(left: 16, right: 16),
356
+ child: Column(
357
+ mainAxisSize: MainAxisSize.min,
358
+ mainAxisAlignment: MainAxisAlignment.center,
359
+ crossAxisAlignment: CrossAxisAlignment.center,
360
+ children: <Widget>[
361
+ PrimaryImageButton(
362
+ image: Image.asset(
363
+ 'assets/images/restore_wallet.png',
364
+ height: 12,
365
+ width: 12,
366
+ color: Theme.of(context).colorScheme.onSecondaryContainer,
367
+ ),
368
+ key: ValueKey('wallet_list_page_restore_wallet_button_key'),
369
+ onPressed: () {
370
if (widget
371
.walletListViewModel.shouldRequireTOTP2FAForCreatingNewWallets) {
372
widget.authService.authenticateAction(
373
context,
401
- route: Routes.newWallet,
402
- arguments: NewWalletArguments(
403
- type: widget.walletListViewModel.currentWalletType,
404
- ),
374
+ route: Routes.restoreOptions,
375
+ arguments: false,
376
conditionToDetermineIfToUse2FA: widget
377
.walletListViewModel.shouldRequireTOTP2FAForCreatingNewWallets,
378
);
379
} else {
409
- Navigator.of(context).pushNamed(
410
- Routes.newWallet,
411
- arguments: NewWalletArguments(
412
- type: widget.walletListViewModel.currentWalletType,
413
- ),
414
- );
380
+ Navigator.of(context)
381
+ .pushNamed(Routes.restoreOptions, arguments: false);
382
}
416
- } else {
417
- if (widget
418
- .walletListViewModel.shouldRequireTOTP2FAForCreatingNewWallets) {
419
- widget.authService.authenticateAction(
420
- context,
421
- route: Routes.newWalletType,
422
- conditionToDetermineIfToUse2FA: widget
423
- .walletListViewModel.shouldRequireTOTP2FAForCreatingNewWallets,
424
- );
383
+ },
384
+ text: S.of(context).wallet_list_restore_wallet,
385
+ color: Theme.of(context).colorScheme.surfaceContainer,
386
+ textColor: Theme.of(context).colorScheme.onSecondaryContainer,
387
+ ),
388
+ SizedBox(height: 10.0),
389
+ PrimaryImageButton(
390
+ image: Image.asset(
391
+ 'assets/images/new_wallet.png',
392
+ height: 12,
393
+ width: 12,
394
+ color: Theme.of(context).colorScheme.onPrimary,
395
+ ),
396
+ key: ValueKey('wallet_list_page_create_new_wallet_button_key'),
397
+ onPressed: () {
398
+ //TODO(David): Find a way to optimize this
399
+ if (isSingleCoin) {
400
+ if (widget
401
+ .walletListViewModel.shouldRequireTOTP2FAForCreatingNewWallets) {
402
+ widget.authService.authenticateAction(
403
+ context,
404
+ route: Routes.newWallet,
405
+ arguments: NewWalletArguments(
406
+ type: widget.walletListViewModel.currentWalletType,
407
+ ),
408
+ conditionToDetermineIfToUse2FA: widget
409
+ .walletListViewModel.shouldRequireTOTP2FAForCreatingNewWallets,
410
+ );
411
+ } else {
412
+ Navigator.of(context).pushNamed(
413
+ Routes.newWallet,
414
+ arguments: NewWalletArguments(
415
+ type: widget.walletListViewModel.currentWalletType,
416
+ ),
417
+ );
418
+ }
419
} else {
426
- Navigator.of(context).pushNamed(Routes.newWalletType);
420
+ if (widget
421
+ .walletListViewModel.shouldRequireTOTP2FAForCreatingNewWallets) {
422
+ widget.authService.authenticateAction(
423
+ context,
424
+ route: Routes.newWalletType,
425
+ conditionToDetermineIfToUse2FA: widget
426
+ .walletListViewModel.shouldRequireTOTP2FAForCreatingNewWallets,
427
+ );
428
+ } else {
429
+ Navigator.of(context).pushNamed(Routes.newWalletType);
430
+ }
431
}
428
- }
429
- },
430
- text: S.of(context).wallet_list_create_new_wallet,
431
- color: Theme.of(context).colorScheme.primary,
432
- textColor: Theme.of(context).colorScheme.onPrimary,
433
- ),
434
- ],
432
+ },
433
+ text: S.of(context).wallet_list_create_new_wallet,
434
+ color: Theme.of(context).colorScheme.primary,
435
+ textColor: Theme.of(context).colorScheme.onPrimary,
436
+ ),
437
+ ],
438
+ ),
439
),
436
- ),
440
+ ],
441
),
442
),
443
],