From 41b882e0645e3c6c8347d235bf61b11b43196d5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Famibelle-Pronzola?= Date: Sat, 22 Jul 2023 13:11:56 +0400 Subject: [PATCH] Move awtis page to app directory --- app/awtis/[slug]/page.js | 88 ++++++++++++++++++++++++++++++++++ app/awtis/layout.js | 7 +++ app/awtis/page.js | 75 +++++++++++++++++++++++++++++ pages/awtis/[slug].js | 101 --------------------------------------- pages/awtis/index.js | 88 ---------------------------------- 5 files changed, 170 insertions(+), 189 deletions(-) create mode 100644 app/awtis/[slug]/page.js create mode 100644 app/awtis/layout.js create mode 100644 app/awtis/page.js delete mode 100644 pages/awtis/[slug].js delete mode 100644 pages/awtis/index.js diff --git a/app/awtis/[slug]/page.js b/app/awtis/[slug]/page.js new file mode 100644 index 0000000..52cb4e1 --- /dev/null +++ b/app/awtis/[slug]/page.js @@ -0,0 +1,88 @@ +import {notFound} from 'next/navigation' +import Box from '@mui/material/Box' + +import AwtisDetay from '../../../components/awtis/awtis-detay' +import {jwennAwtisEpiSlug} from '../../../lib/oki-api' +import {formatKuveti} from '../../../lib/kuveti' + +const apiUrl = process.env.NEXT_PUBLIC_API_URL_ROOT || 'http://localhost:1337' +const siteUrl = process.env.NEXT_PUBLIC_SITE_URL || 'http://localhost:3000' + +async function jwennAwtis(slug) { + const awtis = await jwennAwtisEpiSlug(slug) + + if (!awtis) { + notFound() + } + + return awtis +} + +export async function generateMetadata({params}) { + const {slug} = params + const anAwtis = await jwennAwtis(slug) + + const title = `OKI | ${anAwtis.attributes.alias} - Paroles et Traductions` + const description = `${anAwtis.attributes.alias}${anAwtis?.attributes?.biographie ? ` : ${anAwtis?.attributes?.biographie.slice(0, 100)}...` : ''}` + const url = `${siteUrl}/awtis/${slug}` + + const {photo} = anAwtis.attributes + const kuvetiFormat = formatKuveti(photo) + + return { + title, + description, + openGraph: { + title, + description, + url, + siteName: title, + images: [ + { + url: `${apiUrl}${kuvetiFormat?.url}`, + width: kuvetiFormat?.width, + height: kuvetiFormat?.height + } + ], + locale: 'fr_FR', + type: 'website' + }, + twitter: { + site: '@OrganisationKA', + card: 'summary_large_image', + title, + description, + creator: '@OrganisationKA', + images: { + url: `${apiUrl}${kuvetiFormat?.url}`, + alt: `Photo de ${anAwtis.attributes.alias}`, + } + } + } +} + +export default async function AwtisPajSlug({params}) { + const {slug} = params + const anAwtis = await jwennAwtis(slug) + + const jsonLd = { + '@context': 'http://schema.org', + '@type': 'Person', + name: anAwtis.attributes.alias, + url: `${siteUrl}/awtis/${slug}` + } + + return ( + <> + + + +
+