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 ],