Skip to content

Commit 39187ae

Browse files
committed
coptic compass rebrand extension og layer
1 parent 6ff58b8 commit 39187ae

13 files changed

Lines changed: 1281 additions & 405 deletions

File tree

src/app/(site)/[locale]/entry/[id]/page.tsx

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ import {
1919
getDictionaryPath,
2020
getEntryPath,
2121
getLocalizedHomePath,
22-
getOpenGraphLocale,
2322
} from "@/lib/locale";
2423
import { getTranslation } from "@/lib/i18n";
25-
import { buildPageTitle, siteConfig } from "@/lib/site";
24+
import { createPageSocialMetadata, createSocialImage } from "@/lib/metadata";
25+
import { siteConfig } from "@/lib/site";
2626
import { resolvePublicLocale } from "@/lib/publicLocaleRouting";
2727
import {
2828
createBreadcrumbStructuredData,
@@ -61,6 +61,12 @@ export async function generateMetadata({
6161
const description = buildEntryDescription(entry, locale);
6262
const path = getEntryPath(entry.id, locale);
6363
const imageUrl = buildEntryOpenGraphImageUrl(entry.id, locale);
64+
const image = createSocialImage(
65+
imageUrl,
66+
locale === "nl"
67+
? `${headword} | ${siteConfig.brandName} woordenboeklemma`
68+
: `${headword} | ${siteConfig.brandName} dictionary entry`,
69+
);
6470

6571
return {
6672
metadataBase: new URL(siteConfig.liveUrl),
@@ -70,25 +76,13 @@ export async function generateMetadata({
7076
canonical: path,
7177
languages: createLanguageAlternates(`/entry/${entry.id}`),
7278
},
73-
openGraph: {
74-
title: buildPageTitle(title),
79+
...createPageSocialMetadata({
80+
title,
7581
description,
76-
url: `${siteConfig.liveUrl}${path}`,
77-
locale: getOpenGraphLocale(locale),
78-
images: [
79-
{
80-
url: imageUrl,
81-
width: 1200,
82-
height: 630,
83-
alt: title,
84-
},
85-
],
86-
},
87-
twitter: {
88-
title: buildPageTitle(title),
89-
description,
90-
images: [imageUrl],
91-
},
82+
path,
83+
locale,
84+
images: [image],
85+
}),
9286
};
9387
}
9488

src/app/(site)/[locale]/grammar/[slug]/page.tsx

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,17 @@ import {
88
getPublishedGrammarLessonBundleBySlug,
99
listPublishedGrammarLessons,
1010
} from "@/features/grammar/lib/grammarDataset";
11+
import { buildLessonOpenGraphImageUrl } from "@/features/grammar/lib/lessonOpenGraph";
1112
import { getGrammarLessonPath } from "@/features/grammar/lib/grammarPaths";
1213
import {
1314
createLanguageAlternates,
1415
getGrammarPath,
1516
getLocalizedHomePath,
16-
getOpenGraphLocale,
1717
} from "@/lib/locale";
1818
import { getTranslation } from "@/lib/i18n";
19+
import { createPageSocialMetadata, createSocialImage } from "@/lib/metadata";
1920
import { resolvePublicLocale } from "@/lib/publicLocaleRouting";
20-
import { buildPageTitle, siteConfig } from "@/lib/site";
21+
import { siteConfig } from "@/lib/site";
2122
import {
2223
createBreadcrumbStructuredData,
2324
createGrammarLessonStructuredData,
@@ -58,6 +59,14 @@ export async function generateMetadata({
5859
const title = buildGrammarLessonSeoTitle(lessonBundle.lesson, locale);
5960
const description = buildGrammarLessonSeoDescription(lessonBundle, locale);
6061
const path = getGrammarLessonPath(lessonBundle.lesson.slug, locale);
62+
const imageUrl = buildLessonOpenGraphImageUrl(
63+
lessonBundle.lesson.slug,
64+
locale,
65+
);
66+
const image = createSocialImage(
67+
imageUrl,
68+
`${lessonBundle.lesson.title[locale]} | ${siteConfig.brandName} Grammar`,
69+
);
6170

6271
return {
6372
metadataBase: new URL(siteConfig.liveUrl),
@@ -69,16 +78,13 @@ export async function generateMetadata({
6978
`/grammar/${lessonBundle.lesson.slug}`,
7079
),
7180
},
72-
openGraph: {
73-
title: buildPageTitle(title),
81+
...createPageSocialMetadata({
82+
title,
7483
description,
75-
url: `${siteConfig.liveUrl}${path}`,
76-
locale: getOpenGraphLocale(locale),
77-
},
78-
twitter: {
79-
title: buildPageTitle(title),
80-
description,
81-
},
84+
path,
85+
locale,
86+
images: [image],
87+
}),
8288
};
8389
}
8490

src/app/(site)/[locale]/publications/[id]/page.tsx

Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,16 @@ import {
1010
getRelatedPublications,
1111
publications,
1212
} from "@/features/publications/lib/publications";
13+
import { buildPublicationOpenGraphImageUrl } from "@/features/publications/lib/publicationOpenGraph";
1314
import { listPublishedGrammarLessonsForPublication } from "@/features/grammar/lib/grammarContentGraph";
1415
import { getTranslation } from "@/lib/i18n";
1516
import {
1617
createLanguageAlternates,
1718
getLocalizedHomePath,
18-
getOpenGraphLocale,
1919
getPublicationsPath,
2020
} from "@/lib/locale";
21-
import { buildPageTitle, siteConfig } from "@/lib/site";
21+
import { createPageSocialMetadata, createSocialImage } from "@/lib/metadata";
22+
import { siteConfig } from "@/lib/site";
2223
import { resolvePublicLocale } from "@/lib/publicLocaleRouting";
2324
import {
2425
createBreadcrumbStructuredData,
@@ -56,9 +57,11 @@ export async function generateMetadata({
5657
const title = buildPublicationTitle(publication);
5758
const description = buildPublicationDescription(publication, locale);
5859
const path = getPublicationPath(publication.id, locale);
59-
const imageUrl = publication.image
60-
? `${siteConfig.liveUrl}${publication.image}`
61-
: undefined;
60+
const imageUrl = buildPublicationOpenGraphImageUrl(publication.id, locale);
61+
const image = createSocialImage(
62+
imageUrl,
63+
`${title} | ${siteConfig.brandName} Publications`,
64+
);
6265
const shouldIndex = publication.status === "published";
6366

6467
return {
@@ -75,27 +78,13 @@ export async function generateMetadata({
7578
canonical: path,
7679
languages: createLanguageAlternates(`/publications/${publication.id}`),
7780
},
78-
openGraph: {
79-
title: buildPageTitle(title),
80-
description,
81-
url: `${siteConfig.liveUrl}${path}`,
82-
locale: getOpenGraphLocale(locale),
83-
...(imageUrl
84-
? {
85-
images: [
86-
{
87-
url: imageUrl,
88-
alt: title,
89-
},
90-
],
91-
}
92-
: {}),
93-
},
94-
twitter: {
95-
title: buildPageTitle(title),
81+
...createPageSocialMetadata({
82+
title,
9683
description,
97-
...(imageUrl ? { images: [imageUrl] } : {}),
98-
},
84+
path,
85+
locale,
86+
images: [image],
87+
}),
9988
};
10089
}
10190

0 commit comments

Comments
 (0)