import { ProjectShell } from "@/components/layout/project-shell"; import { query } from "@/lib/db-postgres"; interface ProjectData { name: string; description?: string; status?: string; progress?: number; discoveryPhase?: number; capturedData?: Record; createdAt?: string; updatedAt?: string; featureCount?: number; creationMode?: "fresh" | "chat-import" | "code-import" | "migration"; } async function getProjectData(projectId: string): Promise { try { const rows = await query<{ data: any; created_at?: string; updated_at?: string }>( `SELECT data, created_at, updated_at FROM fs_projects WHERE id = $1 LIMIT 1`, [projectId] ); if (rows.length > 0) { const { data, created_at, updated_at } = rows[0]; return { name: data?.productName || data?.name || "Project", description: data?.productVision || data?.description, status: data?.status, progress: data?.progress ?? 0, discoveryPhase: data?.discoveryPhase ?? 0, capturedData: data?.capturedData ?? {}, createdAt: created_at, updatedAt: updated_at, featureCount: Array.isArray(data?.features) ? data.features.length : (data?.featureCount ?? 0), creationMode: data?.creationMode ?? "fresh", }; } } catch (error) { console.error("Error fetching project:", error); } return { name: "Project" }; } export default async function ProjectLayout({ children, params, }: { children: React.ReactNode; params: Promise<{ workspace: string; projectId: string }>; }) { const { workspace, projectId } = await params; const project = await getProjectData(projectId); return ( {children} ); }