Page.tsx 728 B

12345678910111213141516171819202122232425262728293031
  1. import Header from './Header'
  2. import Meta from './Meta'
  3. import Footer from './Footer'
  4. import GlobalStyle from '../../styles/global'
  5. import { useContext, FunctionComponent } from 'react'
  6. import { UserContext } from '../../user/hooks'
  7. import { LoginPage } from '../../user'
  8. const Page: FunctionComponent = ({ children }) => {
  9. const { user } = useContext(UserContext)
  10. return (
  11. <>
  12. <Meta />
  13. <Header />
  14. <main>
  15. {(!user || user.loading) && <p>Please wait...</p>}
  16. {user?.error && <p>Error logging in.</p>}
  17. {!user?.data && <LoginPage />}
  18. {children}
  19. </main>
  20. <Footer />
  21. <style jsx global>
  22. {GlobalStyle}
  23. </style>
  24. </>
  25. )
  26. }
  27. export default Page