import { notFound } from "next/navigation"; import { getClientWithProjects, getClientActiveOffers } from "@/lib/admin-queries"; import { ClientActions } from "@/components/admin/ClientActions"; import Link from "next/link"; export const revalidate = 0; export default async function ClientDetailPage({ params, }: { params: Promise<{ id: string }>; }) { const { id } = await params; const [data, activeOffers] = await Promise.all([ getClientWithProjects(id), getClientActiveOffers(id), ]); if (!data) notFound(); const { projects, ...client } = data; const activeProjects = projects.filter((p) => !p.archived); const archivedProjects = projects.filter((p) => p.archived); return (
← Clienti

{client.name}

{client.brand_name}

{client.archived && ( Archiviato )}
+ Nuovo Progetto Link cliente →
{activeProjects.length === 0 && (

Nessun progetto ancora per questo cliente.

+ Crea il primo progetto
)} {activeProjects.length > 0 && (
{activeProjects.map((project) => (

{project.name}

{project.accepted_total && parseFloat(project.accepted_total) > 0 ? `€${parseFloat(project.accepted_total).toLocaleString("it-IT", { minimumFractionDigits: 2 })}` : "Preventivo non impostato"}

))}
)} {archivedProjects.length > 0 && (

Archiviati ({archivedProjects.length})

{archivedProjects.map((project) => (

{project.name}

Archiviato

))}
)} {activeOffers.length > 0 && (

Offerte Attive ({activeOffers.length})

{activeOffers.map((offer) => (

{offer.public_name}

{offer.project_name}

{offer.accepted_total && ( €{parseFloat(offer.accepted_total).toLocaleString("it-IT", { minimumFractionDigits: 2 })} )}
))}
)}
); }