diff --git a/lib/site-settings.ts b/lib/site-settings.ts index 47c2837..121d6f6 100644 --- a/lib/site-settings.ts +++ b/lib/site-settings.ts @@ -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) : {}), - }, + locales.ar && typeof locales.ar === "object" ? (locales.ar as Record) : {}, 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) : {}), - }, + locales.en && typeof locales.en === "object" ? (locales.en as Record) : {}, 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) : {}), - }, + locales.de && typeof locales.de === "object" ? (locales.de as Record) : {}, defaults.locales.de.siteName, defaults.locales.de.siteDescription, ), diff --git a/tests/app-config.test.ts b/tests/app-config.test.ts index d7722d3..392e707 100644 --- a/tests/app-config.test.ts +++ b/tests/app-config.test.ts @@ -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}"); + }); });