Refactor theme management to use ListenableBuilder for improved reactivity

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
This commit is contained in:
2025-07-01 17:31:42 +02:00
parent 707a4c7956
commit c82c1822cc
2 changed files with 156 additions and 164 deletions
@@ -31,14 +31,14 @@ class _ArcaneThemeSwitcherState extends State<ArcaneThemeSwitcher>
@override
Widget build(BuildContext context) {
return ValueListenableBuilder<ThemeMode>(
valueListenable: ArcaneReactiveTheme.I.themeModeChanges,
builder: (BuildContext context, ThemeMode themeMode, Widget? child) {
return ListenableBuilder(
listenable: ArcaneReactiveTheme.I.themeChanges,
builder: (BuildContext context, Widget? child) {
return ValueListenableBuilder<ThemeData>(
valueListenable: ArcaneReactiveTheme.I.themeDataChanges,
builder: (BuildContext context, ThemeData themeData, Widget? child) {
return _ArcaneTheme(
themeMode: themeMode,
themeMode: ArcaneReactiveTheme.I.currentThemeMode,
followSystem: ArcaneReactiveTheme.I.isFollowingSystemTheme,
theme: themeData,
child: widget.child,