diff --git a/lib/pages/analytics/modules/analytics/views/analytics_page.dart b/lib/pages/analytics/modules/analytics/views/analytics_page.dart index 6674667c..5c801c93 100644 --- a/lib/pages/analytics/modules/analytics/views/analytics_page.dart +++ b/lib/pages/analytics/modules/analytics/views/analytics_page.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:syncrow_web/pages/analytics/modules/analytics/blocs/analytics_date_picker_bloc/analytics_date_picker_bloc.dart'; +import 'package:syncrow_web/pages/analytics/modules/analytics/blocs/analytics_devices/analytics_devices_bloc.dart'; import 'package:syncrow_web/pages/analytics/modules/analytics/blocs/analytics_tab/analytics_tab_bloc.dart'; import 'package:syncrow_web/pages/analytics/modules/analytics/widgets/analytics_communities_sidebar.dart'; import 'package:syncrow_web/pages/analytics/modules/analytics/widgets/analytics_page_tabs_and_children.dart'; @@ -11,6 +12,7 @@ import 'package:syncrow_web/pages/analytics/modules/energy_management/blocs/real import 'package:syncrow_web/pages/analytics/modules/energy_management/blocs/total_energy_consumption/total_energy_consumption_bloc.dart'; import 'package:syncrow_web/pages/analytics/modules/occupancy/blocs/occupancy/occupancy_bloc.dart'; import 'package:syncrow_web/pages/analytics/modules/occupancy/blocs/occupancy_heat_map/occupancy_heat_map_bloc.dart'; +import 'package:syncrow_web/pages/analytics/services/analytics_devices/remote_analytics_devices_service.dart'; import 'package:syncrow_web/pages/analytics/services/energy_consumption_by_phases/fake_energy_consumption_by_phases_service.dart'; import 'package:syncrow_web/pages/analytics/services/energy_consumption_per_device/fake_energy_consumption_per_device_service.dart'; import 'package:syncrow_web/pages/analytics/services/occupacy/fake_occupacy_service.dart'; @@ -23,9 +25,22 @@ import 'package:syncrow_web/services/api/http_service.dart'; import 'package:syncrow_web/utils/theme/responsive_text_theme.dart'; import 'package:syncrow_web/web_layout/web_scaffold.dart'; -class AnalyticsPage extends StatelessWidget { +class AnalyticsPage extends StatefulWidget { const AnalyticsPage({super.key}); + @override + State createState() => _AnalyticsPageState(); +} + +class _AnalyticsPageState extends State { + late final HTTPService _httpService; + + @override + void initState() { + super.initState(); + _httpService = HTTPService(); + } + @override Widget build(BuildContext context) { return MultiBlocProvider( @@ -35,7 +50,7 @@ class AnalyticsPage extends StatelessWidget { ), BlocProvider( create: (context) => TotalEnergyConsumptionBloc( - RemoteTotalEnergyConsumptionService(HTTPService()), + RemoteTotalEnergyConsumptionService(_httpService), ), ), BlocProvider( @@ -50,7 +65,7 @@ class AnalyticsPage extends StatelessWidget { ), BlocProvider( create: (context) => PowerClampInfoBloc( - RemotePowerClampInfoService(HTTPService()), + RemotePowerClampInfoService(_httpService), ), ), BlocProvider( @@ -61,10 +76,15 @@ class AnalyticsPage extends StatelessWidget { BlocProvider(create: (context) => OccupancyBloc(FakeOccupacyService())), BlocProvider( create: (context) => OccupancyHeatMapBloc( - RemoteOccupancyHeatMapService(HTTPService()), + RemoteOccupancyHeatMapService(_httpService), ), ), BlocProvider(create: (context) => AnalyticsDatePickerBloc()), + BlocProvider( + create: (context) => AnalyticsDevicesBloc( + RemoteAnalyticsDevicesService(_httpService), + ), + ), ], child: const AnalyticsPageForm(), );