centralized_bloc 1.0.0
centralized_bloc: ^1.0.0 copied to clipboard
A lightweight reusable Bloc architecture with centralized state handling, loading, error handling, and UI building.
example/lib/main.dart
import 'package:centralized_bloc/centralized_bloc.dart';
import 'package:example/bloc/user_bloc.dart';
import 'package:example/bloc/user_event.dart';
import 'package:example/repository/user_repository.dart';
import 'package:example/user_screen.dart';
import 'package:flutter/material.dart';
void main() {
CentralizedBlocConfig.configure(
loadingBuilder: (context) {
return const Center(
child: CircularProgressIndicator.adaptive(),
);
},
errorBuilder: (context, message) {
return Center(
child: Text(
'Oops: $message',
),
);
},
);
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: BlocProvider(
create: (_) => UserBloc(
repository: UserRepository(),
)..add(const LoadUser()),
child: const UserScreen(),
),
);
}
}