mirror of
https://github.com/cypherstack/stack_wallet.git
synced 2025-03-22 15:19:11 +00:00
backup and restore page
This commit is contained in:
parent
038df82800
commit
b09ee79865
3 changed files with 127 additions and 6 deletions
|
@ -1,6 +1,8 @@
|
||||||
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:stackwallet/pages_desktop_specific/home/settings_menu/backup_and_restore.dart';
|
||||||
import 'package:stackwallet/pages_desktop_specific/home/settings_menu/settings_menu.dart';
|
import 'package:stackwallet/pages_desktop_specific/home/settings_menu/settings_menu.dart';
|
||||||
|
import 'package:stackwallet/route_generator.dart';
|
||||||
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
|
|
||||||
class DesktopSettingsView extends ConsumerStatefulWidget {
|
class DesktopSettingsView extends ConsumerStatefulWidget {
|
||||||
|
@ -16,8 +18,9 @@ class DesktopSettingsView extends ConsumerStatefulWidget {
|
||||||
class _DesktopSettingsViewState extends ConsumerState<DesktopSettingsView> {
|
class _DesktopSettingsViewState extends ConsumerState<DesktopSettingsView> {
|
||||||
int currentViewIndex = 0;
|
int currentViewIndex = 0;
|
||||||
final List<Widget> contentViews = [
|
final List<Widget> contentViews = [
|
||||||
Container(
|
const Navigator(
|
||||||
color: Colors.lime,
|
onGenerateRoute: RouteGenerator.generateRoute,
|
||||||
|
initialRoute: BackupRestore.routeName,
|
||||||
), //b+r
|
), //b+r
|
||||||
Container(
|
Container(
|
||||||
color: Colors.green,
|
color: Colors.green,
|
||||||
|
@ -48,7 +51,6 @@ class _DesktopSettingsViewState extends ConsumerState<DesktopSettingsView> {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// will have a row with two items: SettingsMenu and settings contentxd
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Material(
|
return Material(
|
||||||
|
|
|
@ -88,7 +88,7 @@ class _BackupRestore extends ConsumerState<BackupRestore> {
|
||||||
padding: EdgeInsets.all(
|
padding: EdgeInsets.all(
|
||||||
10,
|
10,
|
||||||
),
|
),
|
||||||
child: EnableBackupButton(),
|
child: AutoBackupButton(),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
@ -137,6 +137,72 @@ class _BackupRestore extends ConsumerState<BackupRestore> {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: const [
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.all(
|
||||||
|
10,
|
||||||
|
),
|
||||||
|
child: ManualBackupButton(),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
height: 25,
|
||||||
|
),
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.only(
|
||||||
|
right: 30,
|
||||||
|
),
|
||||||
|
child: RoundedWhiteContainer(
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
SvgPicture.asset(
|
||||||
|
Assets.svg.backupRestore,
|
||||||
|
width: 48,
|
||||||
|
height: 48,
|
||||||
|
alignment: Alignment.topLeft,
|
||||||
|
),
|
||||||
|
Center(
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.all(10),
|
||||||
|
child: RichText(
|
||||||
|
textAlign: TextAlign.start,
|
||||||
|
text: TextSpan(
|
||||||
|
children: [
|
||||||
|
TextSpan(
|
||||||
|
text: "Restore Backup",
|
||||||
|
style: STextStyles.desktopTextSmall(context),
|
||||||
|
),
|
||||||
|
TextSpan(
|
||||||
|
text:
|
||||||
|
"\n\nUse your Stack Wallet backup file to restore your wallets, address book "
|
||||||
|
"and wallet preferences.",
|
||||||
|
style:
|
||||||
|
STextStyles.desktopTextExtraExtraSmall(context),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: const [
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.all(
|
||||||
|
10,
|
||||||
|
),
|
||||||
|
child: ManualBackupButton(),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -146,8 +212,8 @@ class _BackupRestore extends ConsumerState<BackupRestore> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class EnableBackupButton extends ConsumerWidget {
|
class AutoBackupButton extends ConsumerWidget {
|
||||||
const EnableBackupButton({
|
const AutoBackupButton({
|
||||||
Key? key,
|
Key? key,
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
@override
|
@override
|
||||||
|
@ -168,3 +234,49 @@ class EnableBackupButton extends ConsumerWidget {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class ManualBackupButton extends ConsumerWidget {
|
||||||
|
const ManualBackupButton({
|
||||||
|
Key? key,
|
||||||
|
}) : super(key: key);
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context, WidgetRef ref) {
|
||||||
|
return SizedBox(
|
||||||
|
width: 200,
|
||||||
|
height: 48,
|
||||||
|
child: TextButton(
|
||||||
|
style: Theme.of(context)
|
||||||
|
.extension<StackColors>()!
|
||||||
|
.getPrimaryEnabledButtonColor(context),
|
||||||
|
onPressed: () {},
|
||||||
|
child: Text(
|
||||||
|
"Create Manual Backup",
|
||||||
|
style: STextStyles.button(context),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class RestoreBackupButton extends ConsumerWidget {
|
||||||
|
const RestoreBackupButton({
|
||||||
|
Key? key,
|
||||||
|
}) : super(key: key);
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context, WidgetRef ref) {
|
||||||
|
return SizedBox(
|
||||||
|
width: 200,
|
||||||
|
height: 48,
|
||||||
|
child: TextButton(
|
||||||
|
style: Theme.of(context)
|
||||||
|
.extension<StackColors>()!
|
||||||
|
.getPrimaryEnabledButtonColor(context),
|
||||||
|
onPressed: () {},
|
||||||
|
child: Text(
|
||||||
|
"Restore Backup",
|
||||||
|
style: STextStyles.button(context),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -87,6 +87,7 @@ import 'package:stackwallet/pages_desktop_specific/home/desktop_home_view.dart';
|
||||||
import 'package:stackwallet/pages_desktop_specific/home/desktop_settings_view.dart';
|
import 'package:stackwallet/pages_desktop_specific/home/desktop_settings_view.dart';
|
||||||
import 'package:stackwallet/pages_desktop_specific/home/my_stack_view/my_stack_view.dart';
|
import 'package:stackwallet/pages_desktop_specific/home/my_stack_view/my_stack_view.dart';
|
||||||
import 'package:stackwallet/pages_desktop_specific/home/my_stack_view/wallet_view/desktop_wallet_view.dart';
|
import 'package:stackwallet/pages_desktop_specific/home/my_stack_view/wallet_view/desktop_wallet_view.dart';
|
||||||
|
import 'package:stackwallet/pages_desktop_specific/home/settings_menu/backup_and_restore.dart';
|
||||||
import 'package:stackwallet/pages_desktop_specific/home/settings_menu/settings_menu.dart';
|
import 'package:stackwallet/pages_desktop_specific/home/settings_menu/settings_menu.dart';
|
||||||
import 'package:stackwallet/services/coins/manager.dart';
|
import 'package:stackwallet/services/coins/manager.dart';
|
||||||
import 'package:stackwallet/services/event_bus/events/global/node_connection_status_changed_event.dart';
|
import 'package:stackwallet/services/event_bus/events/global/node_connection_status_changed_event.dart';
|
||||||
|
@ -992,6 +993,12 @@ class RouteGenerator {
|
||||||
),
|
),
|
||||||
settings: RouteSettings(name: settings.name));
|
settings: RouteSettings(name: settings.name));
|
||||||
|
|
||||||
|
case BackupRestore.routeName:
|
||||||
|
return getRoute(
|
||||||
|
shouldUseMaterialRoute: useMaterialPageRoute,
|
||||||
|
builder: (_) => const BackupRestore(),
|
||||||
|
settings: RouteSettings(name: settings.name));
|
||||||
|
|
||||||
// == End of desktop specific routes =====================================
|
// == End of desktop specific routes =====================================
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Reference in a new issue