2022-01-01 19:37:33 +00:00
|
|
|
import React, { useEffect } from 'react'
|
|
|
|
import Head from 'next/head'
|
|
|
|
import Footer from './Footer'
|
2022-01-07 15:01:42 +00:00
|
|
|
import getMatomo from '../lib/getMatomo'
|
|
|
|
import { UserOptions } from '@datapunt/matomo-tracker-js/es/types'
|
2022-01-01 19:37:33 +00:00
|
|
|
|
|
|
|
export const siteTitle = 'FediSearch'
|
2022-01-07 19:11:24 +00:00
|
|
|
export const siteDescription = 'Search people on Fediverse'
|
2022-01-01 19:37:33 +00:00
|
|
|
|
2022-01-07 15:01:42 +00:00
|
|
|
const Layout:React.FC<{ matomoConfig:UserOptions, children: React.ReactNode }> = ({ matomoConfig, children }) => {
|
2022-01-01 19:37:33 +00:00
|
|
|
useEffect(() => {
|
2022-01-07 15:01:42 +00:00
|
|
|
getMatomo(matomoConfig).trackPageView()
|
2022-01-07 15:12:25 +00:00
|
|
|
}, [])
|
2022-01-01 19:37:33 +00:00
|
|
|
return (
|
|
|
|
<div className={'container'}>
|
|
|
|
<Head>
|
2022-01-07 19:11:24 +00:00
|
|
|
<title>{siteTitle}</title>
|
2022-01-01 19:37:33 +00:00
|
|
|
<link rel="icon" href="/fedisearch.png"/>
|
2022-01-07 19:11:24 +00:00
|
|
|
<meta name="description" content={siteDescription}/>
|
2022-01-01 19:37:33 +00:00
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
2022-01-07 19:11:24 +00:00
|
|
|
<meta property="og:title" content={siteTitle}/>
|
|
|
|
<meta property="og:description" content={siteDescription}/>
|
|
|
|
<meta property="og:image" content="/fedisearch.png"/>
|
|
|
|
<meta property="og:type" content="website"/>
|
2022-01-01 19:37:33 +00:00
|
|
|
</Head>
|
|
|
|
<header>
|
|
|
|
<h1><a href={'/'}>FediSearch</a></h1>
|
|
|
|
<a href={'/'} className={'logo'}>
|
|
|
|
<img
|
|
|
|
src="/fedisearch.svg"
|
|
|
|
alt={'FediSearch logo'}
|
|
|
|
/>
|
|
|
|
</a>
|
|
|
|
</header>
|
|
|
|
<main>
|
|
|
|
{children}
|
|
|
|
</main>
|
|
|
|
<Footer/>
|
|
|
|
</div>
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
export default Layout
|