qcast-front/src/app/layout.js
2024-09-19 09:54:31 +09:00

57 lines
1.6 KiB
JavaScript

import { Inter } from 'next/font/google'
import { headers } from 'next/headers'
import { redirect } from 'next/navigation'
import { getSession } from '@/lib/authActions'
import RecoilRootWrapper from './RecoilWrapper'
import UIProvider from './UIProvider'
import { ToastContainer } from 'react-toastify'
import Header from '@/components/header/Header'
import QModal from '@/components/common/modal/QModal'
import { QcastProvider } from './QcastProvider'
import './globals.css'
import '../styles/style.scss'
const inter = Inter({ subsets: ['latin'] })
export const metadata = {
title: 'Create Next App',
description: 'Generated by create next app',
}
export default async function RootLayout({ children }) {
const headersList = headers()
const headerPathname = headersList.get('x-pathname') || ''
// console.log('headerPathname:', headerPathname)
// const isLoggedIn = await checkSession()
const session = await getSession()
console.log('session[layout]:', session)
if (!headerPathname.includes('/login') && !session.isLoggedIn) {
redirect('/login')
}
return (
<html lang="en">
<body className={inter.className}>
{/*{headerPathname !== '/login' && <Headers />}*/}
<RecoilRootWrapper>
<div className="wrap">
<Header loginedUserNm={session.userNm} />
<div className="content">
<UIProvider>
<QcastProvider>{children}</QcastProvider>
</UIProvider>
</div>
</div>
<ToastContainer />
<QModal />
</RecoilRootWrapper>
</body>
</html>
)
}