import { notFound } from "next/navigation"; import { getProjectFullDetail } from "@/lib/admin-queries"; import { getTargetHourlyRate } from "@/lib/settings"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { PhasesTab } from "@/components/admin/tabs/PhasesTab"; import { PaymentsTab } from "@/components/admin/tabs/PaymentsTab"; import { DocumentsTab } from "@/components/admin/tabs/DocumentsTab"; import { CommentsTab } from "@/components/admin/tabs/CommentsTab"; import { QuoteTab } from "@/components/admin/tabs/QuoteTab"; import { TimerTab } from "@/components/admin/tabs/TimerTab"; import { PhasesViewToggle } from "@/components/admin/kanban/PhasesViewToggle"; import Link from "next/link"; export const revalidate = 0; export default async function ProjectDetailPage({ params, }: { params: Promise<{ id: string }>; }) { const { id } = await params; const [detail, targetHourlyRate] = await Promise.all([ getProjectFullDetail(id), getTargetHourlyRate(), ]); if (!detail) notFound(); const { project, phases, payments, documents, notes, comments, quoteItems, activeServices, activeTimerEntryId, activeTimerStartedAt, totalTrackedSeconds, } = detail; return (
{project.client.name}
Nessuna nota ancora.
)} {notes.map((note) => ({note.body}
{new Date(note.created_at).toLocaleDateString("it-IT")}