duskmoon_theme_bloc 1.0.3 copy "duskmoon_theme_bloc: ^1.0.3" to clipboard
duskmoon_theme_bloc: ^1.0.3 copied to clipboard

BLoC for DuskMoon theme persistence (theme name + mode)

duskmoon_theme_bloc #

BLoC for persisting DuskMoon theme selection (theme name + mode) via SharedPreferences. Opt-in package — not included in the duskmoon_ui umbrella.

Installation #

flutter pub add duskmoon_theme_bloc

Usage #

import 'package:duskmoon_theme_bloc/duskmoon_theme_bloc.dart';

// Provide the bloc
BlocProvider(
  create: (_) => DmThemeBloc()..add(const DmSetTheme('sunshine')),
  child: BlocBuilder<DmThemeBloc, DmThemeState>(
    builder: (context, state) {
      return MaterialApp(
        themeMode: state.themeMode,
        // ... use state.themeName to resolve ThemeData
      );
    },
  ),
);

// Change theme mode
context.read<DmThemeBloc>().add(const DmSetThemeMode(ThemeMode.dark));

License #

MIT