Something went wrong. Try again.
FlockOff is a mass-block tool for the Atmosphere flockoff.app
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566import type { Metadata } from 'next'import { Playfair_Display, DM_Sans, DM_Mono } from 'next/font/google'import './globals.css'import { Nav } from '@/components/Nav'import { Footer } from '@/components/Footer'import { ThemeProvider } from '@/components/ThemeProvider'import { getSession } from '@/lib/session'
const playfair = Playfair_Display({ variable: '--font-display', subsets: ['latin'], weight: ['700', '900'], style: ['normal', 'italic'],})
const dmSans = DM_Sans({ variable: '--font-sans', subsets: ['latin'], weight: ['300', '400', '500', '600'],})
const dmMono = DM_Mono({ variable: '--font-mono', subsets: ['latin'], weight: ['400', '500'],})
export const metadata: Metadata = { metadataBase: new URL('https://flockoff.app'), title: 'FlockOff — Precision blocking for the open social web', description: 'Block everyone who engaged with a post. Customizable, reversible, and built on atproto.', icons: { icon: '/icon.svg', apple: '/apple-icon.png', }, manifest: '/site.webmanifest', openGraph: { title: 'FlockOff', description: 'Block everyone who engaged with a post. Customizable, reversible, and built on atproto.', url: 'https://flockoff.app', siteName: 'FlockOff', },}
export default async function RootLayout({ children,}: Readonly<{ children: React.ReactNode }>) { const session = await getSession()
return ( <html lang="en" className={`${playfair.variable} ${dmSans.variable} ${dmMono.variable} h-full antialiased`} suppressHydrationWarning > <body className="min-h-full flex flex-col bg-background text-foreground"> <ThemeProvider> <Nav did={session.did} handle={session.handle} avatar={session.avatar} /> <main className="flex-1">{children}</main> <Footer /> </ThemeProvider> </body> </html> )}