import { Metadata, Viewport } from "next"; import Script from "next/script"; // styles import "@/styles/globals.css"; import { SITE_DESCRIPTION, SITE_NAME } from "@plane/constants"; // helpers import { cn } from "@plane/utils"; // local import { AppProvider } from "./provider"; export const metadata: Metadata = { title: "Plane | Simple, extensible, open-source project management tool.", description: SITE_DESCRIPTION, metadataBase: new URL("https://app.plane.so"), openGraph: { title: "Plane | Simple, extensible, open-source project management tool.", description: "Open-source project management tool to manage work items, cycles, and product roadmaps easily", url: "https://app.plane.so/", images: [ { url: "/og-image.png", width: 1200, height: 630, alt: "Plane - Modern project management", }, ], }, keywords: "software development, plan, ship, software, accelerate, code management, release management, project management, work item tracking, agile, scrum, kanban, collaboration", twitter: { site: "@planepowers", card: "summary_large_image", images: [ { url: "/og-image.png", width: 1200, height: 630, alt: "Plane - Modern project management", }, ], }, }; export const viewport: Viewport = { minimumScale: 1, initialScale: 1, maximumScale: 1, userScalable: false, width: "device-width", viewportFit: "cover", }; export default function RootLayout({ children }: { children: React.ReactNode }) { const isSessionRecorderEnabled = parseInt(process.env.NEXT_PUBLIC_ENABLE_SESSION_RECORDER || "0"); return (
{/* Meta info for PWA */}