chore: Refactor urlParamsHelper.js (#5639)

This commit is contained in:
David Kubeš 2022-10-19 22:20:40 +02:00 committed by GitHub
parent 6bc34db932
commit c542d2e0ff
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 16 deletions

View file

@ -31,7 +31,7 @@ describe('#getLocale', () => {
expect(getLocale('?test=1&cw_conv=2&website_token=3&locale=fr')).toEqual(
'fr'
);
expect(getLocale('')).toEqual(undefined);
expect(getLocale('')).toEqual(null);
});
});

View file

@ -1,22 +1,13 @@
export const buildSearchParamsWithLocale = search => {
const locale = window.WOOT_WIDGET.$root.$i18n.locale;
if (search) {
search = `${search}&locale=${locale}`;
} else {
search = `?locale=${locale}`;
}
return search;
const params = new URLSearchParams(search);
params.append('locale', locale);
return `?${params}`;
};
export const getLocale = (search = '') => {
const searchParamKeyValuePairs = search.split('&');
return searchParamKeyValuePairs.reduce((acc, keyValuePair) => {
const [key, value] = keyValuePair.split('=');
if (key === 'locale') {
return value;
}
return acc;
}, undefined);
return new URLSearchParams(search).get('locale');
};
export const buildPopoutURL = ({
@ -25,5 +16,10 @@ export const buildPopoutURL = ({
websiteToken,
locale,
}) => {
return `${origin}/widget?cw_conversation=${conversationCookie}&website_token=${websiteToken}&locale=${locale}`;
const popoutUrl = new URL('/widget', origin);
popoutUrl.searchParams.append('cw_conversation', conversationCookie);
popoutUrl.searchParams.append('website_token', websiteToken);
popoutUrl.searchParams.append('locale', locale);
return popoutUrl.toString();
};