getProviders static method
//////////// //////////// 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,
),
];
}