89 lines
2.4 KiB
JavaScript
89 lines
2.4 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 { ToastContainer } from 'react-toastify'
|
|
|
|
import { QcastProvider } from './QcastProvider'
|
|
import Header from '@/components/header/Header'
|
|
import QModal from '@/components/common/modal/QModal'
|
|
|
|
import './globals.css'
|
|
import '../styles/style.scss'
|
|
import '../styles/contents.scss'
|
|
import Dimmed from '@/components/ui/Dimmed'
|
|
|
|
// 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)
|
|
|
|
let sessionProps = {}
|
|
|
|
if (session.isLoggedIn) {
|
|
sessionProps = {
|
|
userId: session.userId,
|
|
saleStoreId: session.saleStoreId,
|
|
name: session.name,
|
|
mail: session.mail,
|
|
tel: session.tel,
|
|
storeId: session.storeId,
|
|
userNm: session.userNm,
|
|
userNmKana: session.userNmKana,
|
|
category: session.category,
|
|
telNo: session.telNo,
|
|
fax: session.fax,
|
|
email: session.email,
|
|
storeLvl: session.storeLvl,
|
|
groupId: session.groupId,
|
|
pwdInitYn: session.pwdInitYn,
|
|
isLoggedIn: session.isLoggedIn,
|
|
}
|
|
}
|
|
|
|
if (!headerPathname.includes('/login') && !session.isLoggedIn) {
|
|
redirect('/login')
|
|
}
|
|
|
|
return (
|
|
<RecoilRootWrapper>
|
|
<html lang="en">
|
|
<body>
|
|
{headerPathname === '/login' || headerPathname === '/join' ? (
|
|
<QcastProvider>{children}</QcastProvider>
|
|
) : (
|
|
<div className="wrap">
|
|
<Header userSession={sessionProps} />
|
|
<div className="content">
|
|
<Dimmed />
|
|
<QcastProvider>{children}</QcastProvider>
|
|
</div>
|
|
<footer>
|
|
<div className="footer-inner">
|
|
<span>COPYRIGHT©2024 Hanwha Japan All Rights Reserved.</span>
|
|
</div>
|
|
</footer>
|
|
</div>
|
|
)}
|
|
<ToastContainer />
|
|
<QModal />
|
|
</body>
|
|
</html>
|
|
</RecoilRootWrapper>
|
|
)
|
|
}
|