diff --git a/mvp/b2c/src/app/solicitud/[id]/estado/page.tsx b/mvp/b2c/src/app/solicitud/[id]/estado/page.tsx new file mode 100644 index 0000000..e592ed4 --- /dev/null +++ b/mvp/b2c/src/app/solicitud/[id]/estado/page.tsx @@ -0,0 +1,133 @@ +import { notFound } from 'next/navigation'; +import { getPublicLead } from '@/lib/funnel/public-queries'; +import { PIPELINE_ORDER, PIPELINE_LABEL, TIPO_LABEL, formatEuros } from '@/lib/funnel'; +import type { BudgetResult } from '@/budget/types'; + +export const dynamic = 'force-dynamic'; + +export default async function EstadoPage({ params }: { params: Promise<{ id: string }> }) { + const { id } = await params; + const data = await getPublicLead(id); + if (!data) notFound(); + + const { lead, eventos } = data; + const reachedStages = new Set(eventos.map((e) => e.stage)); + + const snapshot = lead.desgloseSnapshot as { result: BudgetResult } | null; + const desglose = snapshot?.result ?? null; + const entregado = lead.pipelineStage === 'whatsapp_entregado'; + const tipo = lead.tipoReforma ? TIPO_LABEL[lead.tipoReforma] : 'tu reforma'; + + return ( +
+ {entregado + ? 'Te lo hemos enviado por WhatsApp. Aquí tienes un adelanto del render y el presupuesto orientativo de tu reforma.' + : 'Estamos preparando tu render y presupuesto. En breve lo recibirás por WhatsApp.'} +
++ Presupuesto orientativo. El precio final puede variar según la visita técnica. +
++ Sube unas fotos del espacio y dinos qué tienes en mente. Con eso preparamos tu render y un + presupuesto orientativo en menos de un minuto. +
++ {submitError} +
+ )} + {/* Submit */}