You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
649 B
JavaScript
29 lines
649 B
JavaScript
import React from "react"
|
|
import PropTypes from "prop-types"
|
|
import axios from 'axios'
|
|
|
|
import Header from '~/components/header'
|
|
import Footer from '~/components/footer'
|
|
import "../styles/layout.css"
|
|
|
|
Layout.getInitialProps = async ({ctx}) => {
|
|
const {data: user} = await axios.get(`/api/auth`, { headers: ctx.req ? { cookie: ctx.req.headers.cookie } : undefined })
|
|
return {user}
|
|
}
|
|
|
|
function Layout({ Component, pageProps, user }){
|
|
return (
|
|
<>
|
|
<Header user={user} />
|
|
<main><Component {...{user, ...pageProps}} /></main>
|
|
<Footer/>
|
|
</>
|
|
)
|
|
}
|
|
|
|
Layout.propTypes = {
|
|
pageProps: PropTypes.object
|
|
}
|
|
|
|
export default Layout
|