Skip to content

Commit 21cf6b4

Browse files
Miquel Angel Coca PizaMiquel Angel Coca Piza
authored andcommitted
feat: enhance language definition merging in Provider
1 parent e0023eb commit 21cf6b4

3 files changed

Lines changed: 28 additions & 39 deletions

File tree

package-lock.json

Lines changed: 17 additions & 35 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/render/Provider.tsx

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ import { useState, useEffect } from 'preact/hooks';
33
import { UIProvider } from '@adobe-commerce/elsie/components';
44
import { Lang } from '@adobe-commerce/elsie/i18n';
55
import { events } from '@adobe-commerce/event-bus';
6+
import { deepmerge } from '@adobe-commerce/elsie/lib';
7+
import { config } from '@/dropin-name/api';
68

79
import en_US from '../i18n/en_US.json';
810

@@ -11,11 +13,11 @@ const langDefinitions = {
1113
default: en_US,
1214
};
1315

14-
interface CartProviderProps {
16+
interface ProviderProps {
1517
children?: any;
1618
}
1719

18-
export const Provider: FunctionComponent<CartProviderProps> = ({
20+
export const Provider: FunctionComponent<ProviderProps> = ({
1921
children,
2022
}) => {
2123
const [lang, setLang] = useState<Lang>('en_US');
@@ -34,8 +36,12 @@ export const Provider: FunctionComponent<CartProviderProps> = ({
3436
};
3537
}, []);
3638

39+
const userLangDefinitions = config.getConfig()?.langDefinitions;
40+
41+
const definitions = deepmerge(langDefinitions, userLangDefinitions ?? {});
42+
3743
return (
38-
<UIProvider lang={lang} langDefinitions={langDefinitions}>
44+
<UIProvider lang={lang} langDefinitions={definitions}>
3945
{children}
4046
</UIProvider>
4147
);

tsconfig.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
"outDir": "dist",
77
"baseUrl": ".",
88
"paths": {
9-
"@adobe-commerce/elsie/*": ["./node_modules/@adobe-commerce/elsie/src/*"]
9+
"@adobe-commerce/elsie/*": ["./node_modules/@adobe-commerce/elsie/src/*"],
10+
"@/dropin-name/*": ["./src/*"]
1011
}
1112
},
1213
"include": ["src"],

0 commit comments

Comments
 (0)