Files
klz-cables.com/.pnpm-store/v10/files/e6/e69071b120497213b0cfa16cb3909398f5b27ee46b3ea969fb601c0426bcbbe75f2f723ef68c2aa77848840c9b441f7db42cee0d3c3f559cad05b4e4035431
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

60 lines
2.2 KiB
Plaintext

import { cache } from 'react';
import { initializeConfig, _createIntlFormatters, _createCache } from 'use-intl/core';
import { isPromise } from '../../shared/utils.js';
import { getRequestLocale } from './RequestLocale.js';
import getRuntimeConfig from 'next-intl/config';
import validateLocale from './validateLocale.js';
// This is automatically inherited by `NextIntlClientProvider` if
// the component is rendered from a Server Component
function getDefaultTimeZoneImpl() {
return Intl.DateTimeFormat().resolvedOptions().timeZone;
}
const getDefaultTimeZone = cache(getDefaultTimeZoneImpl);
async function receiveRuntimeConfigImpl(getConfig, localeOverride) {
if (typeof getConfig !== 'function') {
throw new Error(`Invalid i18n request configuration detected.
Please verify that:
1. In case you've specified a custom location in your Next.js config, make sure that the path is correct.
2. You have a default export in your i18n request configuration file.
See also: https://next-intl.dev/docs/usage/configuration#i18n-request
`);
}
const params = {
locale: localeOverride,
// In case the consumer doesn't read `params.locale` and instead provides the
// `locale` (either in a single-language workflow or because the locale is
// read from the user settings), don't attempt to read the request locale.
get requestLocale() {
return localeOverride ? Promise.resolve(localeOverride) : getRequestLocale();
}
};
let result = getConfig(params);
if (isPromise(result)) {
result = await result;
}
if (!result.locale) {
throw new Error('No locale was returned from `getRequestConfig`.\n\nSee https://next-intl.dev/docs/usage/configuration#i18n-request');
}
{
validateLocale(result.locale);
}
return result;
}
const receiveRuntimeConfig = cache(receiveRuntimeConfigImpl);
const getFormatters = cache(_createIntlFormatters);
const getCache = cache(_createCache);
async function getConfigImpl(localeOverride) {
const runtimeConfig = await receiveRuntimeConfig(getRuntimeConfig, localeOverride);
return {
...initializeConfig(runtimeConfig),
_formatters: getFormatters(getCache()),
timeZone: runtimeConfig.timeZone || getDefaultTimeZone()
};
}
const getConfig = cache(getConfigImpl);
export { getConfig as default };