diff --git a/lib/pages/analytics/modules/air_quality/helpers/fetch_air_quality_data_helper.dart b/lib/pages/analytics/modules/air_quality/helpers/fetch_air_quality_data_helper.dart new file mode 100644 index 00000000..722b9210 --- /dev/null +++ b/lib/pages/analytics/modules/air_quality/helpers/fetch_air_quality_data_helper.dart @@ -0,0 +1,19 @@ +import 'package:flutter/material.dart'; +import 'package:syncrow_web/pages/spaces_management/all_spaces/model/community_model.dart'; +import 'package:syncrow_web/pages/spaces_management/all_spaces/model/space_model.dart'; + +abstract final class FetchAirQualityDataHelper { + const FetchAirQualityDataHelper._(); + + static void loadAirQualityData( + BuildContext context, + CommunityModel community, + SpaceModel space, + ) { + // TODO: implement loadAirQualityData + } + + static void clearAllData(BuildContext context) { + // TODO: implement clearAllData + } +} diff --git a/lib/pages/analytics/modules/analytics/enums/analytics_page_tab.dart b/lib/pages/analytics/modules/analytics/enums/analytics_page_tab.dart index b26cfc95..6552f6cf 100644 --- a/lib/pages/analytics/modules/analytics/enums/analytics_page_tab.dart +++ b/lib/pages/analytics/modules/analytics/enums/analytics_page_tab.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:syncrow_web/pages/analytics/modules/air_quality/views/air_quality_view.dart'; import 'package:syncrow_web/pages/analytics/modules/energy_management/views/analytics_energy_management_view.dart'; import 'package:syncrow_web/pages/analytics/modules/occupancy/views/analytics_occupancy_view.dart'; @@ -10,6 +11,10 @@ enum AnalyticsPageTab { occupancy( title: 'Occupancy', child: AnalyticsOccupancyView(), + ), + airQuality( + title: 'Air Quality', + child: AirQualityView(), ); const AnalyticsPageTab({ diff --git a/lib/pages/analytics/modules/analytics/strategies/air_quality_data_loading_strategy.dart b/lib/pages/analytics/modules/analytics/strategies/air_quality_data_loading_strategy.dart new file mode 100644 index 00000000..636bc53d --- /dev/null +++ b/lib/pages/analytics/modules/analytics/strategies/air_quality_data_loading_strategy.dart @@ -0,0 +1,38 @@ +import 'package:flutter/material.dart'; +import 'package:syncrow_web/pages/analytics/modules/analytics/strategies/analytics_data_loading_strategy.dart'; +import 'package:syncrow_web/pages/spaces_management/all_spaces/model/community_model.dart'; +import 'package:syncrow_web/pages/spaces_management/all_spaces/model/space_model.dart'; + +final class AirQualityDataLoadingStrategy implements AnalyticsDataLoadingStrategy { + @override + void onCommunitySelected( + BuildContext context, + CommunityModel community, + List spaces, + ) { + // TODO: implement onCommunitySelected + } + + @override + void onSpaceSelected( + BuildContext context, + CommunityModel community, + SpaceModel space, + ) { + // TODO: implement onSpaceSelected + } + + @override + void onChildSpaceSelected( + BuildContext context, + CommunityModel community, + SpaceModel child, + ) { + // TODO: implement onChildSpaceSelected + } + + @override + void clearData(BuildContext context) { + // TODO: implement clearData + } +} diff --git a/lib/pages/analytics/modules/analytics/strategies/analytics_data_loading_strategy_factory.dart b/lib/pages/analytics/modules/analytics/strategies/analytics_data_loading_strategy_factory.dart index 8b8bb60f..19b0aff2 100644 --- a/lib/pages/analytics/modules/analytics/strategies/analytics_data_loading_strategy_factory.dart +++ b/lib/pages/analytics/modules/analytics/strategies/analytics_data_loading_strategy_factory.dart @@ -1,4 +1,5 @@ import 'package:syncrow_web/pages/analytics/modules/analytics/enums/analytics_page_tab.dart'; +import 'package:syncrow_web/pages/analytics/modules/analytics/strategies/air_quality_data_loading_strategy.dart'; import 'package:syncrow_web/pages/analytics/modules/analytics/strategies/analytics_data_loading_strategy.dart'; import 'package:syncrow_web/pages/analytics/modules/analytics/strategies/energy_management_data_loading_strategy.dart'; import 'package:syncrow_web/pages/analytics/modules/analytics/strategies/occupancy_data_loading_strategy.dart'; @@ -9,6 +10,7 @@ abstract final class AnalyticsDataLoadingStrategyFactory { return switch (tab) { AnalyticsPageTab.energyManagement => EnergyManagementDataLoadingStrategy(), AnalyticsPageTab.occupancy => OccupancyDataLoadingStrategy(), + AnalyticsPageTab.airQuality => AirQualityDataLoadingStrategy(), }; } }