From 3ec4f9d3319a4021222bb5ea08685849f300cbb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leon=20B=C3=B6sche?= Date: Fri, 9 Jan 2026 21:50:44 +0100 Subject: [PATCH] Fix missing OrganizationBloc provider and add OrgApi to DI --- b0esche_cloud/lib/injection.dart | 2 ++ b0esche_cloud/lib/pages/home_page.dart | 39 ++++++++++++-------------- 2 files changed, 20 insertions(+), 21 deletions(-) diff --git a/b0esche_cloud/lib/injection.dart b/b0esche_cloud/lib/injection.dart index b72966b..fb2b0a5 100644 --- a/b0esche_cloud/lib/injection.dart +++ b/b0esche_cloud/lib/injection.dart @@ -7,6 +7,7 @@ import 'repositories/http_auth_repository.dart'; import 'repositories/http_file_repository.dart'; import 'services/auth_service.dart'; import 'services/file_service.dart'; +import 'services/org_api.dart'; import 'viewmodels/login_view_model.dart'; import 'viewmodels/file_explorer_view_model.dart'; @@ -26,6 +27,7 @@ void configureDependencies(SessionBloc sessionBloc) { // Register services getIt.registerSingleton(AuthService(getIt())); getIt.registerSingleton(FileService(getIt())); + getIt.registerSingleton(OrgApi(getIt())); // Register viewmodels getIt.registerSingleton(LoginViewModel(getIt())); diff --git a/b0esche_cloud/lib/pages/home_page.dart b/b0esche_cloud/lib/pages/home_page.dart index a045181..e4245f0 100644 --- a/b0esche_cloud/lib/pages/home_page.dart +++ b/b0esche_cloud/lib/pages/home_page.dart @@ -12,6 +12,7 @@ import '../blocs/permission/permission_bloc.dart'; import '../blocs/upload/upload_bloc.dart'; import '../repositories/file_repository.dart'; import '../services/file_service.dart'; +import '../services/org_api.dart'; import '../theme/app_theme.dart'; import '../theme/modern_glass_button.dart'; import 'login_form.dart' show LoginForm; @@ -212,19 +213,7 @@ class _HomePageState extends State with TickerProviderStateMixin { orgId = ''; } - // Wrap FileExplorer with required BlocProviders - return MultiBlocProvider( - providers: [ - BlocProvider( - create: (context) => FileBrowserBloc(getIt()), - ), - BlocProvider(create: (context) => PermissionBloc()), - BlocProvider( - create: (context) => UploadBloc(getIt()), - ), - ], - child: FileExplorer(orgId: orgId), - ); + return FileExplorer(orgId: orgId); } Widget _buildNavButton(String label, IconData icon, {bool isAvatar = false}) { @@ -269,14 +258,21 @@ class _HomePageState extends State with TickerProviderStateMixin { @override Widget build(BuildContext context) { - return Scaffold( - backgroundColor: AppTheme.primaryBackground, - body: Stack( - children: [ - Center( - child: BlocBuilder( - builder: (context, state) { - final isLoggedIn = state is AuthAuthenticated; + return BlocProvider( + create: (context) => OrganizationBloc( + PermissionBloc(), + FileBrowserBloc(getIt()), + UploadBloc(getIt()), + getIt(), + ), + child: Scaffold( + backgroundColor: AppTheme.primaryBackground, + body: Stack( + children: [ + Center( + child: BlocBuilder( + builder: (context, state) { + final isLoggedIn = state is AuthAuthenticated; if (isLoggedIn && !_animationController.isAnimating) { _animationController.forward(); } else if (!isLoggedIn) { @@ -550,6 +546,7 @@ class _HomePageState extends State with TickerProviderStateMixin { ), ], ), + ), ); } }