import "./styles/globals.scss"; import { Poppins } from "next/font/google"; import { Metadata, Viewport } from "next"; import FiefWrapper from "./(auth)/fiefWrapper"; import UserInfo from "./(auth)/userInfo"; import { ErrorProvider } from "./(errors)/errorContext"; import ErrorMessage from "./(errors)/errorMessage"; import Image from "next/image"; import About from "./(aboutAndPrivacy)/about"; import Privacy from "./(aboutAndPrivacy)/privacy"; import { DomainContextProvider } from "./domainContext"; import { getConfig } from "./lib/edgeConfig"; import { ErrorBoundary } from "@sentry/nextjs"; import { cookies } from "next/dist/client/components/headers"; import { SESSION_COOKIE_NAME } from "./lib/fief"; import { Providers } from "./providers"; import NextLink from "next/link"; import { Container, Flex, Link } from "@chakra-ui/react"; const poppins = Poppins({ subsets: ["latin"], weight: ["200", "400", "600"] }); export const viewport: Viewport = { themeColor: "black", width: "device-width", initialScale: 1, maximumScale: 1, }; export const metadata: Metadata = { metadataBase: new URL(process.env.DEV_URL || "https://reflector.media"), title: { template: "%s – Reflector", default: "Reflector - AI-Powered Meeting Transcriptions by Monadical", }, description: "Reflector is an AI-powered tool that transcribes your meetings with unparalleled accuracy, divides content by topics, and provides insightful summaries. Maximize your productivity with Reflector, brought to you by Monadical. Capture the signal, not the noise", applicationName: "Reflector", referrer: "origin-when-cross-origin", keywords: ["Reflector", "Monadical", "AI", "Meetings", "Transcription"], authors: [{ name: "Monadical Team", url: "https://monadical.com/team.html" }], formatDetection: { email: false, address: false, telephone: false, }, openGraph: { title: "Reflector", description: "Reflector is an AI-powered tool that transcribes your meetings with unparalleled accuracy, divides content by topics, and provides insightful summaries. Maximize your productivity with Reflector, brought to you by Monadical. Capture the signal, not the noise.", type: "website", }, twitter: { card: "summary_large_image", title: "Reflector", description: "Reflector is an AI-powered tool that transcribes your meetings with unparalleled accuracy, divides content by topics, and provides insightful summaries. Maximize your productivity with Reflector, brought to you by Monadical. Capture the signal, not the noise.", images: ["/r-icon.png"], }, icons: { icon: "/r-icon.png", shortcut: "/r-icon.png", apple: "/r-icon.png", }, robots: { index: false, follow: false, noarchive: true, noimageindex: true }, }; export default async function RootLayout({ children, }: { children: React.ReactNode; }) { const hostname = new URL(process.env.NEXT_PUBLIC_SITE_URL!).hostname; const config = await getConfig(hostname); const { requireLogin, privacy, browse, rooms } = config.features; const hasAuthCookie = !!cookies().get(SESSION_COOKIE_NAME); return (
Capture the signal, not the noise