import type { ReactNode } from 'react' import type { Metadata } from 'next' import type { SessionData } from '@/types/Auth' import ReactQueryProviders from '@/providers/ReactQueryProvider' import EdgeProvider from '@/providers/EdgeProvider' import PopupController from '@/components/ui/PopupController' import { cookies } from 'next/headers' import { getIronSession } from 'iron-session' import { sessionOptions } from '@/libs/session' import '@/styles/style.scss' export const metadata: Metadata = { title: 'Create Next App', description: 'Generated by create next app', } interface RootLayoutProps { children: ReactNode header: ReactNode footer: ReactNode floatBtn: ReactNode }6 export default async function RootLayout({ children, header, footer, floatBtn }: RootLayoutProps): Promise { const cookieStore = await cookies() const session = await getIronSession(cookieStore, sessionOptions) const sessionData = session.isLoggedIn ? JSON.stringify(session) : '' return (
{header} {children} {footer} {floatBtn}
) }