import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter/material.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'theme_mode_state.dart'; class ThemeModeCubit extends Cubit { ThemeModeCubit() : super(const ThemeModeState(mode: ThemeMode.system)) { loadThemeMode(); } Future loadThemeMode() async { final prefs = await SharedPreferences.getInstance(); final modeIndex = prefs.getInt('theme_mode') ?? 2; // default system final mode = ThemeMode.values[modeIndex]; emit(ThemeModeState(mode: mode)); } Future changeThemeMode(ThemeMode mode) async { final prefs = await SharedPreferences.getInstance(); await prefs.setInt('theme_mode', mode.index); emit(ThemeModeState(mode: mode)); } }