| 1234567891011121314151617181920212223242526272829303132333435 |
- import 'package:flutter/material.dart';
- import 'package:flutter_riverpod/flutter_riverpod.dart';
- class AppTheme {
- static final appThemeProvider = StateProvider<ThemeMode?>((ref) {
- return ThemeMode.system;
- });
- static late WidgetRef? _appWidgetRef;
- static StateController<ThemeMode?>? _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;
- }
- }
|