diff --git a/lib/data/res/build_data.dart b/lib/data/res/build_data.dart index 3c56dbf3..d99829e3 100644 --- a/lib/data/res/build_data.dart +++ b/lib/data/res/build_data.dart @@ -2,9 +2,9 @@ class BuildData { static const String name = "ServerBox"; - static const int build = 202; + static const int build = 203; static const String engine = "Flutter 3.7.0 • channel stable • https://github.com/flutter/flutter.git\nFramework • revision b06b8b2710 (8 days ago) • 2023-01-23 16:55:55 -0800\nEngine • revision b24591ed32\nTools • Dart 2.19.0 • DevTools 2.20.1\n"; - static const String buildAt = "2023-02-01 10:55:03.386055"; - static const int modifications = 5; + static const String buildAt = "2023-02-01 12:58:12.944187"; + static const int modifications = 13; } diff --git a/lib/data/res/color.dart b/lib/data/res/color.dart index a2263c0e..5efd6f56 100644 --- a/lib/data/res/color.dart +++ b/lib/data/res/color.dart @@ -1,24 +1,6 @@ import 'package:flutter/material.dart'; import '../../core/utils/ui.dart'; -import '../../locator.dart'; -import '../store/setting.dart'; - -final _primaryColor = locator().primaryColor.listenable(); - -class PrimaryColor extends StatelessWidget { - final Widget Function(BuildContext context, Color primaryColor) builder; - - const PrimaryColor({Key? key, required this.builder}) : super(key: key); - - @override - Widget build(BuildContext context) { - return ValueListenableBuilder( - builder: (context, c, child) => builder(context, Color(c)), - valueListenable: _primaryColor, - ); - } -} class DynamicColor { /// 白天模式显示的颜色 diff --git a/lib/view/page/backup.dart b/lib/view/page/backup.dart index 5a545db0..9b2b7510 100644 --- a/lib/view/page/backup.dart +++ b/lib/view/page/backup.dart @@ -8,7 +8,6 @@ import 'package:flutter/services.dart'; import '../../core/extension/colorx.dart'; import '../../core/utils/ui.dart'; import '../../data/model/app/backup.dart'; -import '../../data/res/color.dart'; import '../../data/res/font_style.dart'; import '../../data/store/private_key.dart'; import '../../data/store/server.dart'; @@ -16,6 +15,7 @@ import '../../data/store/setting.dart'; import '../../data/store/snippet.dart'; import '../../generated/l10n.dart'; import '../../locator.dart'; +import '../widget/primary_color.dart'; const backupFormatVersion = 1; diff --git a/lib/view/page/convert.dart b/lib/view/page/convert.dart index 6e4994f4..46784e4d 100644 --- a/lib/view/page/convert.dart +++ b/lib/view/page/convert.dart @@ -4,9 +4,9 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import '../../core/utils/ui.dart'; -import '../../data/res/color.dart'; import '../../generated/l10n.dart'; import '../widget/input_field.dart'; +import '../widget/primary_color.dart'; import '../widget/round_rect_card.dart'; class ConvertPage extends StatefulWidget { diff --git a/lib/view/page/ping.dart b/lib/view/page/ping.dart index 9ec8f543..d349ff50 100644 --- a/lib/view/page/ping.dart +++ b/lib/view/page/ping.dart @@ -4,11 +4,11 @@ import '../../core/extension/uint8list.dart'; import '../../core/utils/ui.dart'; import '../../data/model/server/ping_result.dart'; import '../../data/provider/server.dart'; -import '../../data/res/color.dart'; import '../../data/res/font_style.dart'; import '../../generated/l10n.dart'; import '../../locator.dart'; import '../widget/input_field.dart'; +import '../widget/primary_color.dart'; import '../widget/round_rect_card.dart'; final doaminReg = diff --git a/lib/view/page/server/detail.dart b/lib/view/page/server/detail.dart index 94a71c17..41a34fb8 100644 --- a/lib/view/page/server/detail.dart +++ b/lib/view/page/server/detail.dart @@ -1,20 +1,21 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -import 'package:toolbox/core/extension/numx.dart'; -import 'package:toolbox/data/model/server/dist.dart'; -import 'package:toolbox/data/model/server/net_speed.dart'; -import 'package:toolbox/data/model/server/server.dart'; -import 'package:toolbox/data/model/server/server_status.dart'; -import 'package:toolbox/data/provider/server.dart'; -import 'package:toolbox/data/res/color.dart'; -import 'package:toolbox/data/res/font_style.dart'; -import 'package:toolbox/data/res/padding.dart'; -import 'package:toolbox/data/store/setting.dart'; -import 'package:toolbox/generated/l10n.dart'; -import 'package:toolbox/locator.dart'; -import 'package:toolbox/view/widget/round_rect_card.dart'; +import '../../../core/extension/numx.dart'; +import '../../../data/model/server/dist.dart'; +import '../../../data/model/server/net_speed.dart'; +import '../../../data/model/server/server.dart'; +import '../../../data/model/server/server_status.dart'; +import '../../../data/provider/server.dart'; +import '../../../data/res/color.dart'; +import '../../../data/res/font_style.dart'; +import '../../../data/res/padding.dart'; import '../../../data/res/sizedbox.dart'; +import '../../../data/store/setting.dart'; +import '../../../generated/l10n.dart'; +import '../../../locator.dart'; +import '../../widget/primary_color.dart'; +import '../../widget/round_rect_card.dart'; class ServerDetailPage extends StatefulWidget { const ServerDetailPage(this.id, {Key? key}) : super(key: key); diff --git a/lib/view/page/server/edit.dart b/lib/view/page/server/edit.dart index caaffff9..9e7dae73 100644 --- a/lib/view/page/server/edit.dart +++ b/lib/view/page/server/edit.dart @@ -8,12 +8,12 @@ import '../../../data/model/server/private_key_info.dart'; import '../../../data/model/server/server_private_info.dart'; import '../../../data/provider/private_key.dart'; import '../../../data/provider/server.dart'; -import '../../../data/res/color.dart'; import '../../../data/res/font_style.dart'; import '../../../data/store/private_key.dart'; import '../../../generated/l10n.dart'; import '../../../locator.dart'; import '../../widget/input_decoration.dart'; +import '../../widget/primary_color.dart'; import '../private_key/edit.dart'; class ServerEditPage extends StatefulWidget { diff --git a/lib/view/page/server/tab.dart b/lib/view/page/server/tab.dart index 3dafe0ea..eb2c5204 100644 --- a/lib/view/page/server/tab.dart +++ b/lib/view/page/server/tab.dart @@ -11,7 +11,6 @@ import '../../../data/model/server/server_private_info.dart'; import '../../../data/model/server/server_status.dart'; import '../../../data/provider/server.dart'; import '../../../data/provider/snippet.dart'; -import '../../../data/res/color.dart'; import '../../../data/res/font_style.dart'; import '../../../data/res/menu.dart'; import '../../../data/res/url.dart'; @@ -20,6 +19,7 @@ import '../../../generated/l10n.dart'; import '../../../locator.dart'; import '../../widget/dropdown_menu.dart'; import '../../widget/picker.dart'; +import '../../widget/primary_color.dart'; import '../../widget/round_rect_card.dart'; import '../../widget/url_text.dart'; import '../docker.dart'; diff --git a/lib/view/page/setting.dart b/lib/view/page/setting.dart index 0a4436de..75dd8ad3 100644 --- a/lib/view/page/setting.dart +++ b/lib/view/page/setting.dart @@ -7,12 +7,12 @@ import '../../core/utils/ui.dart'; import '../../data/provider/app.dart'; import '../../data/provider/server.dart'; import '../../data/res/build_data.dart'; -import '../../data/res/color.dart'; import '../../data/res/font_style.dart'; import '../../data/res/tab.dart'; import '../../data/store/setting.dart'; import '../../generated/l10n.dart'; import '../../locator.dart'; +import '../widget/primary_color.dart'; import '../widget/round_rect_card.dart'; class SettingPage extends StatefulWidget { diff --git a/lib/view/page/ssh.dart b/lib/view/page/ssh.dart index 8b71b2c6..2e5abb59 100644 --- a/lib/view/page/ssh.dart +++ b/lib/view/page/ssh.dart @@ -12,10 +12,10 @@ import '../../core/utils/server.dart'; import '../../data/model/server/server_private_info.dart'; import '../../data/model/ssh/virtual_key.dart'; import '../../data/provider/virtual_keyboard.dart'; -import '../../data/res/color.dart'; import '../../data/res/terminal_theme.dart'; import '../../data/res/virtual_key.dart'; import '../../locator.dart'; +import '../widget/primary_color.dart'; class SSHPage extends StatefulWidget { final ServerPrivateInfo spi; diff --git a/lib/view/widget/dropdown_menu.dart b/lib/view/widget/dropdown_menu.dart index b573072f..839f6131 100644 --- a/lib/view/widget/dropdown_menu.dart +++ b/lib/view/widget/dropdown_menu.dart @@ -1,7 +1,8 @@ import 'package:flutter/material.dart'; -import 'package:toolbox/data/res/color.dart'; -import 'package:toolbox/data/res/menu.dart'; -import 'package:toolbox/generated/l10n.dart'; + +import '../../data/res/menu.dart'; +import '../../generated/l10n.dart'; +import 'primary_color.dart'; class DropdownBtnItem { final String text; diff --git a/lib/view/widget/input_decoration.dart b/lib/view/widget/input_decoration.dart index 5ddd625b..b7954ae0 100644 --- a/lib/view/widget/input_decoration.dart +++ b/lib/view/widget/input_decoration.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; -import 'package:toolbox/data/res/color.dart'; + +import 'primary_color.dart'; InputDecoration buildDecoration(String label, {TextStyle? textStyle, IconData? icon, String? hint}) { diff --git a/lib/view/widget/primary_color.dart b/lib/view/widget/primary_color.dart new file mode 100644 index 00000000..45052e0c --- /dev/null +++ b/lib/view/widget/primary_color.dart @@ -0,0 +1,20 @@ +import 'package:flutter/material.dart'; + +import '../../data/store/setting.dart'; +import '../../locator.dart'; + +final _primaryColor = locator().primaryColor.listenable(); + +class PrimaryColor extends StatelessWidget { + final Widget Function(BuildContext context, Color primaryColor) builder; + + const PrimaryColor({Key? key, required this.builder}) : super(key: key); + + @override + Widget build(BuildContext context) { + return ValueListenableBuilder( + builder: (context, c, child) => builder(context, Color(c)), + valueListenable: _primaryColor, + ); + } +}