bloc_manager 1.5.0 copy "bloc_manager: ^1.5.0" to clipboard
bloc_manager: ^1.5.0 copied to clipboard

A Flutter BLoC management package that eliminates boilerplate state-management code. Provides a sealed BaseState hierarchy, BlocManager widget with auto loading/error/success handling, and CacheableBl [...]

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter_spinkit/flutter_spinkit.dart';
import 'package:bloc_manager/bloc_manager.dart';

import 'screens/home_screen.dart';

void main() {
  runApp(const BlocManagerExampleApp());
}

/// Main app entry point demonstrating BlocManagerTheme setup.
/// BlocManagerTheme provides app-wide theming for all BlocManager widgets.
class BlocManagerExampleApp extends StatelessWidget {
  const BlocManagerExampleApp({super.key});

  @override
  Widget build(BuildContext context) {
    return BlocManagerTheme(
      data: BlocManagerThemeData(
        // Custom loading config with branded spinner and teal tint
        loadingConfig: const FullScreenLoadingConfig(
          loadingWidget: SpinKitFoldingCube(
            color: Colors.white,
            size: 50.0,
          ),
          overlayColor: Color(0x6600897B), // teal at ~40% opacity
        ),

        // Custom error handler - shows red snackbar
        onError: (context, message) {
          ScaffoldMessenger.of(context).showSnackBar(
            SnackBar(
              content: Text(message),
              backgroundColor: Colors.red.shade700,
              behavior: SnackBarBehavior.floating,
              margin: const EdgeInsets.all(16),
            ),
          );
        },

        // Custom success handler - shows green snackbar
        onSuccess: (context, message) {
          if (message == null) return;
          ScaffoldMessenger.of(context).showSnackBar(
            SnackBar(
              content: Text(message),
              backgroundColor: Colors.green.shade700,
              behavior: SnackBarBehavior.floating,
              margin: const EdgeInsets.all(16),
            ),
          );
        },

        // Enable/disable global error/success notifications
        showResultErrorNotifications: true,
        showResultSuccessNotifications: true,
      ),
      child: MaterialApp(
        title: 'Bloc Manager Example',
        debugShowCheckedModeBanner: false,
        theme: ThemeData(
          brightness: Brightness.dark,
          colorScheme: ColorScheme.fromSeed(
            seedColor: Colors.teal,
            brightness: Brightness.dark,
          ),
          useMaterial3: true,
          scaffoldBackgroundColor: const Color(0xFF121212),
        ),
        home: const HomeScreen(),
      ),
    );
  }
}
1
likes
0
points
90
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter BLoC management package that eliminates boilerplate state-management code. Provides a sealed BaseState hierarchy, BlocManager widget with auto loading/error/success handling, and CacheableBlocMixin, PaginationBlocMixin, RefreshableBlocMixin utilities for consistent state management across projects.

Homepage
Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

ansicolor, bloc, equatable, flutter, flutter_bloc, flutter_spinkit, loading_overlay, meta, shimmer

More

Packages that depend on bloc_manager