All files / pages/cms index.js

0% Statements 0/11
0% Branches 0/2
0% Functions 0/3
0% Lines 0/11

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 48 49 50 51 52 53 54 55 56 57                                                                                                                 
import { getPage, getPages } from '../../lib/cms'
import Link from 'next/link'
 
export default function CMS({ locale, pages_en, pages_fr }) {
  let pages = locale === 'en' ? pages_en : pages_fr
  return (
    <div className="max-w-4xl mx-auto p-2">
      <h1>CMS Pages</h1>
      <ul className="list-disc list-inside ">
        {pages.map((page) => (
          <li key={page.slug}>
            <Link href={`/cms/${page.slug}`}>
              <a className="underline underline-offset-2 text-indigo-800 visited:text-purple-800">
                {page.title.rendered}
              </a>
            </Link>
          </li>
        ))}
      </ul>
    </div>
  )
}
 
export async function getStaticProps({ locale }) {
  let pages = await getPages()
  let pages_en = [],
    pages_fr = []
  for (let page of pages) {
    pages_en.push(await getPage(page.slug, 'en'))
    pages_fr.push(await getPage(page.slug, 'fr'))
  }
 
  /* istanbul ignore next */
  const langToggleLink = locale === 'en' ? `/fr/cms` : `/cms`
 
  /* Place-holder Meta Data Props */
  const meta = {
    data_en: {
      title: `Digital Dojo - CMS`,
      desc: 'English',
      author: '',
      keywords: '',
    },
    data_fr: {
      title: `Dojo Numérique - CMS`,
      desc: 'Français',
      author: '',
      keywords: '',
    },
  }
 
  return {
    props: { locale, langToggleLink, meta, pages_en, pages_fr },
    revalidate: 1,
  }
}