+3
-21
@@ -110,35 +110,17 @@ export function parseSiteSettingsValue(
|
||||
const siteSettings: SiteSettings = {
|
||||
locales: {
|
||||
ar: normalizeSiteLocaleSettings(
|
||||
{
|
||||
titleTemplate:
|
||||
typeof parsed.titleTemplate === "string" && parsed.titleTemplate.trim()
|
||||
? parsed.titleTemplate.trim()
|
||||
: undefined,
|
||||
...(locales.ar && typeof locales.ar === "object" ? (locales.ar as Record<string, unknown>) : {}),
|
||||
},
|
||||
locales.ar && typeof locales.ar === "object" ? (locales.ar as Record<string, unknown>) : {},
|
||||
defaults.locales.ar.siteName,
|
||||
defaults.locales.ar.siteDescription,
|
||||
),
|
||||
en: normalizeSiteLocaleSettings(
|
||||
{
|
||||
titleTemplate:
|
||||
typeof parsed.titleTemplate === "string" && parsed.titleTemplate.trim()
|
||||
? parsed.titleTemplate.trim()
|
||||
: undefined,
|
||||
...(locales.en && typeof locales.en === "object" ? (locales.en as Record<string, unknown>) : {}),
|
||||
},
|
||||
locales.en && typeof locales.en === "object" ? (locales.en as Record<string, unknown>) : {},
|
||||
defaults.locales.en.siteName,
|
||||
defaults.locales.en.siteDescription,
|
||||
),
|
||||
de: normalizeSiteLocaleSettings(
|
||||
{
|
||||
titleTemplate:
|
||||
typeof parsed.titleTemplate === "string" && parsed.titleTemplate.trim()
|
||||
? parsed.titleTemplate.trim()
|
||||
: undefined,
|
||||
...(locales.de && typeof locales.de === "object" ? (locales.de as Record<string, unknown>) : {}),
|
||||
},
|
||||
locales.de && typeof locales.de === "object" ? (locales.de as Record<string, unknown>) : {},
|
||||
defaults.locales.de.siteName,
|
||||
defaults.locales.de.siteDescription,
|
||||
),
|
||||
|
||||
@@ -50,4 +50,20 @@ describe("site settings helpers", () => {
|
||||
|
||||
expect(settings).toEqual(buildDefaultSiteSettings("Fallback Name"));
|
||||
});
|
||||
|
||||
it("ignores legacy top-level title template values", () => {
|
||||
const settings = parseSiteSettingsValue(
|
||||
JSON.stringify({
|
||||
titleTemplate: "{pageTitle} | moh-sass | Legacy",
|
||||
locales: {
|
||||
ar: {
|
||||
siteName: "اسم الموقع",
|
||||
},
|
||||
},
|
||||
}),
|
||||
"Fallback Name",
|
||||
);
|
||||
|
||||
expect(settings.locales.ar.titleTemplate).toBe("{pageTitle} | {siteName}");
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user