bloc_manager 1.2.0 copy "bloc_manager: ^1.2.0" to clipboard
bloc_manager: ^1.2.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 widget with branded spinner
        loadingWidget: const SpinKitFoldingCube(
          color: Colors.white,
          size: 50.0,
        ),
        // Custom loading overlay color
        loadingColor: Colors.blue.withValues(alpha: 0.3),

        // 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(
          colorScheme: ColorScheme.fromSeed(seedColor: Colors.blue),
          useMaterial3: true,
        ),
        home: const HomeScreen(),
      ),
    );
  }
}
1
likes
140
points
335
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

Documentation

API reference

License

MIT (license)

Dependencies

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

More

Packages that depend on bloc_manager