all repos — caroster @ 9e700046837e1356f38ebf38303313c053368149

[Octree] Group carpool to your event https://caroster.io

frontend/layouts/Default.tsx (view raw)

 1import {ReactNode} from 'react';
 2import {Helmet} from 'react-helmet';
 3import useGTM from '../hooks/useGTM';
 4import GenericToolbar from '../containers/GenericToolbar';
 5import {ActionType} from '../containers/GenericMenu/Action';
 6
 7interface Props {
 8  children: ReactNode;
 9  className?: string;
10  menuTitle?: string;
11  menuActions?: Array<ActionType>;
12  pageTitle?: string;
13  displayMenu?: boolean;
14  goBack?: () => void;
15}
16
17const DefaultLayout = (props: Props) => {
18  const {
19    children,
20    className,
21    pageTitle = undefined,
22    displayMenu = true,
23    menuTitle = 'Caroster',
24    menuActions,
25    goBack = null,
26  } = props;
27
28  useGTM();
29
30  return (
31    <div className={className}>
32      <Helmet>
33        <title>{pageTitle || menuTitle}</title>
34      </Helmet>
35      {displayMenu && (menuTitle || menuActions) && (
36        <GenericToolbar
37          title={menuTitle}
38          actions={menuActions}
39          goBack={goBack}
40        />
41      )}
42      {children}
43    </div>
44  );
45};
46
47export default DefaultLayout;