All files / src/pages home.tsx

100% Statements 5/5
100% Branches 0/0
100% Functions 2/2
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47                                1x 1x                           1x 1x         1x                  
import React from 'react'
import { GetStaticProps } from 'next'
import { fetchContent } from '../lib/cms'
import { serverSideTranslations } from 'next-i18next/serverSideTranslations'
import { NextSeo } from 'next-seo'
import { useTranslation } from 'next-i18next'
 
interface HomeProps {
  locale: string
  content: {
    header: string
    paragraph: string
  }
}
 
export default function Home(props: HomeProps) {
  const { t } = useTranslation(['home', 'common'])
  return (
    <>
      <NextSeo title={t('title')} />
      <div
        id="homeContent"
        className="container mx-auto px-6 mt-5 bg-slate-300 p-8"
      >
        <h1>{props.content.header}</h1>
        <p>{props.content.paragraph}</p>
      </div>
    </>
  )
}
 
export const getStaticProps: GetStaticProps = async ({ locale }) => {
  const content = await fetchContent()
 
  /* istanbul ignore next */
  const langToggleLink = locale === 'en' ? '/fr/home' : '/home'
 
  return {
    props: {
      ...(await serverSideTranslations(locale as string, ['common', 'home'])),
      locale,
      langToggleLink,
      content,
    },
  }
}