Files
buzz/mobile/lib/shared/theme/theme_provider.dart
2026-04-13 09:55:14 -07:00

30 lines
644 B
Dart

import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
class ThemeNotifier extends Notifier<ThemeMode> {
@override
ThemeMode build() => ThemeMode.system;
void setThemeMode(ThemeMode themeMode) {
state = themeMode;
}
void toggleTheme() {
switch (state) {
case ThemeMode.light:
state = ThemeMode.dark;
break;
case ThemeMode.dark:
state = ThemeMode.system;
break;
case ThemeMode.system:
state = ThemeMode.light;
break;
}
}
}
final themeProvider = NotifierProvider<ThemeNotifier, ThemeMode>(
ThemeNotifier.new,
);