From 8121eef83974eafaa78f45e23d294f98776552b9 Mon Sep 17 00:00:00 2001 From: lollipopkit <10864310+lollipopkit@users.noreply.github.com> Date: Sat, 8 Jun 2024 15:35:19 +0800 Subject: [PATCH] opt.: `RNode` --- lib/app.dart | 2 +- lib/data/model/app/backup.dart | 2 +- lib/data/model/app/github_id.dart | 5 ----- lib/data/model/app/rebuild.dart | 23 ----------------------- lib/data/res/github_id.dart | 8 ++++++-- lib/data/res/rebuild.dart | 9 +++++---- lib/view/page/home/home.dart | 1 - lib/view/page/setting/entry.dart | 14 +++++++------- 8 files changed, 20 insertions(+), 44 deletions(-) delete mode 100644 lib/data/model/app/github_id.dart delete mode 100644 lib/data/model/app/rebuild.dart diff --git a/lib/app.dart b/lib/app.dart index ca669926..8be9842b 100644 --- a/lib/app.dart +++ b/lib/app.dart @@ -15,7 +15,7 @@ class MyApp extends StatelessWidget { Widget build(BuildContext context) { _setup(context); return ListenableBuilder( - listenable: RebuildNodes.app, + listenable: RNodes.app, builder: (context, _) { if (!Stores.setting.useSystemPrimaryColor.fetch()) { UIs.colorSeed = Color(Stores.setting.primaryColor.fetch()); diff --git a/lib/data/model/app/backup.dart b/lib/data/model/app/backup.dart index 8d296778..4bd4a303 100644 --- a/lib/data/model/app/backup.dart +++ b/lib/data/model/app/backup.dart @@ -170,7 +170,7 @@ class Backup { } Pros.reload(); - RebuildNodes.app.rebuild(); + RNodes.app.build(); _logger.info('Restore success'); } diff --git a/lib/data/model/app/github_id.dart b/lib/data/model/app/github_id.dart deleted file mode 100644 index 757bc1a9..00000000 --- a/lib/data/model/app/github_id.dart +++ /dev/null @@ -1,5 +0,0 @@ -typedef GhId = String; - -extension GhIdX on GhId { - String get url => 'https://github.com/$this'; -} diff --git a/lib/data/model/app/rebuild.dart b/lib/data/model/app/rebuild.dart deleted file mode 100644 index 5f160865..00000000 --- a/lib/data/model/app/rebuild.dart +++ /dev/null @@ -1,23 +0,0 @@ -import 'package:flutter/foundation.dart'; - -class RebuildNode implements Listenable { - final List _listeners = []; - - RebuildNode(); - - @override - void addListener(VoidCallback listener) { - _listeners.add(listener); - } - - @override - void removeListener(VoidCallback listener) { - _listeners.remove(listener); - } - - void rebuild() { - for (var listener in _listeners) { - listener(); - } - } -} diff --git a/lib/data/res/github_id.dart b/lib/data/res/github_id.dart index 73df0fed..01ee0ba3 100644 --- a/lib/data/res/github_id.dart +++ b/lib/data/res/github_id.dart @@ -1,5 +1,3 @@ -import 'package:toolbox/data/model/app/github_id.dart'; - abstract final class GithubIds { // Thanks // If you want to change your Github ID, please open an issue. @@ -75,3 +73,9 @@ abstract final class GithubIds { 'Jasonzhu1207', }; } + +typedef GhId = String; + +extension GhIdX on GhId { + String get url => 'https://github.com/$this'; +} diff --git a/lib/data/res/rebuild.dart b/lib/data/res/rebuild.dart index f78cd8a4..e37453a0 100644 --- a/lib/data/res/rebuild.dart +++ b/lib/data/res/rebuild.dart @@ -1,5 +1,6 @@ -import 'package:toolbox/data/model/app/rebuild.dart'; +import 'package:fl_lib/fl_lib.dart'; -abstract final class RebuildNodes { - static final app = RebuildNode(); -} +abstract final class RNodes { + static final app = RNode(); + static final dark = false.vn; +} \ No newline at end of file diff --git a/lib/view/page/home/home.dart b/lib/view/page/home/home.dart index 0e944f48..8a61b1b8 100644 --- a/lib/view/page/home/home.dart +++ b/lib/view/page/home/home.dart @@ -9,7 +9,6 @@ import 'package:toolbox/core/channel/home_widget.dart'; import 'package:toolbox/core/extension/build.dart'; import 'package:toolbox/core/extension/context/locale.dart'; import 'package:toolbox/core/route.dart'; -import 'package:toolbox/data/model/app/github_id.dart'; import 'package:toolbox/data/model/app/tab.dart'; import 'package:toolbox/data/res/build_data.dart'; import 'package:toolbox/data/res/github_id.dart'; diff --git a/lib/view/page/setting/entry.dart b/lib/view/page/setting/entry.dart index f1d3eb60..dbcffe7a 100644 --- a/lib/view/page/setting/entry.dart +++ b/lib/view/page/setting/entry.dart @@ -305,7 +305,7 @@ class _SettingPageState extends State { _setting.primaryColor.put(color.value); context.pop(); context.pop(); - RebuildNodes.app.rebuild(); + RNodes.app.build(); } // Widget _buildLaunchPage() { @@ -393,7 +393,7 @@ class _SettingPageState extends State { ); if (selected != null) { _setting.themeMode.put(selected); - RebuildNodes.app.rebuild(); + RNodes.app.build(); } }, trailing: ValBuilder( @@ -442,7 +442,7 @@ class _SettingPageState extends State { onPressed: () { _setting.fontPath.delete(); context.pop(); - RebuildNodes.app.rebuild(); + RNodes.app.build(); }, child: Text(l10n.clear), ) @@ -466,7 +466,7 @@ class _SettingPageState extends State { } context.pop(); - RebuildNodes.app.rebuild(); + RNodes.app.build(); } Widget _buildTermFontSize() { @@ -536,7 +536,7 @@ class _SettingPageState extends State { if (selected != null) { _setting.locale.put(selected.code); context.pop(); - RebuildNodes.app.rebuild(); + RNodes.app.build(); } }, trailing: ListenBuilder( @@ -609,7 +609,7 @@ class _SettingPageState extends State { subtitle: Text(l10n.fullScreenTip, style: UIs.textGrey), trailing: StoreSwitch( prop: _setting.fullScreen, - callback: (_) => RebuildNodes.app.rebuild(), + callback: (_) => RNodes.app.build(), ), ); } @@ -820,7 +820,7 @@ class _SettingPageState extends State { return; } _setting.textFactor.put(val); - RebuildNodes.app.rebuild(); + RNodes.app.build(); context.pop(); }