Files
supanextail/components/Layout.tsx
2021-08-13 21:09:04 +02:00

50 lines
1.6 KiB
TypeScript

/* This is your Layout. It will wrap your content on every page of the website.
You'll have:
* The NavBar
* The Content, generally a component
* The Footer
You can change it as you want with new components.
You also have the head component containing all the favicon for different platforms.
The images are in the public folder.
*/
import 'react-toastify/dist/ReactToastify.css';
import Footer from './Footer';
import Head from 'next/head';
import Nav from './Nav';
import { ToastContainer } from 'react-toastify';
import { useAuth } from 'utils/AuthContext';
type LayoutProps = {
children: JSX.Element;
};
const Layout = ({ children }: LayoutProps): JSX.Element => {
const { user, signOut } = useAuth();
return (
<div className="min-h-screen w-full bg-base-100 text-base-content m-auto font-body">
<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>
<div className="max-w-7xl flex flex-col min-h-screen mx-auto p-5">
<Nav user={user} signOut={signOut} />
<main className="flex-1">{children}</main>
<ToastContainer position="bottom-center" />
<Footer />
</div>
</div>
);
};
export default Layout;