getProviders static method

List<SingleChildWidget> getProviders(
  1. Map<String, String> env
)

//////////// //////////// Creates a list of providers for Firebase services

Implementation

// II.A - Provider List
///////////////
/// Creates a list of providers for Firebase services
static List<SingleChildWidget> getProviders(Map<String, String> env) {
  // Get Mapbox token from environment variables
  final mapboxToken = env['MAPBOX_PUBLIC_ACCESS_TOKEN'] ?? '';

  return [
    // Core Firebase services
    Provider<AuthService>(
      create: (_) => AuthService(),
    ),
    Provider<UserService>(
      create: (_) => UserService(),
    ),
    Provider<RouteService>(
      create: (_) => RouteService(),
    ),
    Provider<ReportService>(
      create: (_) => ReportService(),
    ),
    Provider<GroupService>(
      create: (_) => GroupService(),
    ),

    // Map & Hazard-related services
    Provider<MapboxApiService>(
      create: (_) => MapboxApiService(mapboxToken),
    ),
    Provider<HazardService>(
      create: (context) => HazardService(
        context.read<MapboxApiService>(),
        context.read<ReportService>(),
        combineResults: true,
      ),
      // Only create this after MapboxApiService and ReportService are available
      lazy: false,
    ),
  ];
}