umami/components/layout/Layout.js

33 lines
1.5 KiB
JavaScript
Raw Normal View History

import { Container } from 'react-basics';
2020-07-17 10:03:38 +02:00
import Head from 'next/head';
2020-08-07 11:27:12 +02:00
import Header from 'components/layout/Header';
import Footer from 'components/layout/Footer';
2021-05-15 10:29:39 +02:00
import useLocale from 'hooks/useLocale';
import { useRouter } from 'next/router';
2020-07-17 10:03:38 +02:00
2020-08-18 02:23:46 +02:00
export default function Layout({ title, children, header = true, footer = true }) {
2021-11-05 01:09:03 +01:00
const { dir } = useLocale();
const { basePath } = useRouter();
2021-05-13 08:15:37 +02:00
2020-07-17 10:03:38 +02:00
return (
<Container dir={dir} style={{ maxWidth: 1140 }}>
2021-05-15 10:29:39 +02:00
<Head>
2022-12-07 03:36:41 +01:00
<title>{title ? `${title} | umami` : 'umami'}</title>
<link rel="icon" href={`${basePath}/favicon.ico`} />
<link rel="apple-touch-icon" sizes="180x180" href={`${basePath}/apple-touch-icon.png`} />
<link rel="icon" type="image/png" sizes="32x32" href={`${basePath}/favicon-32x32.png`} />
<link rel="icon" type="image/png" sizes="16x16" href={`${basePath}/favicon-16x16.png`} />
<link rel="manifest" href={`${basePath}/site.webmanifest`} />
<link rel="mask-icon" href={`${basePath}/safari-pinned-tab.svg`} color="#5bbad5" />
<meta name="msapplication-TileColor" content="#da532c" />
<meta name="theme-color" content="#fafafa" media="(prefers-color-scheme: light)" />
<meta name="theme-color" content="#2f2f2f" media="(prefers-color-scheme: dark)" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
2020-07-17 10:03:38 +02:00
</Head>
2020-08-07 07:03:02 +02:00
{header && <Header />}
2022-03-12 01:04:05 +01:00
<main>{children}</main>
2020-08-07 07:03:02 +02:00
{footer && <Footer />}
</Container>
2020-07-17 10:03:38 +02:00
);
}