Files
vibn-frontend/app/[workspace]/project/[projectId]/layout.tsx

35 lines
951 B
TypeScript

import { AppShell } from "@/components/layout/app-shell";
import { getAdminDb } from "@/lib/firebase/admin";
async function getProjectName(projectId: string): Promise<string> {
try {
const adminDb = getAdminDb();
const projectDoc = await adminDb.collection('projects').doc(projectId).get();
if (projectDoc.exists) {
const data = projectDoc.data();
return data?.productName || data?.name || "Product";
}
} catch (error) {
console.error("Error fetching project name:", error);
}
return "Product";
}
export default async function ProjectLayout({
children,
params,
}: {
children: React.ReactNode;
params: Promise<{ workspace: string; projectId: string }>;
}) {
const { workspace, projectId } = await params;
const projectName = await getProjectName(projectId);
return (
<AppShell workspace={workspace} projectId={projectId} projectName={projectName}>
{children}
</AppShell>
);
}