From d731a8ab75fc9b7dcb7072427063536b1d530bb7 Mon Sep 17 00:00:00 2001 From: Marcus Notheis <marcus.notheis@sap.com> Date: Wed, 12 Mar 2025 15:21:25 +0100 Subject: [PATCH] fix(I18nContext): scope context per react major version Fixes #6930 --- packages/base/src/context/I18nContext.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/base/src/context/I18nContext.ts b/packages/base/src/context/I18nContext.ts index 898bfb9eef6..23f74434752 100644 --- a/packages/base/src/context/I18nContext.ts +++ b/packages/base/src/context/I18nContext.ts @@ -1,7 +1,7 @@ 'use client'; import type I18nBundle from '@ui5/webcomponents-base/dist/i18nBundle.js'; -import { createContext, useContext } from 'react'; +import { createContext, useContext, version } from 'react'; export const I18nContext = createContext<{ i18nBundles: Record<string, I18nBundle>; @@ -11,7 +11,12 @@ export const I18nContext = createContext<{ export const getI18nContext = (): typeof I18nContext => { globalThis['@ui5/webcomponents-react'] ??= {}; globalThis['@ui5/webcomponents-react'].I18nContext ??= I18nContext; - return globalThis['@ui5/webcomponents-react'].I18nContext; + + const reactMajorVersion = version.substring(0, version.indexOf('.')); + globalThis[`@ui5/webcomponents-react/${reactMajorVersion}`] ??= {}; + globalThis[`@ui5/webcomponents-react/${reactMajorVersion}`].I18nContext ??= I18nContext; + + return globalThis[`@ui5/webcomponents-react/${reactMajorVersion}`].I18nContext; }; export const useI18nContext = () => useContext(getI18nContext());