'use client';

import { LocationSection } from '@/components/map/LocationMap';
import { resolveWorkerAreaPins } from '@/lib/geocode';

interface WorkerLocationMapProps {
  worker: {
    id: string;
    serviceAreas?: { area: string }[];
  };
  areaLabels: Record<string, string>;
  showHeading?: boolean;
}

export function WorkerLocationMap({ worker, areaLabels, showHeading = true }: WorkerLocationMapProps) {
  const areas = worker.serviceAreas ?? [];
  const address =
    areas.length > 0
      ? areas.map((a) => areaLabels[a.area] || a.area).join(' · ')
      : undefined;

  const pins = resolveWorkerAreaPins(worker);

  return (
    <LocationSection
      heading="Service Areas"
      showHeading={showHeading}
      address={showHeading ? address : undefined}
      pins={pins}
      pinType="worker"
      note="Pins show cities where this worker is available."
    />
  );
}
