mirror of
https://github.com/block/buzz.git
synced 2026-10-27 04:30:52 +00:00
30 lines
644 B
Dart
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,
|
|
);
|