supermemory/apps/web/app/layout.tsx
Mahesh Sanikommmu 497986524b few more changes
2025-09-03 19:00:57 -07:00

78 lines
2.1 KiB
TypeScript

import type { Metadata } from "next";
import { Inter, JetBrains_Mono, Space_Grotesk } from "next/font/google";
import "../globals.css";
import "@ui/globals.css";
import { AuthProvider } from "@lib/auth-context";
import { ErrorTrackingProvider } from "@lib/error-tracking";
import { PostHogProvider } from "@lib/posthog";
import { QueryProvider } from "@lib/query-client";
import { AutumnProvider } from "autumn-js/react";
import { ThemeProvider } from "next-themes";
import { Suspense } from "react";
import { Toaster } from "sonner";
import { TourProvider } from "@/components/tour";
import { MobilePanelProvider } from "@/lib/mobile-panel-context";
import { ViewModeProvider } from "@/lib/view-mode-context";
const sans = Inter({
subsets: ["latin"],
variable: "--font-sans",
});
const mono = JetBrains_Mono({
subsets: ["latin"],
variable: "--font-mono",
});
const spaceGrotesk = Space_Grotesk({
subsets: ["latin"],
variable: "--font-serif",
});
export const metadata: Metadata = {
metadataBase: new URL("https://app.supermemory.ai"),
description: "Your memories, wherever you are",
title: "supermemory app",
};
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="en" suppressHydrationWarning>
<body
className={`${sans.variable} ${mono.variable} ${spaceGrotesk.variable} antialiased`}
>
<ThemeProvider attribute="class" defaultTheme="dark" enableSystem>
<AutumnProvider
backendUrl={
process.env.NEXT_PUBLIC_BACKEND_URL ?? "https://api.supermemory.ai"
}
includeCredentials={true}
>
<QueryProvider>
<AuthProvider>
<ViewModeProvider>
<MobilePanelProvider>
<PostHogProvider>
<ErrorTrackingProvider>
<TourProvider>
<Suspense>{children}</Suspense>
<Toaster richColors />
</TourProvider>
</ErrorTrackingProvider>
</PostHogProvider>
</MobilePanelProvider>
</ViewModeProvider>
</AuthProvider>
</QueryProvider>
</AutumnProvider>
</ThemeProvider>
</body>
</html>
);
}