import 'package:flutter_riverpod/flutter_riverpod.dart';

import '../../eta/eta_provider.dart';
import '../data/incident_service.dart';
import '../models/incident.dart';

final unitsProvider = FutureProvider<List<UnitOption>>((ref) async {
  return ref.read(incidentServiceProvider).listUnits();
});

final myIncidentsProvider = FutureProvider<List<IncidentReport>>((ref) async {
  return ref.read(incidentServiceProvider).myIncidents();
});

/// Unidad asignada al domicilio activo del ciudadano.
/// Se deriva en backend a partir de `addresses.route_id → routes.truck_id`.
/// Devuelve `null` si el ciudadano aún no tiene una dirección activa
/// o si su ruta no tiene unidad asignada.
final assignedUnitProvider = FutureProvider<UnitOption?>((ref) async {
  final addressId = ref.watch(activeAddressIdProvider);
  if (addressId == null) return null;
  return ref.read(incidentServiceProvider).getAddressUnit(addressId);
});
