import { useLocalStorageRef } from '~/utils/useLocalStorageRef' export type EmissionItem = { id: string createdAt: string customerLabel: string insurerSlug: string subRamoKey: string productLine: string status: 'pending_review' | 'approved' | 'sent_to_insurer' | 'in_force' bindToken?: string /** 'auto' = generated from quote acceptance, 'manual' = created from solicitud form */ source?: 'auto' | 'manual' /** Carrier product name when auto-generated from comparative */ carrierProduct?: string } const KEY = 'policy-ui-emissions-queue-v1' export function useEmissionsQueue() { const items = useLocalStorageRef(KEY, () => []) function enqueue( entry: Omit & { status?: EmissionItem['status'] } ) { const row: EmissionItem = { id: crypto.randomUUID?.() ?? String(Date.now()), createdAt: new Date().toISOString(), status: entry.status ?? 'pending_review', ...entry } items.value = [row, ...items.value] return row } function approve(id: string) { const i = items.value.find((x) => x.id === id) if (i) i.status = 'approved' } function sendToInsurer(id: string) { const i = items.value.find((x) => x.id === id) if (i) i.status = 'sent_to_insurer' } function markInForce(id: string) { const i = items.value.find((x) => x.id === id) if (i) i.status = 'in_force' } return { items, enqueue, approve, sendToInsurer, markInForce } }