- fix: same name snippet caused err
- fix: auto load servers from db after restoring
This commit is contained in:
lollipopkit
2023-09-24 14:51:51 +08:00
parent 5a9fd74470
commit 1194a87c76
9 changed files with 74 additions and 81 deletions

View File

@@ -1,6 +1,5 @@
import 'dart:async';
import 'package:after_layout/after_layout.dart';
import 'package:flutter/material.dart';
import 'package:toolbox/core/extension/context/common.dart';
import 'package:toolbox/core/extension/context/dialog.dart';
@@ -28,7 +27,7 @@ class PingPage extends StatefulWidget {
}
class _PingPageState extends State<PingPage>
with AutomaticKeepAliveClientMixin, AfterLayoutMixin {
with AutomaticKeepAliveClientMixin {
late TextEditingController _textEditingController;
final _results = ValueNotifier(<PingResult>[]);
bool get isInit => _results.value.isEmpty;
@@ -194,12 +193,4 @@ class _PingPageState extends State<PingPage>
@override
bool get wantKeepAlive => true;
@override
Future<FutureOr<void>> afterFirstLayout(BuildContext context) async {
if (Providers.server.serverOrder.isEmpty) {
await Providers.server.loadLocalData();
await Providers.server.refreshData();
}
}
}

View File

@@ -456,9 +456,7 @@ class _ServerPageState extends State<ServerPage>
@override
Future<void> afterFirstLayout(BuildContext context) async {
await GetIt.I.allReady();
if (Providers.server.serverOrder.isEmpty) {
await Providers.server.loadLocalData();
}
await Providers.server.loadLocalData();
Providers.server.startAutoRefresh();
}
@@ -505,7 +503,7 @@ class _ServerPageState extends State<ServerPage>
return 23.0;
}
if (_flipedCardIds.contains(id)) {
return 77.0;
return 80.0;
}
if (Stores.setting.moveOutServerTabFuncBtns.fetch() &&
// Discussion #146

View File

@@ -100,42 +100,46 @@ class _SettingPageState extends State<SettingPage> {
appBar: CustomAppBar(
title: Text(l10n.setting),
actions: [
IconButton(
onPressed: () => context.showRoundDialog(
title: Text(l10n.attention),
child: Text(l10n.sureDelete(l10n.all)),
actions: [
TextButton(
onPressed: () {
_setting.box.deleteAll(_setting.box.keys);
context.pop();
context.showSnackBar(l10n.success);
},
child:
Text(l10n.ok, style: const TextStyle(color: Colors.red)),
),
],
Padding(
padding: const EdgeInsets.only(right: 17),
child: InkWell(
onTap: () => context.showRoundDialog(
title: Text(l10n.attention),
child: Text(l10n.sureDelete(l10n.all)),
actions: [
TextButton(
onPressed: () {
_setting.box.deleteAll(_setting.box.keys);
context.pop();
context.showSnackBar(l10n.success);
},
child: Text(l10n.ok,
style: const TextStyle(color: Colors.red)),
),
],
),
/// Only for debug, this will cause the app to crash
// onDoubleTap: () => context.showRoundDialog(
// title: Text(l10n.attention),
// child: Text(l10n.sureDelete(l10n.all)),
// actions: [
// TextButton(
// onPressed: () {
// Stores.docker.box.deleteFromDisk();
// Stores.server.box.deleteFromDisk();
// Stores.setting.box.deleteFromDisk();
// Stores.history.box.deleteFromDisk();
// Stores.snippet.box.deleteFromDisk();
// Stores.key.box.deleteFromDisk();
// exit(0);
// },
// child: Text(l10n.ok,
// style: const TextStyle(color: Colors.red)),
// ),
// ],
// ),
child: const Icon(Icons.delete),
),
// onDoubleTap: () => context.showRoundDialog(
// title: Text(l10n.attention),
// child: Text(l10n.sureDelete(l10n.all)),
// actions: [
// TextButton(
// onPressed: () {
// Stores.docker.box.deleteFromDisk();
// Stores.server.box.deleteFromDisk();
// Stores.setting.box.deleteFromDisk();
// Stores.history.box.deleteFromDisk();
// Stores.snippet.box.deleteFromDisk();
// Stores.key.box.deleteFromDisk();
// context.pop();
// context.showSnackBar(l10n.success);
// },
// child: Text(l10n.ok, style: const TextStyle(color: Colors.red)),
// ),
// ],
// ),
icon: const Icon(Icons.delete),
),
],
),

View File

@@ -83,7 +83,7 @@ class _SnippetListPageState extends State<SnippetListPage> {
itemBuilder: (context, idx) {
final snippet = filtered.elementAt(idx);
return ReorderableDelayedDragStartListener(
key: ValueKey(snippet.name),
key: ValueKey(idx),
index: idx,
child: _buildSnippetItem(snippet),
);