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

-

+

donate lang license -

+
+
+ donate + discord +

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

-

+

donate 语言 license -

+
+
+ donate + discord +

使用 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