import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; class AppTheme { static final appThemeProvider = StateProvider((ref) { return ThemeMode.system; }); static late WidgetRef? _appWidgetRef; static StateController? _appThemeNotifier; static setRootWidgetRef(WidgetRef ref) { _appWidgetRef = ref; _appThemeNotifier = ref.watch(appThemeProvider.notifier); } static ThemeMode? getTheme([WidgetRef? ref]) { if (ref != null) { return ref.watch(appThemeProvider); } else { return _appWidgetRef!.watch(appThemeProvider); } } static setTheme(ThemeMode mode) { _appThemeNotifier?.state = mode; } }