fix(ui): fallback localization data was appearing in document (#11743)
This commit is contained in:
@@ -14,34 +14,39 @@ export function addLocalesToRequestFromData(req: PayloadRequest): void {
|
||||
} = req
|
||||
|
||||
if (data) {
|
||||
let localeOnReq = req.locale
|
||||
let fallbackLocaleOnReq = req.fallbackLocale
|
||||
const localeOnReq = req.locale
|
||||
const fallbackLocaleOnReq = req.fallbackLocale
|
||||
let localeFromData
|
||||
let fallbackLocaleFromData
|
||||
|
||||
if (!localeOnReq && data?.locale && typeof data.locale === 'string') {
|
||||
localeOnReq = data.locale
|
||||
localeFromData = data.locale
|
||||
}
|
||||
|
||||
if (!fallbackLocaleOnReq) {
|
||||
if (data?.['fallback-locale'] && typeof data?.['fallback-locale'] === 'string') {
|
||||
fallbackLocaleOnReq = data['fallback-locale']
|
||||
fallbackLocaleFromData = data['fallback-locale']
|
||||
}
|
||||
|
||||
if (data?.['fallbackLocale'] && typeof data?.['fallbackLocale'] === 'string') {
|
||||
fallbackLocaleOnReq = data['fallbackLocale']
|
||||
fallbackLocaleFromData = data['fallbackLocale']
|
||||
}
|
||||
}
|
||||
|
||||
const { fallbackLocale, locale } = sanitizeLocales({
|
||||
fallbackLocale: fallbackLocaleOnReq,
|
||||
locale: localeOnReq,
|
||||
localization: config.localization,
|
||||
})
|
||||
if (!localeOnReq || !fallbackLocaleOnReq) {
|
||||
const { fallbackLocale, locale } = sanitizeLocales({
|
||||
fallbackLocale: fallbackLocaleFromData,
|
||||
locale: localeFromData,
|
||||
localization: config.localization,
|
||||
})
|
||||
|
||||
if (locale) {
|
||||
req.locale = locale
|
||||
}
|
||||
if (fallbackLocale) {
|
||||
req.fallbackLocale = fallbackLocale
|
||||
if (localeFromData) {
|
||||
req.locale = locale
|
||||
}
|
||||
|
||||
if (fallbackLocaleFromData) {
|
||||
req.fallbackLocale = fallbackLocale
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,6 @@ import { getPayload } from '../index.js'
|
||||
import { sanitizeLocales } from './addLocalesToRequest.js'
|
||||
import { getRequestLanguage } from './getRequestLanguage.js'
|
||||
import { parseCookies } from './parseCookies.js'
|
||||
import { sanitizeFallbackLocale } from './sanitizeFallbackLocale.js'
|
||||
|
||||
type Args = {
|
||||
config: Promise<SanitizedConfig> | SanitizedConfig
|
||||
@@ -66,18 +65,13 @@ export const createPayloadRequest = async ({
|
||||
: {}
|
||||
|
||||
if (localization) {
|
||||
fallbackLocale = sanitizeFallbackLocale({
|
||||
fallbackLocale,
|
||||
locale,
|
||||
localization,
|
||||
})
|
||||
|
||||
const locales = sanitizeLocales({
|
||||
fallbackLocale,
|
||||
locale,
|
||||
localization,
|
||||
})
|
||||
|
||||
fallbackLocale = locales.fallbackLocale
|
||||
locale = locales.locale
|
||||
}
|
||||
|
||||
|
||||
@@ -20,12 +20,15 @@ export const sanitizeFallbackLocale = ({
|
||||
locale,
|
||||
localization,
|
||||
}: Args): null | string => {
|
||||
const hasFallbackLocale =
|
||||
fallbackLocale === undefined || fallbackLocale === null
|
||||
? localization && localization.fallback
|
||||
: fallbackLocale
|
||||
? !['false', 'none', 'null'].includes(fallbackLocale)
|
||||
: false
|
||||
let hasFallbackLocale = false
|
||||
|
||||
if (fallbackLocale === undefined || fallbackLocale === null) {
|
||||
hasFallbackLocale = Boolean(localization && localization.fallback)
|
||||
}
|
||||
|
||||
if (fallbackLocale && !['false', 'none', 'null'].includes(fallbackLocale)) {
|
||||
hasFallbackLocale = true
|
||||
}
|
||||
|
||||
if (hasFallbackLocale) {
|
||||
if (!fallbackLocale) {
|
||||
|
||||
Reference in New Issue
Block a user