Files
pawol.nu/app/paroles/layout.js
T

66 lines
1.6 KiB
JavaScript

import {Suspense} from 'react'
import {notFound} from 'next/navigation'
import {jwennTeks} from '../../lib/oki-api'
import TeksDrawer from '../../components/teks/teks-drawer'
import Loading from './loading'
const siteName = process.env.NEXT_PUBLIC_SITE_NAME || 'PAWÒL-NU. Paroles et traductions.'
const siteUrl = process.env.NEXT_PUBLIC_SITE_URL || 'https://pawol.nu'
const twitterHandle = `@${process.env.NEXT_PUBLIC_TWITTER_USERNAME || 'OrganisationKA'}`
export const metadata = {
title: siteName,
description: 'Retrouvez les paroles et les traductions de vos chansons préférées.',
openGraph: {
title: siteName,
description: 'Retrouvez les paroles et les traductions de vos chansons préférées.',
url: `${siteUrl}/paroles`,
siteName,
images: [
{
url: `${siteUrl}/logo-512x512.png`,
width: 512,
height: 512
}
],
locale: 'fr_FR',
type: 'website'
},
twitter: {
site: twitterHandle,
card: 'summary_large_image',
title: siteName,
description: 'Retrouvez les paroles et les traductions de vos chansons préférées.',
creator: twitterHandle,
images: {
url: `${siteUrl}/logo-512x512.png`,
alt: `${siteName} Logo`,
},
}
}
async function jwennDotDone() {
const teks = await jwennTeks()
if (!teks) {
notFound()
}
return teks
}
export default async function PawolLayout({children}) {
const teks = await jwennDotDone()
return (
<>
<Suspense fallback={<Loading />}>
<TeksDrawer paroles={teks} />
</Suspense>
<section>
{children}
</section>
</>
)
}