import getData from "@/api"; import styles from "./style.module.scss"; import Fanfare from "@/components/fanfare"; import TimeSlot from "@/components/timeSlot"; import Empty from "@/components/empty"; export const dynamic = "force-dynamic"; export async function generateMetadata() { const site = await getData("site", { populate: { edition: { populate: { flyer: { fields: [ "name", "url", "alternativeText", "caption", "width", "height", ], }, programs: true, }, fields: ["id", "introduction", "title", "subtitle"], }, }, fields: ["author"], }); const current_edition = site.data?.attributes.edition.data?.attributes; const flyer = site.data?.attributes.edition.data?.attributes.flyer.data.attributes; const programs = current_edition?.programs.data; const cityWide = programs?.filter( (e) => e.attributes.type === "city-wide" )[0]; return cityWide ? { metadataBase: `${process.env.NEXT_PUBLIC_ORIGIN}`, title: cityWide.attributes.title, description: cityWide.attributes.description, alternates: { canonical: "/prog/city-wide", }, openGraph: { title: cityWide.attributes.title, url: `${process.env.NEXT_PUBLIC_ORIGIN}/prog/city-wide`, description: cityWide.attributes.description, images: { url: `${process.env.NEXT_PUBLIC_IMG_URI}${flyer.url}`, width: flyer.width, height: flyer.height, }, authors: [site.data.attributes.author], type: "website", locale: "fr_FR", siteName: "Le Fefan - Festival de Fanfares", }, } : {}; } export default async function CityWide() { const site = await getData("site", { populate: { edition: { populate: { programs: { populate: { bands: { fields: ["*"], }, time_slots: { fields: ["*"], }, }, }, }, }, }, }); const edition = site.data?.attributes.edition ?? {}; const program = edition.data?.attributes.programs.data.filter( ({ attributes: r }) => r.type === "city-wide" )[0] ?? {}; const time_slots = program.attributes?.time_slots.data ?? []; return (
{program.attributes ? ( <>

{program.attributes.title}

{time_slots.map(({ id, attributes: attr }) => { return ( ); })}
{program.attributes.bands.data.length === 0 ? null : (

Les Fanfares

)}

{program.attributes.description}

{program.attributes.bands.data.map(({ id, attributes: attr }) => { return ( ); })}
) : ( )}
); }