ellamadonna

This commit is contained in:
2026-04-18 01:50:14 +02:00
parent 3eba1a32ec
commit a3509bca91
18 changed files with 108 additions and 810 deletions

View File

@@ -37,8 +37,16 @@ void main() async {
BlocProvider<ThemeBloc>(
create: (context) => ThemeBloc()..add(LoadThemeEvent()),
),
BlocProvider<SessionBloc>(
create: (context) => SessionBloc()..add(AppStarted()),
BlocProvider<SessionBloc>(create: (_) => GetIt.I<SessionBloc>()),
BlocProvider<AuthBloc>(create: (_) => AuthBloc()),
BlocProvider<CompanyBloc>(create: (_) => CompanyBloc()),
BlocProvider<StoreCubit>(create: (_) => StoreCubit()..loadStores()),
BlocProvider<CustomerCubit>(create: (_) => CustomerCubit()),
BlocProvider<ProductCubit>(create: (_) => ProductCubit()),
BlocProvider<StaffCubit>(create: (_) => StaffCubit()..loadAllStaff()),
BlocProvider<ServicesCubit>(create: (_) => ServicesCubit()),
BlocProvider<ProvidersCubit>(
create: (_) => ProvidersCubit()..loadProviders(null),
),
],
child: const FluxApp(),
@@ -65,6 +73,7 @@ Future<void> setupLocator() async {
getIt.registerLazySingleton<StaffRepository>(() => StaffRepository());
getIt.registerLazySingleton<ServicesRepository>(() => ServicesRepository());
getIt.registerLazySingleton<ProviderRepository>(() => ProviderRepository());
getIt.registerSingleton<SessionBloc>(SessionBloc()..add(AppStarted()));
}
class FluxApp extends StatefulWidget {
@@ -86,41 +95,17 @@ class _FluxAppState extends State<FluxApp> {
@override
Widget build(BuildContext context) {
return MultiBlocProvider(
providers: [
BlocProvider<AuthBloc>(create: (_) => AuthBloc()),
BlocProvider<CompanyBloc>(create: (_) => CompanyBloc()),
BlocProvider<StoreCubit>(
create: (_) => StoreCubit(context.read<SessionBloc>())..loadStores(),
),
BlocProvider<CustomerCubit>(create: (_) => CustomerCubit()),
BlocProvider<ProductCubit>(
create: (context) => ProductCubit(context.read<SessionBloc>()),
),
BlocProvider<StaffCubit>(
create: (_) =>
StaffCubit(context.read<SessionBloc>())..loadAllStaff(),
),
BlocProvider<ServicesCubit>(
create: (_) => ServicesCubit(context.read<SessionBloc>()),
),
BlocProvider<ProvidersCubit>(
create: (_) =>
ProvidersCubit(context.read<SessionBloc>())..loadProviders(null),
),
],
child: BlocBuilder<ThemeBloc, ThemeState>(
builder: (context, state) {
return MaterialApp.router(
title: 'FLUX Gestionale',
debugShowCheckedModeBanner: false,
theme: fluxLightTheme,
darkTheme: fluxDarkTheme,
themeMode: state.currentTheme.themeMode,
routerConfig: _router, // Usa l'istanza mantenuta nello stato
);
},
),
return BlocBuilder<ThemeBloc, ThemeState>(
builder: (context, state) {
return MaterialApp.router(
title: 'FLUX Gestionale',
debugShowCheckedModeBanner: false,
theme: fluxLightTheme,
darkTheme: fluxDarkTheme,
themeMode: state.currentTheme.themeMode,
routerConfig: _router, // Usa l'istanza mantenuta nello stato
);
},
);
}
}