---
import CrmLayout from '@/layouts/CrmLayout.astro';
import PipelineBoard from '@/islands/PipelineBoard';
import { opportunities, contacts } from '@/lib/crm/store';
import { CRM_STAGES } from '@/lib/crm/types';

export const prerender = false;

const STAGE_LABELS: Record<string, string> = {
  lead_nuevo: 'Lead nuevo',
  contactado: 'Contactado',
  cotizacion_enviada: 'Cotización enviada',
  seguimiento: 'Seguimiento',
  negociacion: 'Negociación',
  ganado: 'Ganado',
  perdido: 'Perdido',
};

const initial = opportunities.list().map((o) => ({
  id: o.id,
  title: o.title,
  amountEstimated: o.amountEstimated,
  stage: o.stage,
  contactName: o.contactId ? contacts.get(o.contactId)?.fullName ?? '—' : '—',
  boardRank: o.boardRank,
}));
---

<CrmLayout title="Pipeline · CRM">
  <h1>Pipeline</h1>
  <PipelineBoard
    client:load
    initial={initial}
    stages={[...CRM_STAGES]}
    stageLabels={STAGE_LABELS}
  />
</CrmLayout>
