aboutsummaryrefslogtreecommitdiffstats
path: root/components/Layout.js
blob: 8c48dd503c002307538fc8a30041d7ebacc2192a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import styles from 'styles/Main.module.scss'
import Head from 'next/head'
import React from 'react'
import { Header, Popup } from 'components'
import useSettings from 'hooks/useSettings'
import PropTypes from 'prop-types'

const Layout = ({
  children
}) => {
  const { settings } = useSettings()

  if (!settings || !settings.theme || !settings.language) return null

  return (
    <>
      <Head>
        <link rel='apple-touch-icon' sizes='180x180' href='/apple-touch-icon.png' />
        <link rel='icon' type='image/png' sizes='32x32' href='/favicon-32x32.png' />
        <link rel='icon' type='image/png' sizes='16x16' href='/favicon-16x16.png' />
        <link rel='manifest' href='/site.webmanifest' />
        <link rel='mask-icon' href='/safari-pinned-tab.svg' color='#5bbad5' />
        <meta name='msapplication-TileColor' content='#da532c' />
        <meta name='theme-color' content='#ffffff' />
      </Head>
      <section className={styles.layout + ' ' + settings.theme}>
        <main>
          <div className='container'>{children}</div>
        </main>
        <Header />
        <Popup />
      </section>
    </>
  )
}

export default Layout

Layout.propTypes = {
  children: PropTypes.node
}