Skip to content

Commit

Permalink
Mise à jour des métadonnées
Browse files Browse the repository at this point in the history
  • Loading branch information
mariheck committed Nov 23, 2023
1 parent b873953 commit 5d57382
Show file tree
Hide file tree
Showing 11 changed files with 60 additions and 39 deletions.
Binary file removed .DS_Store
Binary file not shown.
Binary file removed packages/.DS_Store
Binary file not shown.
36 changes: 10 additions & 26 deletions packages/site/app/actus/[id]/[slug]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import GallerieArticle from './GallerieArticle';
import EmbededVideo from '@components/video/EmbededVideo';
import {ParagrapheCustomArticleData} from 'app/types';
import {Metadata, ResolvingMetadata} from 'next';
import {getUpdatedMetadata} from 'src/utils/getUpdatedMetadata';

export async function generateMetadata(
{params}: {params: {id: string}},
Expand All @@ -18,38 +19,21 @@ export async function generateMetadata(
const data = await getMetaData(parseInt(params.id));
const metadata = (await parent) as Metadata;

let newMetaData = getUpdatedMetadata(metadata, {
title: data.title ?? 'Actualités',
networkTitle: data.title,
description: data.description,
image: data.image,
});

return {
...metadata,
title: data.title ? {absolute: data.title} : 'Actualités',
description: data.description ? data.description : metadata.description,
...newMetaData,
openGraph: {
...metadata.openGraph,
title: data.title ? data.title : metadata.openGraph?.title,
description: data.description
? data.description
: metadata.openGraph?.description,
images: data.image
? [
{
url: data.image.url,
width: data.image.width,
height: data.image.height,
type: data.image.type,
alt: data.image.alt,
},
]
: metadata.openGraph?.images,
...newMetaData.openGraph,
type: 'article',
publishedTime: data.publishedAt,
modifiedTime: data.updatedAt,
},
robots: {
index: true,
follow: true,
'max-video-preview': -1,
'max-image-preview': 'large',
'max-snippet': -1,
},
};
}

Expand Down
18 changes: 18 additions & 0 deletions packages/site/app/budget/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,24 @@ import BudgetConsomme from './BudgetConsomme';
import PerformanceBudget from './PerformanceBudget';
import {getStrapiData} from './utils';
import NoResult from '@components/info/NoResult';
import {Metadata, ResolvingMetadata} from 'next';
import {getUpdatedMetadata} from 'src/utils/getUpdatedMetadata';

export async function generateMetadata(
{params}: {params: {}},
parent: ResolvingMetadata,
): Promise<Metadata> {
const metadata = (await parent) as Metadata;
const strapiData = await getStrapiData();

return getUpdatedMetadata(metadata, {
title: strapiData?.seo.metaTitle ?? 'Budget',
networkTitle: strapiData?.seo.metaTitle,
description:
strapiData?.seo.metaDescription ?? strapiData?.header.description,
image: strapiData?.seo.metaImage,
});
}

const Budget = async () => {
const strapiData = await getStrapiData();
Expand Down
17 changes: 16 additions & 1 deletion packages/site/app/collectivites/[code]/[name]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ export async function generateMetadata(
const collectiviteData = await fetchCollectivite(params.code);
const strapiData = await getStrapiData(params.code);
const strapiDefaultData = await getStrapiDefaultData();
const couverture = strapiData?.couverture?.attributes ?? undefined;

if (!collectiviteData || !collectiviteData.nom) return metadata;

Expand All @@ -33,9 +34,23 @@ export async function generateMetadata(
strapiData?.seo.metaTitle ??
strapiDefaultData?.seo.metaTitle ??
collectiviteData.nom,
networkTitle:
strapiData?.seo.metaTitle ??
strapiDefaultData?.seo.metaTitle ??
collectiviteData.nom,
description:
strapiData?.seo.metaDescription ?? strapiDefaultData?.seo.metaDescription,
image: strapiData?.seo.metaImage ?? strapiDefaultData?.seo.metaImage,
image: strapiData?.seo.metaImage
? strapiData.seo.metaImage
: couverture
? {
url: couverture.url as unknown as string,
width: couverture.width as unknown as number,
height: couverture.height as unknown as number,
type: couverture.mime as unknown as string,
alt: couverture.alternativeText as unknown as string,
}
: strapiDefaultData?.seo.metaImage,
});
}

Expand Down
1 change: 1 addition & 0 deletions packages/site/app/contact/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ export async function generateMetadata(

return getUpdatedMetadata(metadata, {
title: strapiData?.seo.metaTitle ?? 'Contact',
networkTitle: strapiData?.seo.metaTitle,
description: strapiData?.seo.metaDescription,
image: strapiData?.seo.metaImage,
});
Expand Down
8 changes: 2 additions & 6 deletions packages/site/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,11 @@ import '@gouvfr/dsfr/dist/dsfr.css';
import './global.css';
import {Footer} from '@components/footer/Footer';
import {Metadata} from 'next';
import {headers} from 'next/headers';
import {getMetaData} from './utils';
import {Amplitude} from "./Amplitude";
import {Amplitude} from './Amplitude';

export async function generateMetadata(): Promise<Metadata> {
const data = await getMetaData();
const headersList = headers();
const baseUrl = headersList.get('host') ?? '';
const pathname = headersList.get('x-invoke-path') ?? '';

return {
title: {
Expand Down Expand Up @@ -53,7 +49,7 @@ export async function generateMetadata(): Promise<Metadata> {
openGraph: {
title: data.metaTitle ?? 'Territoires en Transitions',
description: data.metaDescription,
url: `${baseUrl}${pathname !== '/' ? pathname : ''}`,
url: 'https://www.territoiresentransitions.fr',
siteName: data.metaTitle ?? 'Territoires en Transitions',
images: data.metaImage
? [
Expand Down
5 changes: 3 additions & 2 deletions packages/site/app/outil-numerique/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,9 @@ export async function generateMetadata(
const strapiData = await getStrapiData();

return getUpdatedMetadata(metadata, {
title: strapiData?.seo.metaTitle ?? "L'outil numérique",
description: strapiData?.seo.metaDescription,
title: strapiData?.seo.metaTitle ?? 'Outil numérique',
networkTitle: strapiData?.seo.metaTitle,
description: strapiData?.seo.metaDescription ?? strapiData?.header.accroche,
image: strapiData?.seo.metaImage,
});
}
Expand Down
5 changes: 3 additions & 2 deletions packages/site/app/programme/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,9 @@ export async function generateMetadata(
const strapiData = await getStrapiData();

return getUpdatedMetadata(metadata, {
title: strapiData?.seo.metaTitle ?? 'Le programme',
description: strapiData?.seo.metaDescription,
title: strapiData?.seo.metaTitle ?? 'Programme',
networkTitle: strapiData?.seo.metaTitle,
description: strapiData?.seo.metaDescription ?? strapiData?.description,
image: strapiData?.seo.metaImage,
});
}
Expand Down
6 changes: 5 additions & 1 deletion packages/site/app/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,21 @@ export const getMetaData = async () => {
const data = await fetchSingle('page-accueil', [
['populate[0]', 'seo'],
['populate[1]', 'seo.metaImage'],
['populate[2]', 'Couverture'],
]);

const metaImage =
(data?.attributes?.seo?.metaImage?.data as unknown as StrapiItem)
?.attributes ?? undefined;
?.attributes ??
(data.attributes.Couverture.data as unknown as StrapiItem)?.attributes ??
undefined;

return {
metaTitle:
(data?.attributes?.seo?.metaTitle as unknown as string) ?? undefined,
metaDescription:
(data?.attributes?.seo?.metaDescription as unknown as string) ??
(data.attributes.Titre as unknown as string) ??
undefined,
metaImage: metaImage
? {
Expand Down
3 changes: 2 additions & 1 deletion packages/site/src/utils/getUpdatedMetadata.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ export const getUpdatedMetadata = (
metadata: Metadata,
newData: {
title?: string;
networkTitle?: string;
description?: string;
image?: {
url: string;
Expand All @@ -23,7 +24,7 @@ export const getUpdatedMetadata = (
twitter: metadata.twitter,
openGraph: {
...metadata.openGraph,
title: newData.title ?? metadata.openGraph?.title,
title: newData.networkTitle ?? metadata.openGraph?.title,
description: newData.description ?? metadata.openGraph?.description,
images: newData.image ?? metadata.openGraph?.images,
},
Expand Down

0 comments on commit 5d57382

Please sign in to comment.