25 lines
591 B
Dart
25 lines
591 B
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
|
|
|
part 'app_providers.g.dart';
|
|
|
|
/// 테마 모드 상태 관리
|
|
@riverpod
|
|
class ThemeModeNotifier extends _$ThemeModeNotifier {
|
|
@override
|
|
ThemeMode build() => ThemeMode.system;
|
|
|
|
void setThemeMode(ThemeMode mode) {
|
|
state = mode;
|
|
}
|
|
|
|
void toggleTheme() {
|
|
state = switch (state) {
|
|
ThemeMode.light => ThemeMode.dark,
|
|
ThemeMode.dark => ThemeMode.light,
|
|
ThemeMode.system => ThemeMode.dark,
|
|
};
|
|
}
|
|
}
|