mirror of
https://github.com/vercel/commerce.git
synced 2025-07-22 04:14:18 +00:00
40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
import { CommerceProvider } from '@framework'
|
|
import { useRouter } from 'next/router'
|
|
import { FC } from 'react'
|
|
import { useModalCommon } from 'src/components/hooks'
|
|
import Footer from '../Footer/Footer'
|
|
import Header from '../Header/Header'
|
|
import s from './Layout.module.scss'
|
|
|
|
interface Props {
|
|
className?: string
|
|
children?: any
|
|
}
|
|
|
|
// note: demo code
|
|
const Layout: FC<Props> = ({ children }) => {
|
|
const { locale = 'en-US' } = useRouter()
|
|
const { visible: visibleCartDrawer, openModal, closeModal: closeCartDrawer } = useModalCommon({ initialValue: false })
|
|
|
|
const toggle = () => {
|
|
if (visibleCartDrawer) {
|
|
closeCartDrawer()
|
|
} else {
|
|
openModal()
|
|
}
|
|
}
|
|
return (
|
|
<CommerceProvider locale={locale}>
|
|
<div className={s.mainLayout}>
|
|
<Header />
|
|
<main >{children}</main>
|
|
<button onClick={toggle}>toggle card: {visibleCartDrawer.toString()}</button>
|
|
<Footer />
|
|
</div>
|
|
</CommerceProvider>
|
|
|
|
)
|
|
}
|
|
|
|
export default Layout
|