VIBN Frontend for Coolify deployment
This commit is contained in:
34
app/[workspace]/project/[projectId]/layout.tsx
Normal file
34
app/[workspace]/project/[projectId]/layout.tsx
Normal file
@@ -0,0 +1,34 @@
|
||||
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>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user