// next imports import Link from "next/link"; import Image from "next/image"; import { Metadata, ResolvingMetadata } from "next"; // components import IssueNavbar from "components/issues/navbar"; import IssueFilter from "components/issues/filters-render"; // service import ProjectService from "services/project.service"; type LayoutProps = { params: { workspace_slug: string; project_slug: string }; }; export async function generateMetadata({ params }: LayoutProps): Promise { // read route params const { workspace_slug, project_slug } = params; const projectServiceInstance = new ProjectService(); const project = await projectServiceInstance?.getProjectSettingsAsync(workspace_slug, project_slug); return { title: `${project?.project_details?.name} | ${workspace_slug}`, description: `${project?.project_details?.description || `${project?.project_details?.name} | ${workspace_slug}`}`, icons: `data:image/svg+xml,${ typeof project?.project_details?.emoji != "object" ? String.fromCodePoint(parseInt(project?.project_details?.emoji)) : "✈️" }`, }; } const RootLayout = ({ children }: { children: React.ReactNode }) => (
{/*
*/}
{children}
plane logo
Powered by Plane Deploy
); export default RootLayout;