Fixed support for multi-langual slugs

This commit is contained in:
2026-09-09 09:56:47 +02:00
parent db2ac80a1e
commit 2ecfc2e12d
41 changed files with 646 additions and 212 deletions
+9 -1
View File
@@ -8,10 +8,18 @@
* - neither: ""
*
* Pure function — no dependency on Payload or request state.
*/ export function composeTitle({ order = 'page-first', pageTitle, separator = ' | ', siteName }) {
*/ export function composeTitle({ pageTitle, siteName, separator = ' | ', order = 'page-first' }) {
const page = pageTitle?.trim();
const site = siteName?.trim();
if (page && site) {
// Dedup: if the page title already ends with the site name (an editor wrote
// "Budowa auta – RCC" into meta.title), don't append it again → avoid
// "Budowa auta – RCC – RCC". Match the site name at the end, with or without
// the separator before it.
const sep = separator.trim();
if (page === site || page.endsWith(`${sep} ${site}`) || page.endsWith(` ${site}`)) {
return page;
}
return order === 'site-first' ? `${site}${separator}${page}` : `${page}${separator}${site}`;
}
return page || site || '';