import { ReactNode } from "react"; import { Metadata } from "next"; // components import { InstanceFailureView, InstanceSetupForm } from "@/components/instance"; // helpers import { ASSET_PREFIX } from "@/helpers/common.helper"; // layout import { DefaultLayout } from "@/layouts/default-layout"; // lib import { AppProvider } from "@/lib/app-providers"; // styles import "./globals.css"; // services import { InstanceService } from "@/services/instance.service"; const instanceService = new InstanceService(); export const metadata: Metadata = { title: "Plane | Simple, extensible, open-source project management tool.", description: "Open-source project management tool to manage issues, sprints, and product roadmaps with peace of mind.", openGraph: { title: "Plane | Simple, extensible, open-source project management tool.", description: "Open-source project management tool to manage issues, sprints, and product roadmaps with peace of mind.", url: "https://plane.so/", }, keywords: "software development, customer feedback, software, accelerate, code management, release management, project management, issue tracking, agile, scrum, kanban, collaboration", twitter: { site: "@planepowers", }, }; export default async function RootLayout({ children }: { children: ReactNode }) { const instanceDetails = await instanceService.getInstanceInfo().catch(() => null); return ( {instanceDetails ? ( <> {instanceDetails?.instance?.is_setup_done ? ( <>{children} ) : (
)} ) : (
)}
); }