backup add docker

This commit is contained in:
lollipopkit
2023-03-27 15:09:19 +08:00
parent 2747df64dd
commit 2ea061d324
14 changed files with 49 additions and 56 deletions

View File

@@ -11,9 +11,9 @@ import '../../core/extension/colorx.dart';
import '../../core/utils/ui.dart';
import '../../data/model/app/backup.dart';
import '../../data/res/ui.dart';
import '../../data/store/docker.dart';
import '../../data/store/private_key.dart';
import '../../data/store/server.dart';
import '../../data/store/setting.dart';
import '../../data/store/snippet.dart';
import '../../locator.dart';
@@ -22,10 +22,10 @@ const backupFormatVersion = 1;
class BackupPage extends StatelessWidget {
BackupPage({Key? key}) : super(key: key);
final _setting = locator<SettingStore>();
final _server = locator<ServerStore>();
final _snippet = locator<SnippetStore>();
final _privateKey = locator<PrivateKeyStore>();
final _dockerHosts = locator<DockerStore>();
@override
Widget build(BuildContext context) {
@@ -33,7 +33,7 @@ class BackupPage extends StatelessWidget {
final s = S.of(context)!;
return Scaffold(
appBar: AppBar(
title: Text(s.importAndExport, style: textSize18),
title: Text(s.backupAndRestore, style: textSize18),
),
body: Center(
child: Column(
@@ -103,9 +103,7 @@ class BackupPage extends StatelessWidget {
_server.fetch(),
_snippet.fetch(),
_privateKey.fetch(),
_setting.primaryColor.fetch() ?? Colors.pinkAccent.value,
_setting.serverStatusUpdateInterval.fetch() ?? 2,
_setting.launchPage.fetch() ?? 0,
_dockerHosts.fetch(),
),
),
);
@@ -194,10 +192,9 @@ class BackupPage extends StatelessWidget {
for (final s in backup.keys) {
_privateKey.put(s);
}
_setting.primaryColor.put(backup.primaryColor);
_setting.serverStatusUpdateInterval
.put(backup.serverStatusUpdateInterval);
_setting.launchPage.put(backup.launchPage);
for (final k in backup.dockerHosts.keys) {
_dockerHosts.setDockerHost(k, backup.dockerHosts[k]!);
}
Navigator.of(context).pop();
showSnackBar(context, Text(s.restoreSuccess));
},

View File

@@ -4,7 +4,6 @@ import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:flutter_material_color_picker/flutter_material_color_picker.dart';
import 'package:provider/provider.dart';
import 'package:toolbox/data/res/path.dart';
import '../../core/utils/misc.dart';
import '../../core/utils/platform.dart';
@@ -15,6 +14,7 @@ import '../../data/provider/app.dart';
import '../../data/provider/server.dart';
import '../../data/res/build_data.dart';
import '../../data/res/color.dart';
import '../../data/res/path.dart';
import '../../data/res/tab.dart';
import '../../data/res/ui.dart';
import '../../data/store/setting.dart';
@@ -61,6 +61,7 @@ class _SettingPageState extends State<SettingPage> {
_nightMode = _setting.themeMode.fetch()!;
_updateInterval = _setting.serverStatusUpdateInterval.fetch()!.toDouble();
_maxRetryCount = _setting.maxRetryCount.fetch()!.toDouble();
_selectedColorValue = _setting.primaryColor.fetch()!;
}
@override
@@ -101,8 +102,8 @@ class _SettingPageState extends State<SettingPage> {
_buildThemeMode(),
_buildAppColorPreview(),
_buildLaunchPage(),
_buildCheckUpdate(),
_buildFont(),
_buildCheckUpdate(),
];
if (isIOS) {
children.add(_buildPushToken());

View File

@@ -29,7 +29,7 @@ class _SFTPDownloadedPageState extends State<SFTPDownloadedPage> {
@override
void initState() {
super.initState();
sftpDownloadDir.then((dir) {
sftpDir.then((dir) {
_path = PathWithPrefix(dir.path);
_prefixPath = '${dir.path}/';
setState(() {});

View File

@@ -302,7 +302,7 @@ class _SFTPPageState extends State<SFTPPage> {
final prePath = _status.path!.path;
final remotePath =
prePath + (prePath.endsWith('/') ? '' : '/') + name.filename;
final local = '${(await sftpDownloadDir).path}$remotePath';
final local = '${(await sftpDir).path}$remotePath';
final pubKeyId = widget.spi.pubKeyId;
locator<SftpProvider>().add(