diff --git a/mvp/b2c/src/app/panel/[id]/page.tsx b/mvp/b2c/src/app/panel/[id]/page.tsx index 5d020c8..f82915e 100644 --- a/mvp/b2c/src/app/panel/[id]/page.tsx +++ b/mvp/b2c/src/app/panel/[id]/page.tsx @@ -163,16 +163,27 @@ export default async function LeadDetailPage({ params }: { params: Promise<{ id: {/* 6. PDF */}
- {lead.pdfUrl ? ( - - Descargar PDF - + {desglose ? ( +
+ + Descargar PDF + + + Ver en el navegador + +
) : ( -

Aún no generado.

+

+ Recalcula el presupuesto desde el catálogo para generarlo. +

)}
diff --git a/mvp/b2c/src/app/panel/[id]/presupuesto/route.ts b/mvp/b2c/src/app/panel/[id]/presupuesto/route.ts index 25eafdb..5d265af 100644 --- a/mvp/b2c/src/app/panel/[id]/presupuesto/route.ts +++ b/mvp/b2c/src/app/panel/[id]/presupuesto/route.ts @@ -10,13 +10,15 @@ export const runtime = 'nodejs'; export const dynamic = 'force-dynamic'; export async function GET( - _req: Request, + req: Request, { params }: { params: Promise<{ id: string }> } ) { const { id } = await params; const data = await getLead(id); if (!data) notFound(); + const descargar = new URL(req.url).searchParams.get('download') === '1'; + const { lead } = data; const empresa = await getTenantPerfil(); @@ -39,7 +41,7 @@ export async function GET( return new Response(new Uint8Array(buffer), { headers: { 'Content-Type': 'application/pdf', - 'Content-Disposition': `inline; filename="presupuesto-${slug || lead.id}.pdf"`, + 'Content-Disposition': `${descargar ? 'attachment' : 'inline'}; filename="presupuesto-${slug || lead.id}.pdf"`, 'Cache-Control': 'no-store', }, });