mirror of
https://github.com/formbricks/formbricks.git
synced 2025-12-25 07:50:19 -06:00
42 lines
1.3 KiB
TypeScript
42 lines
1.3 KiB
TypeScript
import { Providers } from "@/app/providers";
|
|
import { Layout } from "@/components/Layout";
|
|
import { type Section } from "@/components/SectionProvider";
|
|
import "@/styles/tailwind.css";
|
|
import glob from "fast-glob";
|
|
import { type Metadata } from "next";
|
|
import { Jost } from "next/font/google";
|
|
|
|
export const metadata: Metadata = {
|
|
title: {
|
|
template: "%s - Formbricks Docs",
|
|
default: "Formbricks Documentation",
|
|
},
|
|
};
|
|
|
|
const jost = Jost({ subsets: ["latin"] });
|
|
|
|
const RootLayout = async ({ children }: { children: React.ReactNode }) => {
|
|
let pages = await glob("**/*.mdx", { cwd: "src/app" });
|
|
let allSectionsEntries = (await Promise.all(
|
|
pages.map(async (filename) => [
|
|
"/" + filename.replace(/(^|\/)page\.mdx$/, ""),
|
|
(await import(`./${filename}`)).sections,
|
|
])
|
|
)) as Array<[string, Array<Section>]>;
|
|
let allSections = Object.fromEntries(allSectionsEntries);
|
|
|
|
return (
|
|
<html lang="en" className="h-full" suppressHydrationWarning>
|
|
<body className={`flex min-h-full bg-white antialiased dark:bg-zinc-900 ${jost.className}`}>
|
|
<Providers>
|
|
<div className="w-full">
|
|
<Layout allSections={allSections}>{children}</Layout>
|
|
</div>
|
|
</Providers>
|
|
</body>
|
|
</html>
|
|
);
|
|
};
|
|
|
|
export default RootLayout;
|