Files
mesh-drop-flutter/lib/app/theme/theme_mode_controller.dart
2026-02-27 21:12:56 +08:00

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,
};
}
}