import 'package:flutter/material.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart'; import '../storage/storage_service.dart'; import '../storage/storage_keys.dart'; part 'theme_controller.g.dart'; @riverpod class ThemeModeController extends _$ThemeModeController { @override ThemeMode build() { final v = StorageService.to.getString(storageThemeMode); return switch (v) { 'light' => ThemeMode.light, 'dark' => ThemeMode.dark, _ => ThemeMode.system, }; } Future set(ThemeMode mode) async { state = mode; await StorageService.to.setString(storageThemeMode, mode.name); } }