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';

abstract final class AnalyticsDataLoadingStrategyFactory {
  const AnalyticsDataLoadingStrategyFactory._();
  static AnalyticsDataLoadingStrategy getStrategy(AnalyticsPageTab tab) {
    return switch (tab) {
      AnalyticsPageTab.energyManagement => EnergyManagementDataLoadingStrategy(),
      AnalyticsPageTab.occupancy => OccupancyDataLoadingStrategy(),
      AnalyticsPageTab.airQuality => AirQualityDataLoadingStrategy(),
    };
  }
}
