mirror of
https://github.com/cypherstack/stack_wallet.git
synced 2025-02-02 11:16:36 +00:00
mobile show selected startup wallet
This commit is contained in:
parent
6cd649a195
commit
d9d6a8c156
1 changed files with 95 additions and 8 deletions
|
@ -1,7 +1,9 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
import 'package:stackwallet/pages/settings_views/global_settings_view/startup_preferences/startup_wallet_selection_view.dart';
|
import 'package:stackwallet/pages/settings_views/global_settings_view/startup_preferences/startup_wallet_selection_view.dart';
|
||||||
import 'package:stackwallet/providers/global/prefs_provider.dart';
|
import 'package:stackwallet/providers/providers.dart';
|
||||||
|
import 'package:stackwallet/utilities/assets.dart';
|
||||||
import 'package:stackwallet/utilities/constants.dart';
|
import 'package:stackwallet/utilities/constants.dart';
|
||||||
import 'package:stackwallet/utilities/text_styles.dart';
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
|
@ -21,6 +23,31 @@ class StartupPreferencesView extends ConsumerStatefulWidget {
|
||||||
|
|
||||||
class _StartupPreferencesViewState
|
class _StartupPreferencesViewState
|
||||||
extends ConsumerState<StartupPreferencesView> {
|
extends ConsumerState<StartupPreferencesView> {
|
||||||
|
bool safe = true;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
final possibleWalletId =
|
||||||
|
ref.read(prefsChangeNotifierProvider).startupWalletId;
|
||||||
|
|
||||||
|
// check if wallet exists (hasn't been deleted or otherwise missing)
|
||||||
|
if (possibleWalletId != null) {
|
||||||
|
try {
|
||||||
|
ref.read(walletsChangeNotifierProvider).getManager(possibleWalletId);
|
||||||
|
} catch (_) {
|
||||||
|
safe = false;
|
||||||
|
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
|
||||||
|
ref.read(prefsChangeNotifierProvider).startupWalletId = null;
|
||||||
|
setState(() {
|
||||||
|
safe = true;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
super.initState();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Background(
|
return Background(
|
||||||
|
@ -195,13 +222,73 @@ class _StartupPreferencesViewState
|
||||||
context),
|
context),
|
||||||
textAlign: TextAlign.left,
|
textAlign: TextAlign.left,
|
||||||
),
|
),
|
||||||
Text(
|
(safe &&
|
||||||
"Select a specific wallet to load into on startup",
|
ref.watch(
|
||||||
style:
|
prefsChangeNotifierProvider
|
||||||
STextStyles.itemSubtitle(
|
.select((value) =>
|
||||||
context),
|
value
|
||||||
textAlign: TextAlign.left,
|
.startupWalletId),
|
||||||
),
|
) !=
|
||||||
|
null)
|
||||||
|
? Padding(
|
||||||
|
padding:
|
||||||
|
const EdgeInsets
|
||||||
|
.only(top: 12),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
SvgPicture.asset(
|
||||||
|
Assets.svg
|
||||||
|
.iconFor(
|
||||||
|
coin: ref
|
||||||
|
.watch(
|
||||||
|
walletsChangeNotifierProvider
|
||||||
|
.select(
|
||||||
|
(value) =>
|
||||||
|
value.getManager(
|
||||||
|
ref.watch(
|
||||||
|
prefsChangeNotifierProvider.select((value) =>
|
||||||
|
value.startupWalletId!),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
.coin,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
width: 10,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
ref
|
||||||
|
.watch(
|
||||||
|
walletsChangeNotifierProvider
|
||||||
|
.select(
|
||||||
|
(value) =>
|
||||||
|
value
|
||||||
|
.getManager(
|
||||||
|
ref.watch(
|
||||||
|
prefsChangeNotifierProvider.select((value) =>
|
||||||
|
value.startupWalletId!),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
.walletName,
|
||||||
|
style: STextStyles
|
||||||
|
.itemSubtitle(
|
||||||
|
context),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
)
|
||||||
|
: Text(
|
||||||
|
"Select a specific wallet to load into on startup",
|
||||||
|
style: STextStyles
|
||||||
|
.itemSubtitle(
|
||||||
|
context),
|
||||||
|
textAlign:
|
||||||
|
TextAlign.left,
|
||||||
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
Loading…
Reference in a new issue