22 lines
487 B
Dart
22 lines
487 B
Dart
import 'package:flutter/material.dart';
|
|
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
|
|
|
part 'theme_mode_controller.g.dart';
|
|
|
|
@riverpod
|
|
class ThemeModeController extends _$ThemeModeController {
|
|
@override
|
|
ThemeMode build() => ThemeMode.system;
|
|
|
|
void setThemeMode(ThemeMode mode) {
|
|
state = mode;
|
|
}
|
|
|
|
void toggle() {
|
|
state = switch (state) {
|
|
ThemeMode.dark => ThemeMode.light,
|
|
ThemeMode.light || ThemeMode.system => ThemeMode.dark,
|
|
};
|
|
}
|
|
}
|