From 568b97606a52da99296cb6abd509acf85a4cccae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?lollipopkit=F0=9F=8F=B3=EF=B8=8F=E2=80=8D=E2=9A=A7?=
=?UTF-8?q?=EF=B8=8F?= <10864310+lollipopkit@users.noreply.github.com>
Date: Sun, 11 Aug 2024 20:53:25 +0800
Subject: [PATCH] opt.: split single list into multiples on desktop (#524)
---
README.md | 23 +-
README_zh.md | 31 +-
lib/data/res/store.dart | 4 +
lib/data/res/url.dart | 3 +-
lib/main.dart | 8 +-
lib/view/page/backup.dart | 26 +-
lib/view/page/setting/entry.dart | 39 ++-
.../page/setting/platform/platform_pub.dart | 47 ---
lib/view/page/ssh/tab.dart | 46 +--
macos/Flutter/GeneratedPluginRegistrant.swift | 2 +
pubspec.lock | 331 +++++++++++-------
pubspec.yaml | 6 +-
12 files changed, 295 insertions(+), 271 deletions(-)
diff --git a/README.md b/README.md
index b20ad2a1..8c4432ce 100644
--- a/README.md
+++ b/README.md
@@ -2,11 +2,15 @@ English | [简体中文](README_zh.md)
Flutter Server Box
-
+
+
+

+

+
A Flutter project which provide charts to display Linux server status and tools to manage server.
@@ -24,9 +28,6 @@ Android | [GitHub](https://github.com/lollipopkit/flutter_server_box/releases) /
Linux / Windows | [GitHub](https://github.com/lollipopkit/flutter_server_box/releases) / [CDN](https://cdn.lolli.tech/serverbox/?sort=time&order=desc&layout=grid)
**Please only download pkgs from the source that you trust!**
-- `AppStore` & `CDN` packages are built by myself
-- Github releases are built by Github Actions
-- Other sources are built by themselves
## 🔖 Feature
@@ -38,14 +39,14 @@ Linux / Windows | [GitHub](https://github.com/lollipopkit/flutter_server_box/rel
## 🏙️ ScreenShots
diff --git a/README_zh.md b/README_zh.md
index 2155a1f9..3fc9369b 100644
--- a/README_zh.md
+++ b/README_zh.md
@@ -2,11 +2,15 @@
Flutter Server Box
-
+
+
+

+

+
使用 Flutter 开发的 Linux 服务器工具箱,提供服务器状态图表和管理工具。
@@ -23,9 +27,6 @@ Android | [GitHub](https://github.com/lollipopkit/flutter_server_box/releases) /
Linux / Windows | [GitHub](https://github.com/lollipopkit/flutter_server_box/releases) / [CDN](https://cdn.lolli.tech/serverbox/?sort=time&order=desc&layout=grid)
**请不要从不受信任的来源下载!**
-- `AppStore` & `CDN` 的包由我构建
-- Github 的包由 Github Actions 构建
-- 其他来源由其所有者构建
## 🔖 特点
@@ -40,25 +41,21 @@ Linux / Windows | [GitHub](https://github.com/lollipopkit/flutter_server_box/rel
## 🏙️ 截屏
## 🆘 帮助
-
-Telegram [群](https://t.me/lpktg) / [频道](https://t.me/lpktc)
-
-为了可以在不使用 ServerBox app 时获取服务器状态(例如:桌面小部件、推送服务),你需要在你的服务器上安装 [ServerBoxMonitor](https://github.com/lollipopkit/server_box_monitor),详情见 [wiki](https://github.com/lollipopkit/server_box_monitor/wiki/%E4%B8%BB%E9%A1%B5)。
-
-**常见问题** 可以在 [app wiki](https://github.com/lollipopkit/flutter_server_box/wiki/主页) 查看。
+- 为了可以在不使用 ServerBox app 时获取服务器状态(例如:桌面小部件、推送服务),你需要在你的服务器上安装 [ServerBoxMonitor](https://github.com/lollipopkit/server_box_monitor),详情见 [wiki](https://github.com/lollipopkit/server_box_monitor/wiki/%E4%B8%BB%E9%A1%B5)。
+- **常见问题** 可以在 [app wiki](https://github.com/lollipopkit/flutter_server_box/wiki/主页) 查看。
反馈前须知:
1. 反馈问题请附带 log(点击首页右上角),并以 bug 模版提交。
diff --git a/lib/data/res/store.dart b/lib/data/res/store.dart
index 6a331cda..a9eb3209 100644
--- a/lib/data/res/store.dart
+++ b/lib/data/res/store.dart
@@ -23,6 +23,10 @@ abstract final class Stores {
snippet,
];
+ static Future init() async {
+ await Future.wait(all.map((store) => store.init()));
+ }
+
static int? get lastModTime {
int? lastModTime = 0;
for (final store in all) {
diff --git a/lib/data/res/url.dart b/lib/data/res/url.dart
index a188bae7..4cdbbe3b 100644
--- a/lib/data/res/url.dart
+++ b/lib/data/res/url.dart
@@ -1,9 +1,8 @@
abstract final class Urls {
- static const cdnBase = 'https://cdn.lolli.tech/serverbox';
+ static const cdnBase = 'https://cdn.lpkt.cn/serverbox';
static const updateCfg = '$cdnBase/update2.json';
static const myGithub = 'https://github.com/lollipopkit';
static const thisRepo = '$myGithub/flutter_server_box';
static const appHelp = '$thisRepo#-help';
static const appWiki = '$thisRepo/wiki';
- static const analysis = 'https://countly.lolli.tech';
}
diff --git a/lib/main.dart b/lib/main.dart
index 5d9c5114..179e4a5d 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -93,13 +93,7 @@ Future _initData() async {
Hive.registerAdapter(WakeOnLanCfgAdapter()); // 8
await PrefStore.init(); // Call this before accessing any store
-
- await Stores.setting.init();
- await Stores.server.init();
- await Stores.key.init();
- await Stores.snippet.init();
- await Stores.container.init();
- await Stores.history.init();
+ await Stores.init();
Pros.snippet.load();
Pros.key.load();
diff --git a/lib/view/page/backup.dart b/lib/view/page/backup.dart
index 115fab19..a6c46ec4 100644
--- a/lib/view/page/backup.dart
+++ b/lib/view/page/backup.dart
@@ -30,18 +30,22 @@ class BackupPage extends StatelessWidget {
}
Widget _buildBody(BuildContext context) {
- return ListView(
- padding: const EdgeInsets.all(13),
+ return MultiList(
+ widthDivider: 2,
children: [
- _buildTip(),
- CenterGreyTitle(libL10n.sync),
- if (isMacOS || isIOS) _buildIcloud(context),
- _buildWebdav(context),
- _buildFile(context),
- _buildClipboard(context),
- CenterGreyTitle(libL10n.import),
- _buildBulkImportServers(context),
- _buildImportSnippet(context),
+ [
+ CenterGreyTitle(libL10n.sync),
+ _buildTip(),
+ if (isMacOS || isIOS) _buildIcloud(context),
+ _buildWebdav(context),
+ _buildFile(context),
+ _buildClipboard(context),
+ ],
+ [
+ CenterGreyTitle(libL10n.import),
+ _buildBulkImportServers(context),
+ _buildImportSnippet(context),
+ ],
],
);
}
diff --git a/lib/view/page/setting/entry.dart b/lib/view/page/setting/entry.dart
index fede991a..0d4a8344 100644
--- a/lib/view/page/setting/entry.dart
+++ b/lib/view/page/setting/entry.dart
@@ -9,7 +9,6 @@ import 'package:server_box/core/extension/context/locale.dart';
import 'package:server_box/data/res/rebuild.dart';
import 'package:server_box/data/res/store.dart';
import 'package:server_box/data/res/url.dart';
-import 'package:server_box/view/page/setting/platform/platform_pub.dart';
import '../../../core/route.dart';
import '../../../data/model/app/net_view.dart';
@@ -54,27 +53,28 @@ class _SettingPageState extends State {
),
],
),
- body: ListView(
- padding: const EdgeInsets.symmetric(horizontal: 17),
+ body: MultiList(
+ widthDivider: 2.3,
+ thumbVisibility: true,
children: [
- const CenterGreyTitle('App'),
- _buildApp(),
- CenterGreyTitle(l10n.server),
- _buildServer(),
- CenterGreyTitle(l10n.container),
- _buildContainer(),
- const CenterGreyTitle('SSH'),
- _buildSSH(),
- const CenterGreyTitle('SFTP'),
- _buildSFTP(),
- CenterGreyTitle(l10n.editor),
- _buildEditor(),
+ [const CenterGreyTitle('App'), _buildApp()],
+ [CenterGreyTitle(l10n.server), _buildServer()],
+ [
+ const CenterGreyTitle('SSH'),
+ _buildSSH(),
+ const CenterGreyTitle('SFTP'),
+ _buildSFTP()
+ ],
+ [
+ CenterGreyTitle(l10n.container),
+ _buildContainer(),
+ CenterGreyTitle(l10n.editor),
+ _buildEditor(),
+ ],
/// Fullscreen Mode is designed for old mobile phone which can be
/// used as a status screen.
- if (isMobile) CenterGreyTitle(l10n.fullScreen),
- if (isMobile) _buildFullScreen(),
- const SizedBox(height: 37),
+ if (isMobile) [CenterGreyTitle(l10n.fullScreen), _buildFullScreen()],
],
),
);
@@ -948,6 +948,7 @@ class _SettingPageState extends State {
return ExpandTile(
leading: const Icon(MingCute.more_3_fill),
title: Text(l10n.more),
+ initiallyExpanded: isDesktop,
children: [
_buildRememberPwdInMem(),
_buildTextScaler(),
@@ -1010,13 +1011,13 @@ class _SettingPageState extends State {
return ExpandTile(
leading: const Icon(MingCute.more_3_fill),
title: Text(l10n.more),
+ initiallyExpanded: isDesktop,
children: [
_buildBeta(),
if (isMobile) _buildWakeLock(),
_buildCollapseUI(),
_buildCupertinoRoute(),
if (isDesktop) _buildHideTitleBar(),
- if (isDesktop) PlatformPublicSettings.buildSaveWindowSize(),
],
);
}
diff --git a/lib/view/page/setting/platform/platform_pub.dart b/lib/view/page/setting/platform/platform_pub.dart
index 669cb477..b45757c0 100644
--- a/lib/view/page/setting/platform/platform_pub.dart
+++ b/lib/view/page/setting/platform/platform_pub.dart
@@ -1,8 +1,6 @@
import 'package:fl_lib/fl_lib.dart';
import 'package:flutter/material.dart';
-import 'package:server_box/core/extension/context/locale.dart';
import 'package:server_box/data/res/store.dart';
-import 'package:window_manager/window_manager.dart';
abstract final class PlatformPublicSettings {
static Widget buildBioAuth() {
@@ -46,49 +44,4 @@ abstract final class PlatformPublicSettings {
},
);
}
-
- static Widget buildSaveWindowSize() {
- final isBusy = false.vn;
- // Only show [FadeIn] when previous state is busy.
- var lastIsBusy = false;
- final prop = Stores.setting.windowSize;
-
- return ListTile(
- title: Text(l10n.rememberWindowSize),
-
- /// Copied from `fl_build/view/store_switch`
- trailing: ValBuilder(
- listenable: isBusy,
- builder: (busy) {
- return ValBuilder(
- listenable: prop.listenable(),
- builder: (value) {
- if (busy) {
- lastIsBusy = true;
- return UIs.centerSizedLoadingSmall.paddingOnly(right: 17);
- }
-
- final switcher = Switch(
- value: value.isNotEmpty,
- onChanged: (value) async {
- isBusy.value = true;
- final size = await windowManager.getSize();
- isBusy.value = false;
- prop.put(size.toIntStr());
- },
- );
-
- if (lastIsBusy) {
- final ret = FadeIn(child: switcher);
- lastIsBusy = false;
- return ret;
- }
-
- return switcher;
- },
- );
- },
- ),
- );
- }
}
diff --git a/lib/view/page/ssh/tab.dart b/lib/view/page/ssh/tab.dart
index 4054a2cc..3b68bc22 100644
--- a/lib/view/page/ssh/tab.dart
+++ b/lib/view/page/ssh/tab.dart
@@ -221,7 +221,7 @@ final class _TabBar extends StatelessWidget implements PreferredSizeWidget {
scrollDirection: Axis.horizontal,
padding: const EdgeInsets.symmetric(horizontal: 7, vertical: 5),
itemCount: names.length,
- itemBuilder: (_, idx) => _buillItem(idx),
+ itemBuilder: (_, idx) => _buildItem(idx),
separatorBuilder: (_, __) => Padding(
padding: const EdgeInsets.symmetric(vertical: 17),
child: Container(
@@ -234,7 +234,10 @@ final class _TabBar extends StatelessWidget implements PreferredSizeWidget {
);
}
- Widget _buillItem(int idx) {
+ static const kWideWidth = 90.0;
+ static const kNarrowWidth = 60.0;
+
+ Widget _buildItem(int idx) {
final name = names[idx];
final selected = idxVN.value == idx;
final color = selected ? null : Colors.grey;
@@ -255,31 +258,28 @@ final class _TabBar extends StatelessWidget implements PreferredSizeWidget {
textAlign: TextAlign.center,
textWidthBasis: TextWidthBasis.parent,
);
+ final Widget btn;
+ if (selected) {
+ btn = Row(
+ mainAxisAlignment: MainAxisAlignment.spaceAround,
+ children: [
+ Btn.icon(
+ icon: Icon(MingCute.close_circle_fill, color: color, size: 17),
+ onTap: () => onClose(name),
+ padding: null,
+ ),
+ SizedBox(width: kNarrowWidth - 10, child: text),
+ ],
+ );
+ } else {
+ btn = Center(child: text);
+ }
child = AnimatedContainer(
- width: selected ? 90 : 57,
+ width: selected ? kWideWidth : kNarrowWidth,
duration: Durations.medium3,
padding: selected ? const EdgeInsets.symmetric(horizontal: 7) : null,
curve: Curves.fastEaseInToSlowEaseOut,
- child: switch (selected) {
- true => Row(
- children: [
- if (selected)
- FadeIn(
- child: Btn.icon(
- icon: Icon(
- MingCute.close_circle_fill,
- color: color,
- size: 17,
- ),
- onTap: () => onClose(name),
- ),
- ),
- const Spacer(),
- SizedBox(width: 50, child: text),
- ],
- ),
- false => Center(child: text),
- },
+ child: btn,
);
}
diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift
index c6be844b..48dd2b3e 100644
--- a/macos/Flutter/GeneratedPluginRegistrant.swift
+++ b/macos/Flutter/GeneratedPluginRegistrant.swift
@@ -8,6 +8,7 @@ import Foundation
import device_info_plus
import dynamic_color
import icloud_storage
+import local_auth_darwin
import package_info_plus
import path_provider_foundation
import screen_retriever
@@ -21,6 +22,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin"))
DynamicColorPlugin.register(with: registry.registrar(forPlugin: "DynamicColorPlugin"))
IcloudStoragePlugin.register(with: registry.registrar(forPlugin: "IcloudStoragePlugin"))
+ FLALocalAuthPlugin.register(with: registry.registrar(forPlugin: "FLALocalAuthPlugin"))
FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin"))
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
ScreenRetrieverPlugin.register(with: registry.registrar(forPlugin: "ScreenRetrieverPlugin"))
diff --git a/pubspec.lock b/pubspec.lock
index 034e1950..41372799 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -5,18 +5,23 @@ packages:
dependency: transitive
description:
name: _fe_analyzer_shared
- sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7"
+ sha256: f256b0c0ba6c7577c15e2e4e114755640a875e885099367bf6e012b19314c834
url: "https://pub.dev"
source: hosted
- version: "67.0.0"
+ version: "72.0.0"
+ _macros:
+ dependency: transitive
+ description: dart
+ source: sdk
+ version: "0.3.2"
analyzer:
dependency: transitive
description:
name: analyzer
- sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d"
+ sha256: b652861553cd3990d8ed361f7979dc6d7053a9ac8843fa73820ab68ce5410139
url: "https://pub.dev"
source: hosted
- version: "6.4.1"
+ version: "6.7.0"
ansicolor:
dependency: transitive
description:
@@ -29,10 +34,10 @@ packages:
dependency: transitive
description:
name: archive
- sha256: "6bd38d335f0954f5fad9c79e614604fbf03a0e5b975923dd001b6ea965ef5b4b"
+ sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d
url: "https://pub.dev"
source: hosted
- version: "3.6.0"
+ version: "3.6.1"
args:
dependency: transitive
description:
@@ -101,18 +106,18 @@ packages:
dependency: "direct dev"
description:
name: build_runner
- sha256: "1414d6d733a85d8ad2f1dfcb3ea7945759e35a123cb99ccfac75d0758f75edfa"
+ sha256: dd09dd4e2b078992f42aac7f1a622f01882a8492fef08486b27ddde929c19f04
url: "https://pub.dev"
source: hosted
- version: "2.4.10"
+ version: "2.4.12"
build_runner_core:
dependency: transitive
description:
name: build_runner_core
- sha256: "4ae8ffe5ac758da294ecf1802f2aff01558d8b1b00616aa7538ea9a8a5d50799"
+ sha256: f8126682b87a7282a339b871298cc12009cb67109cfa1614d6436fb0289193e0
url: "https://pub.dev"
source: hosted
- version: "7.3.0"
+ version: "7.3.2"
built_collection:
dependency: transitive
description:
@@ -170,6 +175,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.1.1"
+ cloudflare_turnstile:
+ dependency: transitive
+ description:
+ name: cloudflare_turnstile
+ sha256: c24ea5a6e6476c0a787ba695548fcb22f46d1bb9d40b71ccb435dd20097f3d4c
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.2.6"
code_builder:
dependency: transitive
description:
@@ -215,10 +228,10 @@ packages:
dependency: transitive
description:
name: cross_file
- sha256: "55d7b444feb71301ef6b8838dbc1ae02e63dd48c8773f3810ff53bb1e2945b32"
+ sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670"
url: "https://pub.dev"
source: hosted
- version: "0.3.4+1"
+ version: "0.3.4+2"
crypto:
dependency: transitive
description:
@@ -247,8 +260,8 @@ packages:
dependency: "direct main"
description:
path: "."
- ref: dev
- resolved-ref: d62d7e64c99de62a52495f3dedbf6b8983e4ce77
+ ref: no-etm
+ resolved-ref: "88852f3a6304c8f6876b17aaed757111bf8128ae"
url: "https://github.com/lollipopkit/dartssh2"
source: git
version: "2.9.1-pre"
@@ -264,26 +277,34 @@ packages:
dependency: "direct main"
description:
name: device_info_plus
- sha256: eead12d1a1ed83d8283ab4c2f3fca23ac4082f29f25f29dff0f758f57d06ec91
+ sha256: "93429694c9253d2871b3af80cf11b3cbb5c65660d402ed7bf69854ce4a089f82"
url: "https://pub.dev"
source: hosted
- version: "10.1.0"
+ version: "10.1.1"
device_info_plus_platform_interface:
dependency: transitive
description:
name: device_info_plus_platform_interface
- sha256: d3b01d5868b50ae571cd1dc6e502fc94d956b665756180f7b16ead09e836fd64
+ sha256: "282d3cf731045a2feb66abfe61bbc40870ae50a3ed10a4d3d217556c35c8c2ba"
url: "https://pub.dev"
source: hosted
- version: "7.0.0"
+ version: "7.0.1"
dio:
dependency: "direct main"
description:
name: dio
- sha256: "11e40df547d418cc0c4900a9318b26304e665da6fa4755399a9ff9efd09034b5"
+ sha256: e17f6b3097b8c51b72c74c9f071a605c47bcc8893839bd66732457a5ebe73714
url: "https://pub.dev"
source: hosted
- version: "5.4.3+1"
+ version: "5.5.0+1"
+ dio_web_adapter:
+ dependency: transitive
+ description:
+ name: dio_web_adapter
+ sha256: "36c5b2d79eb17cdae41e974b7a8284fec631651d2a6f39a8a2ff22327e90aeac"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.0.1"
dynamic_color:
dependency: "direct main"
description:
@@ -352,10 +373,10 @@ packages:
dependency: transitive
description:
name: file_picker
- sha256: "29c90806ac5f5fb896547720b73b17ee9aed9bba540dc5d91fe29f8c5745b10a"
+ sha256: "825aec673606875c33cd8d3c4083f1a3c3999015a84178b317b7ef396b7384f3"
url: "https://pub.dev"
source: hosted
- version: "8.0.3"
+ version: "8.0.7"
fixnum:
dependency: transitive
description:
@@ -368,8 +389,8 @@ packages:
dependency: "direct dev"
description:
path: "."
- ref: "v1.0.40"
- resolved-ref: c4ed4c74151d96f2b52f9d6c1366b14a926a43c9
+ ref: "v1.0.41"
+ resolved-ref: "6f1f4e8c9fecb3a43725e19e6747d4e2a727ea89"
url: "https://github.com/lppcg/fl_build.git"
source: git
version: "1.0.0"
@@ -385,8 +406,8 @@ packages:
dependency: "direct main"
description:
path: "."
- ref: "v1.0.118"
- resolved-ref: "3c55c8b4b7b4cf503a8013087b5480be3669ff63"
+ ref: "v1.0.129"
+ resolved-ref: e971000e0cffa49637564e35f477ed782ca3dd10
url: "https://github.com/lppcg/fl_lib"
source: git
version: "0.0.1"
@@ -399,42 +420,42 @@ packages:
dependency: "direct main"
description:
name: flutter_adaptive_scaffold
- sha256: "9a1d5e9f728815e27b7b612883db19107ba8a35a46a97c757ea00896cb027451"
+ sha256: a464b74540401cade07af0ae84d19f210534cac67651a150fb413507040b74f6
url: "https://pub.dev"
source: hosted
- version: "0.1.10+2"
+ version: "0.1.12"
flutter_background_service:
dependency: "direct main"
description:
name: flutter_background_service
- sha256: "94d9a143852729140e17254a53769383b03738cd92b6e588a8762003e6cd9dd9"
+ sha256: "8807ed792227be05329478870b92f2df62c7af96f49763f6d62ad39d2eac6ee6"
url: "https://pub.dev"
source: hosted
- version: "5.0.5"
+ version: "5.0.7"
flutter_background_service_android:
dependency: transitive
description:
name: flutter_background_service_android
- sha256: "30863ebafd8214b8e76d5e5c9f27887dc5cc303fcf3e89f71534f621fc486782"
+ sha256: fe06c4bd719b8ce8512d5724a229526155c1f54f734524b8e43f8212e98384a8
url: "https://pub.dev"
source: hosted
- version: "6.2.2"
+ version: "6.2.4"
flutter_background_service_ios:
dependency: transitive
description:
name: flutter_background_service_ios
- sha256: ab73657535876e16abc89e40f924df3e92ad3dee83f64d187081417e824709ed
+ sha256: "45c8aca1e8850e5c45822152b06d5806aba9470517dcd2c291fce8ef99a44d60"
url: "https://pub.dev"
source: hosted
- version: "5.0.0"
+ version: "5.0.2"
flutter_background_service_platform_interface:
dependency: transitive
description:
name: flutter_background_service_platform_interface
- sha256: cd5720ff5b051d551a4734fae16683aace779bd0425e8d3f15d84a0cdcc2d8d9
+ sha256: "91dd3391c213e37094fbc3fb7f34319b99ea9df76036a5c054d6371be843b0ae"
url: "https://pub.dev"
source: hosted
- version: "5.0.0"
+ version: "5.1.1"
flutter_displaymode:
dependency: "direct main"
description:
@@ -468,10 +489,10 @@ packages:
dependency: transitive
description:
name: flutter_markdown
- sha256: "9921f9deda326f8a885e202b1e35237eadfc1345239a0f6f0f1ff287e047547f"
+ sha256: a23c41ee57573e62fc2190a1f36a0480c4d90bde3a8a8d7126e5d5992fb53fb7
url: "https://pub.dev"
source: hosted
- version: "0.7.1"
+ version: "0.7.3+1"
flutter_markdown_latex:
dependency: transitive
description:
@@ -492,18 +513,18 @@ packages:
dependency: "direct dev"
description:
name: flutter_native_splash
- sha256: edf39bcf4d74aca1eb2c1e43c3e445fd9f494013df7f0da752fefe72020eedc0
+ sha256: aa06fec78de2190f3db4319dd60fdc8d12b2626e93ef9828633928c2dcaea840
url: "https://pub.dev"
source: hosted
- version: "2.4.0"
+ version: "2.4.1"
flutter_plugin_android_lifecycle:
dependency: transitive
description:
name: flutter_plugin_android_lifecycle
- sha256: "8cf40eebf5dec866a6d1956ad7b4f7016e6c0cc69847ab946833b7d43743809f"
+ sha256: "9d98bd47ef9d34e803d438f17fd32b116d31009f534a6fa5ce3a1167f189a6de"
url: "https://pub.dev"
source: hosted
- version: "2.0.19"
+ version: "2.0.21"
flutter_svg:
dependency: transitive
description:
@@ -542,10 +563,10 @@ packages:
dependency: transitive
description:
name: graphs
- sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19
+ sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0"
url: "https://pub.dev"
source: hosted
- version: "2.3.1"
+ version: "2.3.2"
highlight:
dependency: "direct main"
description:
@@ -590,10 +611,10 @@ packages:
dependency: transitive
description:
name: http
- sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938"
+ sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010
url: "https://pub.dev"
source: hosted
- version: "1.2.1"
+ version: "1.2.2"
http_client_helper:
dependency: transitive
description:
@@ -662,10 +683,10 @@ packages:
dependency: transitive
description:
name: js
- sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
+ sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf
url: "https://pub.dev"
source: hosted
- version: "0.6.7"
+ version: "0.7.1"
json_annotation:
dependency: transitive
description:
@@ -678,18 +699,18 @@ packages:
dependency: transitive
description:
name: leak_tracker
- sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a"
+ sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
url: "https://pub.dev"
source: hosted
- version: "10.0.4"
+ version: "10.0.5"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
- sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8"
+ sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
url: "https://pub.dev"
source: hosted
- version: "3.0.3"
+ version: "3.0.5"
leak_tracker_testing:
dependency: transitive
description:
@@ -718,26 +739,26 @@ packages:
dependency: transitive
description:
name: local_auth
- sha256: "280421b416b32de31405b0a25c3bd42dfcef2538dfbb20c03019e02a5ed55ed0"
+ sha256: "434d854cf478f17f12ab29a76a02b3067f86a63a6d6c4eb8fbfdcfe4879c1b7b"
url: "https://pub.dev"
source: hosted
- version: "2.2.0"
+ version: "2.3.0"
local_auth_android:
dependency: transitive
description:
name: local_auth_android
- sha256: e0e5b1ea247c5a0951c13a7ee13dc1beae69750e6a2e1910d1ed6a3cd4d56943
+ sha256: e99c44ca0bce08f26f25e2a2e07d3b443d69986e1c3acf67c1449f7d847e3625
url: "https://pub.dev"
source: hosted
- version: "1.0.38"
+ version: "1.0.43"
local_auth_darwin:
dependency: transitive
description:
name: local_auth_darwin
- sha256: e424ebf90d5233452be146d4a7da4bcd7a70278b67791592f3fde1bda8eef9e2
+ sha256: "7ba5738c874ca2b910d72385d00d2bebad9d4e807612936cf5e32bc01a048c71"
url: "https://pub.dev"
source: hosted
- version: "1.3.1"
+ version: "1.4.0"
local_auth_platform_interface:
dependency: transitive
description:
@@ -750,10 +771,10 @@ packages:
dependency: transitive
description:
name: local_auth_windows
- sha256: "505ba3367ca781efb1c50d3132e44a2446bccc4163427bc203b9b4d8994d97ea"
+ sha256: bc4e66a29b0fdf751aafbec923b5bed7ad6ed3614875d8151afe2578520b2ab5
url: "https://pub.dev"
source: hosted
- version: "1.0.10"
+ version: "1.0.11"
locale_names:
dependency: transitive
description:
@@ -770,6 +791,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.2.0"
+ macros:
+ dependency: transitive
+ description:
+ name: macros
+ sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.1.2-main.4"
markdown:
dependency: transitive
description:
@@ -790,18 +819,18 @@ packages:
dependency: transitive
description:
name: material_color_utilities
- sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
+ sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
url: "https://pub.dev"
source: hosted
- version: "0.8.0"
+ version: "0.11.1"
meta:
dependency: transitive
description:
name: meta
- sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
+ sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
url: "https://pub.dev"
source: hosted
- version: "1.12.0"
+ version: "1.15.0"
mime:
dependency: transitive
description:
@@ -830,18 +859,18 @@ packages:
dependency: transitive
description:
name: package_info_plus
- sha256: b93d8b4d624b4ea19b0a5a208b2d6eff06004bc3ce74c06040b120eeadd00ce0
+ sha256: "4de6c36df77ffbcef0a5aefe04669d33f2d18397fea228277b852a2d4e58e860"
url: "https://pub.dev"
source: hosted
- version: "8.0.0"
+ version: "8.0.1"
package_info_plus_platform_interface:
dependency: transitive
description:
name: package_info_plus_platform_interface
- sha256: f49918f3433a3146047372f9d4f1f847511f2acd5cd030e1f44fe5a50036b70e
+ sha256: ac1f4a4847f1ade8e6a87d1f39f5d7c67490738642e2542f559ec38c37489a66
url: "https://pub.dev"
source: hosted
- version: "3.0.0"
+ version: "3.0.1"
path:
dependency: transitive
description:
@@ -862,18 +891,18 @@ packages:
dependency: transitive
description:
name: path_provider
- sha256: c9e7d3a4cd1410877472158bee69963a4579f78b68c65a2b7d40d1a7a88bb161
+ sha256: fec0d61223fba3154d87759e3cc27fe2c8dc498f6386c6d6fc80d1afdd1bf378
url: "https://pub.dev"
source: hosted
- version: "2.1.3"
+ version: "2.1.4"
path_provider_android:
dependency: transitive
description:
name: path_provider_android
- sha256: a248d8146ee5983446bf03ed5ea8f6533129a12b11f12057ad1b4a67a2b3b41d
+ sha256: "490539678396d4c3c0b06efdaab75ae60675c3e0c66f72bc04c2e2c1e0e2abeb"
url: "https://pub.dev"
source: hosted
- version: "2.2.4"
+ version: "2.2.9"
path_provider_foundation:
dependency: transitive
description:
@@ -902,10 +931,10 @@ packages:
dependency: transitive
description:
name: path_provider_windows
- sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170"
+ sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7
url: "https://pub.dev"
source: hosted
- version: "2.2.1"
+ version: "2.3.0"
permission_handler:
dependency: transitive
description:
@@ -918,34 +947,34 @@ packages:
dependency: transitive
description:
name: permission_handler_android
- sha256: "8bb852cd759488893805c3161d0b2b5db55db52f773dbb014420b304055ba2c5"
+ sha256: eaf2a1ec4472775451e88ca6a7b86559ef2f1d1ed903942ed135e38ea0097dca
url: "https://pub.dev"
source: hosted
- version: "12.0.6"
+ version: "12.0.8"
permission_handler_apple:
dependency: transitive
description:
name: permission_handler_apple
- sha256: e9ad66020b89ff1b63908f247c2c6f931c6e62699b756ef8b3c4569350cd8662
+ sha256: e6f6d73b12438ef13e648c4ae56bd106ec60d17e90a59c4545db6781229082a0
url: "https://pub.dev"
source: hosted
- version: "9.4.4"
+ version: "9.4.5"
permission_handler_html:
dependency: transitive
description:
name: permission_handler_html
- sha256: "54bf176b90f6eddd4ece307e2c06cf977fb3973719c35a93b85cc7093eb6070d"
+ sha256: "6cac773d389e045a8d4f85418d07ad58ef9e42a56e063629ce14c4c26344de24"
url: "https://pub.dev"
source: hosted
- version: "0.1.1"
+ version: "0.1.2"
permission_handler_platform_interface:
dependency: transitive
description:
name: permission_handler_platform_interface
- sha256: "48d4fcf201a1dad93ee869ab0d4101d084f49136ec82a8a06ed9cfeacab9fd20"
+ sha256: fe0ffe274d665be8e34f9c59705441a7d248edebbe5d9e3ec2665f88b79358ea
url: "https://pub.dev"
source: hosted
- version: "4.2.1"
+ version: "4.2.2"
permission_handler_windows:
dependency: transitive
description:
@@ -966,10 +995,10 @@ packages:
dependency: transitive
description:
name: pinenacl
- sha256: "3a5503637587d635647c93ea9a8fecf48a420cc7deebe6f1fc85c2a5637ab327"
+ sha256: "57e907beaacbc3c024a098910b6240758e899674de07d6949a67b52fd984cbdf"
url: "https://pub.dev"
source: hosted
- version: "0.5.1"
+ version: "0.6.0"
plain_notification_token:
dependency: "direct main"
description:
@@ -983,10 +1012,10 @@ packages:
dependency: transitive
description:
name: platform
- sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec"
+ sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65"
url: "https://pub.dev"
source: hosted
- version: "3.1.4"
+ version: "3.1.5"
plugin_platform_interface:
dependency: transitive
description:
@@ -1031,10 +1060,10 @@ packages:
dependency: transitive
description:
name: pubspec_parse
- sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367
+ sha256: c799b721d79eb6ee6fa56f00c04b472dcd44a30d258fac2174a6ec57302678f8
url: "https://pub.dev"
source: hosted
- version: "1.2.3"
+ version: "1.3.0"
quiver:
dependency: transitive
description:
@@ -1071,58 +1100,58 @@ packages:
dependency: "direct main"
description:
name: shared_preferences
- sha256: d3bbe5553a986e83980916ded2f0b435ef2e1893dfaa29d5a7a790d0eca12180
+ sha256: c272f9cabca5a81adc9b0894381e9c1def363e980f960fa903c604c471b22f68
url: "https://pub.dev"
source: hosted
- version: "2.2.3"
+ version: "2.3.1"
shared_preferences_android:
dependency: transitive
description:
name: shared_preferences_android
- sha256: "1ee8bf911094a1b592de7ab29add6f826a7331fb854273d55918693d5364a1f2"
+ sha256: "041be4d9d2dc6079cf342bc8b761b03787e3b71192d658220a56cac9c04a0294"
url: "https://pub.dev"
source: hosted
- version: "2.2.2"
+ version: "2.3.0"
shared_preferences_foundation:
dependency: transitive
description:
name: shared_preferences_foundation
- sha256: "0a8a893bf4fd1152f93fec03a415d11c27c74454d96e2318a7ac38dd18683ab7"
+ sha256: "671e7a931f55a08aa45be2a13fe7247f2a41237897df434b30d2012388191833"
url: "https://pub.dev"
source: hosted
- version: "2.4.0"
+ version: "2.5.0"
shared_preferences_linux:
dependency: transitive
description:
name: shared_preferences_linux
- sha256: "9f2cbcf46d4270ea8be39fa156d86379077c8a5228d9dfdb1164ae0bb93f1faa"
+ sha256: "2ba0510d3017f91655b7543e9ee46d48619de2a2af38e5c790423f7007c7ccc1"
url: "https://pub.dev"
source: hosted
- version: "2.3.2"
+ version: "2.4.0"
shared_preferences_platform_interface:
dependency: transitive
description:
name: shared_preferences_platform_interface
- sha256: "22e2ecac9419b4246d7c22bfbbda589e3acf5c0351137d87dd2939d984d37c3b"
+ sha256: "57cbf196c486bc2cf1f02b85784932c6094376284b3ad5779d1b1c6c6a816b80"
url: "https://pub.dev"
source: hosted
- version: "2.3.2"
+ version: "2.4.1"
shared_preferences_web:
dependency: transitive
description:
name: shared_preferences_web
- sha256: "9aee1089b36bd2aafe06582b7d7817fd317ef05fc30e6ba14bff247d0933042a"
+ sha256: "59dc807b94d29d52ddbb1b3c0d3b9d0a67fc535a64e62a5542c8db0513fcb6c2"
url: "https://pub.dev"
source: hosted
- version: "2.3.0"
+ version: "2.4.1"
shared_preferences_windows:
dependency: transitive
description:
name: shared_preferences_windows
- sha256: "841ad54f3c8381c480d0c9b508b89a34036f512482c407e6df7a9c4aa2ef8f59"
+ sha256: "398084b47b7f92110683cac45c6dc4aae853db47e470e5ddcd52cab7f7196ab2"
url: "https://pub.dev"
source: hosted
- version: "2.3.2"
+ version: "2.4.0"
shelf:
dependency: transitive
description:
@@ -1228,10 +1257,10 @@ packages:
dependency: transitive
description:
name: test_api
- sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f"
+ sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
url: "https://pub.dev"
source: hosted
- version: "0.7.0"
+ version: "0.7.2"
timing:
dependency: transitive
description:
@@ -1264,38 +1293,46 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.2.2"
+ unorm_dart:
+ dependency: transitive
+ description:
+ name: unorm_dart
+ sha256: "23d8bf65605401a6a32cff99435fed66ef3dab3ddcad3454059165df46496a3b"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.3.0"
url_launcher:
dependency: transitive
description:
name: url_launcher
- sha256: "6ce1e04375be4eed30548f10a315826fd933c1e493206eab82eed01f438c8d2e"
+ sha256: "21b704ce5fa560ea9f3b525b43601c678728ba46725bab9b01187b4831377ed3"
url: "https://pub.dev"
source: hosted
- version: "6.2.6"
+ version: "6.3.0"
url_launcher_android:
dependency: transitive
description:
name: url_launcher_android
- sha256: "17cd5e205ea615e2c6ea7a77323a11712dffa0720a8a90540db57a01347f9ad9"
+ sha256: "94d8ad05f44c6d4e2ffe5567ab4d741b82d62e3c8e288cc1fcea45965edf47c9"
url: "https://pub.dev"
source: hosted
- version: "6.3.2"
+ version: "6.3.8"
url_launcher_ios:
dependency: transitive
description:
name: url_launcher_ios
- sha256: "7068716403343f6ba4969b4173cbf3b84fc768042124bc2c011e5d782b24fe89"
+ sha256: e43b677296fadce447e987a2f519dcf5f6d1e527dc35d01ffab4fff5b8a7063e
url: "https://pub.dev"
source: hosted
- version: "6.3.0"
+ version: "6.3.1"
url_launcher_linux:
dependency: transitive
description:
name: url_launcher_linux
- sha256: ab360eb661f8879369acac07b6bb3ff09d9471155357da8443fd5d3cf7363811
+ sha256: e2b9622b4007f97f504cd64c0128309dfb978ae66adbe944125ed9e1750f06af
url: "https://pub.dev"
source: hosted
- version: "3.1.1"
+ version: "3.2.0"
url_launcher_macos:
dependency: transitive
description:
@@ -1316,26 +1353,26 @@ packages:
dependency: transitive
description:
name: url_launcher_web
- sha256: "8d9e750d8c9338601e709cd0885f95825086bd8b642547f26bda435aade95d8a"
+ sha256: "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e"
url: "https://pub.dev"
source: hosted
- version: "2.3.1"
+ version: "2.3.3"
url_launcher_windows:
dependency: transitive
description:
name: url_launcher_windows
- sha256: ecf9725510600aa2bb6d7ddabe16357691b6d2805f66216a97d1b881e21beff7
+ sha256: "49c10f879746271804767cb45551ec5592cdab00ee105c06dddde1a98f73b185"
url: "https://pub.dev"
source: hosted
- version: "3.1.1"
+ version: "3.1.2"
uuid:
dependency: transitive
description:
name: uuid
- sha256: "814e9e88f21a176ae1359149021870e87f7cddaf633ab678a5d2b0bff7fd1ba8"
+ sha256: "83d37c7ad7aaf9aa8e275490669535c8080377cfa7a7004c24dfac53afffaa90"
url: "https://pub.dev"
source: hosted
- version: "4.4.0"
+ version: "4.4.2"
vector_graphics:
dependency: transitive
description:
@@ -1372,10 +1409,10 @@ packages:
dependency: transitive
description:
name: vm_service
- sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec"
+ sha256: f652077d0bdf60abe4c1f6377448e8655008eef28f128bc023f7b5e8dfeb48fc
url: "https://pub.dev"
source: hosted
- version: "14.2.1"
+ version: "14.2.4"
wake_on_lan:
dependency: "direct main"
description:
@@ -1388,10 +1425,10 @@ packages:
dependency: "direct main"
description:
name: wakelock_plus
- sha256: "14758533319a462ffb5aa3b7ddb198e59b29ac3b02da14173a1715d65d4e6e68"
+ sha256: "4fa83a128b4127619e385f686b4f080a5d2de46cff8e8c94eccac5fcf76550e5"
url: "https://pub.dev"
source: hosted
- version: "1.2.5"
+ version: "1.2.7"
wakelock_plus_platform_interface:
dependency: transitive
description:
@@ -1429,18 +1466,18 @@ packages:
dependency: transitive
description:
name: web_socket
- sha256: "217f49b5213796cb508d6a942a5dc604ce1cb6a0a6b3d8cb3f0c314f0ecea712"
+ sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83"
url: "https://pub.dev"
source: hosted
- version: "0.1.4"
+ version: "0.1.6"
web_socket_channel:
dependency: transitive
description:
name: web_socket_channel
- sha256: a2d56211ee4d35d9b344d9d4ce60f362e4f5d1aafb988302906bd732bc731276
+ sha256: "9f187088ed104edd8662ca07af4b124465893caf063ba29758f97af57e61da8f"
url: "https://pub.dev"
source: hosted
- version: "3.0.0"
+ version: "3.0.1"
webdav_client:
dependency: "direct main"
description:
@@ -1450,22 +1487,54 @@ packages:
url: "https://github.com/lollipopkit/webdav_client"
source: git
version: "1.2.2"
+ webview_flutter:
+ dependency: transitive
+ description:
+ name: webview_flutter
+ sha256: "6869c8786d179f929144b4a1f86e09ac0eddfe475984951ea6c634774c16b522"
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.8.0"
+ webview_flutter_android:
+ dependency: transitive
+ description:
+ name: webview_flutter_android
+ sha256: c66651fba15f9d7ddd31daec42da8d6bce46c85610a7127e3ebcb39a4395c3c9
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.16.6"
+ webview_flutter_platform_interface:
+ dependency: transitive
+ description:
+ name: webview_flutter_platform_interface
+ sha256: d937581d6e558908d7ae3dc1989c4f87b786891ab47bb9df7de548a151779d8d
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.10.0"
+ webview_flutter_wkwebview:
+ dependency: transitive
+ description:
+ name: webview_flutter_wkwebview
+ sha256: "9c62cc46fa4f2d41e10ab81014c1de470a6c6f26051a2de32111b2ee55287feb"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.14.0"
win32:
dependency: transitive
description:
name: win32
- sha256: a79dbe579cb51ecd6d30b17e0cae4e0ea15e2c0e66f69ad4198f22a6789e94f4
+ sha256: "015002c060f1ae9f41a818f2d5640389cc05283e368be19dc8d77cecb43c40c9"
url: "https://pub.dev"
source: hosted
- version: "5.5.1"
+ version: "5.5.3"
win32_registry:
dependency: transitive
description:
name: win32_registry
- sha256: "10589e0d7f4e053f2c61023a31c9ce01146656a70b7b7f0828c0b46d7da2a9bb"
+ sha256: "723b7f851e5724c55409bb3d5a32b203b3afe8587eaf5dafb93a5fed8ecda0d6"
url: "https://pub.dev"
source: hosted
- version: "1.1.3"
+ version: "1.1.4"
window_manager:
dependency: transitive
description:
@@ -1516,5 +1585,5 @@ packages:
source: hosted
version: "0.0.6"
sdks:
- dart: ">=3.4.0 <4.0.0"
+ dart: ">=3.5.0-259.0.dev <4.0.0"
flutter: ">=3.22.0"
diff --git a/pubspec.yaml b/pubspec.yaml
index 35eddc23..692ac49f 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -33,7 +33,7 @@ dependencies:
dartssh2:
git:
url: https://github.com/lollipopkit/dartssh2
- ref: dev
+ ref: no-etm
circle_chart:
git:
url: https://github.com/lollipopkit/circle_chart
@@ -61,7 +61,7 @@ dependencies:
fl_lib:
git:
url: https://github.com/lppcg/fl_lib
- ref: v1.0.118
+ ref: v1.0.129
dependency_overrides:
# dartssh2:
@@ -83,7 +83,7 @@ dev_dependencies:
fl_build:
git:
url: https://github.com/lppcg/fl_build.git
- ref: v1.0.40
+ ref: v1.0.41
flutter:
generate: true