Files
pawol.nu/app/layout.js
T

90 lines
2.4 KiB
JavaScript
Raw Normal View History

2026-06-11 18:52:37 +04:00
import PlausibleProvider from 'next-plausible'
2026-04-21 19:32:05 +04:00
import TopLoader from '../components/top-loader'
2023-07-22 13:02:11 +04:00
import Navigasyon from '../components/navigasyon'
import ThemeRegistry from './theme-registy'
const siteName = process.env.NEXT_PUBLIC_SITE_NAME || 'PAWÒL-NU. Paroles et traductions.'
const siteDescription = process.env.NEXT_PUBLIC_SITE_DESCRIPTION || 'PAWÒL-NU a pour but de promouvoir le Medukam (ou Wanni Wannan) et les productions afro-diasporiques.'
const siteUrl = process.env.NEXT_PUBLIC_SITE_URL || 'https://pawol.nu'
const orgName = process.env.NEXT_PUBLIC_ORG_NAME || 'OKI'
const orgEmail = process.env.NEXT_PUBLIC_ORG_EMAIL || 'kontak@o-k-i.net'
const orgLocation = process.env.NEXT_PUBLIC_ORG_LOCATION || 'Guadeloupe'
const twitterHandle = `@${process.env.NEXT_PUBLIC_TWITTER_USERNAME || 'OrganisationKA'}`
const plausibleUrl = process.env.NEXT_PUBLIC_PLAUSIBLE_URL || null
2023-07-22 13:02:11 +04:00
export const metadata = {
metadataBase: new URL(siteUrl),
manifest: '/manifest.webmanifest',
title: siteName,
description: siteDescription,
author: orgName,
2023-07-22 13:02:11 +04:00
category: 'music',
creator: orgName,
publisher: orgName,
applicationName: siteName,
2023-07-22 13:02:11 +04:00
openGraph: {
title: siteName,
description: siteDescription,
url: siteUrl,
siteName,
2023-07-22 13:02:11 +04:00
images: [
{
url: `${siteUrl}/logo-512x512.png`,
2023-07-22 13:02:11 +04:00
width: 512,
height: 512
}
],
locale: 'fr_FR',
type: 'website'
},
twitter: {
site: twitterHandle,
2023-07-22 13:02:11 +04:00
card: 'summary_large_image',
title: siteName,
description: siteDescription,
creator: twitterHandle,
2023-07-22 13:02:11 +04:00
images: {
url: `${siteUrl}/logo-512x512.png`,
alt: `${siteName} Logo`,
2023-07-22 13:02:11 +04:00
},
}
}
const jsonLd = {
'@context': 'https://schema.org',
'@type': 'Organization',
url: siteUrl,
email: orgEmail,
keywords: [orgName, siteName, 'Paroles', 'Pawol'],
legalName: siteName,
location: orgLocation,
2023-07-22 13:02:11 +04:00
}
2026-06-11 18:33:42 +04:00
export default async function RootLayout({children}) {
const inner = (
<>
<TopLoader color='#ffeb3b' />
<ThemeRegistry>
<Navigasyon />
{children}
</ThemeRegistry>
<section>
<script
type='application/ld+json'
dangerouslySetInnerHTML={{__html: JSON.stringify(jsonLd)}}
/>
</section>
</>
)
2023-07-22 13:02:11 +04:00
return (
2026-04-16 13:56:39 +04:00
<html lang='fr' suppressHydrationWarning>
2023-07-22 13:02:11 +04:00
<body>
{plausibleUrl
? <PlausibleProvider src={plausibleUrl}>{inner}</PlausibleProvider>
: inner}
2023-07-22 13:02:11 +04:00
</body>
</html>
)
}