+3
-21
@@ -110,35 +110,17 @@ export function parseSiteSettingsValue(
|
|||||||
const siteSettings: SiteSettings = {
|
const siteSettings: SiteSettings = {
|
||||||
locales: {
|
locales: {
|
||||||
ar: normalizeSiteLocaleSettings(
|
ar: normalizeSiteLocaleSettings(
|
||||||
{
|
locales.ar && typeof locales.ar === "object" ? (locales.ar as Record<string, unknown>) : {},
|
||||||
titleTemplate:
|
|
||||||
typeof parsed.titleTemplate === "string" && parsed.titleTemplate.trim()
|
|
||||||
? parsed.titleTemplate.trim()
|
|
||||||
: undefined,
|
|
||||||
...(locales.ar && typeof locales.ar === "object" ? (locales.ar as Record<string, unknown>) : {}),
|
|
||||||
},
|
|
||||||
defaults.locales.ar.siteName,
|
defaults.locales.ar.siteName,
|
||||||
defaults.locales.ar.siteDescription,
|
defaults.locales.ar.siteDescription,
|
||||||
),
|
),
|
||||||
en: normalizeSiteLocaleSettings(
|
en: normalizeSiteLocaleSettings(
|
||||||
{
|
locales.en && typeof locales.en === "object" ? (locales.en as Record<string, unknown>) : {},
|
||||||
titleTemplate:
|
|
||||||
typeof parsed.titleTemplate === "string" && parsed.titleTemplate.trim()
|
|
||||||
? parsed.titleTemplate.trim()
|
|
||||||
: undefined,
|
|
||||||
...(locales.en && typeof locales.en === "object" ? (locales.en as Record<string, unknown>) : {}),
|
|
||||||
},
|
|
||||||
defaults.locales.en.siteName,
|
defaults.locales.en.siteName,
|
||||||
defaults.locales.en.siteDescription,
|
defaults.locales.en.siteDescription,
|
||||||
),
|
),
|
||||||
de: normalizeSiteLocaleSettings(
|
de: normalizeSiteLocaleSettings(
|
||||||
{
|
locales.de && typeof locales.de === "object" ? (locales.de as Record<string, unknown>) : {},
|
||||||
titleTemplate:
|
|
||||||
typeof parsed.titleTemplate === "string" && parsed.titleTemplate.trim()
|
|
||||||
? parsed.titleTemplate.trim()
|
|
||||||
: undefined,
|
|
||||||
...(locales.de && typeof locales.de === "object" ? (locales.de as Record<string, unknown>) : {}),
|
|
||||||
},
|
|
||||||
defaults.locales.de.siteName,
|
defaults.locales.de.siteName,
|
||||||
defaults.locales.de.siteDescription,
|
defaults.locales.de.siteDescription,
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -50,4 +50,20 @@ describe("site settings helpers", () => {
|
|||||||
|
|
||||||
expect(settings).toEqual(buildDefaultSiteSettings("Fallback Name"));
|
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