import '@/styles/globals.css' import { Metadata } from 'next' import { siteConfig } from '@/config/site' import { fontSans } from '@/config/fonts' import { Providers } from './providers' import { Navbar } from '@/components/navbar' import { Link } from '@nextui-org/link' import clsx from 'clsx' import { userSchema } from '@/types' import { cookies } from 'next/headers' import { getUser } from '@/lib/auth' import { getBookmarkCategories } from '@/lib/utils' export const metadata: Metadata = { title: { default: siteConfig.name, template: `%s - ${siteConfig.name}`, }, description: siteConfig.description, themeColor: [ { media: '(prefers-color-scheme: light)', color: 'white' }, { media: '(prefers-color-scheme: dark)', color: 'black' }, ], icons: { icon: '/favicon.ico', shortcut: '/favicon-16x16.png', apple: '/apple-touch-icon.png', }, } export default async function RootLayout({ children, }: { children: React.ReactNode }) { const token = cookies().get('token') const userData = await getUser(token) let user = null if (userData) { user = userSchema.parse(userData) } const bookmarkCategories = await getBookmarkCategories( userData ? userData.id : null ) return (
{children}
) }