Something went wrong on our end
-
Julien MARGAIL authoredJulien MARGAIL authored
layout.tsx 969 B
/**
* Main site Layout
*/
import React from "react";
import Helmet from "react-helmet";
import { useStaticQuery, graphql, PageProps } from "gatsby";
import Footer from "./footer";
import Header from "./header";
import SEO from "./seo";
interface Props {
children: React.ReactNode;
UserMenu?: React.ReactNode;
}
/**
* Default Layout with Header (Helmet & SEO) and Footer
* @param {Props} props - Page content
* @returns {JSX.Element} The complete page
*/
const Layout = ({ UserMenu, children }: Props): JSX.Element => {
const query = useStaticQuery(graphql`
query LayoutQuery {
site {
siteMetadata {
icon
}
}
}
`);
return (
<>
<Helmet>
<link rel="icon" href={query.site.siteMetadata.icon} type="image/png" />
</Helmet>
<SEO />
<Header UserMenu={UserMenu}></Header>
<div className="pt-16">{children}</div>
<Footer />
</>
);
};
export default Layout;