@jetshop/core 5.13.3-beta.0 → 5.13.3
Sign up to get free protection for your applications and to get access to all the features.
- package/ChannelHandler/ChannelHandler.d.ts +0 -2
- package/ChannelHandler/ChannelHandler.js +3 -9
- package/ChannelHandler/ChannelHandler.js.map +1 -1
- package/ChannelHandler/channelUtils.d.ts +0 -4
- package/ChannelHandler/channelUtils.js +7 -113
- package/ChannelHandler/channelUtils.js.map +1 -1
- package/ChannelHandler/redirectUtils.test.js +16 -6
- package/components/ChannelContext/ChannelContext.d.ts +0 -1
- package/components/ChannelContext/ChannelContext.js.map +1 -1
- package/components/ChannelContext/ChannelProvider.js +2 -4
- package/components/ChannelContext/ChannelProvider.js.map +1 -1
- package/components/Head.js +4 -9
- package/components/Head.js.map +1 -1
- package/data/fragments/ChannelsFragment.gql +0 -1
- package/package.json +1 -1
- package/test-utils/variables.js +0 -1234
- package/ChannelHandler/redirectUtilsGroupedChannels.test.js +0 -732
@@ -8,13 +8,11 @@ export declare class ChannelHandler {
|
|
8
8
|
recommendedChannel?: SelectedChannel;
|
9
9
|
channels?: Channel[];
|
10
10
|
getPrimaryRoutePath?: GetPrimaryRoutePath;
|
11
|
-
selectedChannelGroup?: Channel[] | undefined;
|
12
11
|
constructor(args?: {
|
13
12
|
selectedChannel?: SelectedChannel;
|
14
13
|
recommendedChannel?: SelectedChannel;
|
15
14
|
channels?: Channel[];
|
16
15
|
getPrimaryRoutePath?: GetPrimaryRoutePath;
|
17
|
-
selectedChannelGroup?: Channel[] | undefined;
|
18
16
|
});
|
19
17
|
setGetPrimaryRoutePath: (getPrimaryRoutePath: GetPrimaryRoutePath) => GetPrimaryRoutePath;
|
20
18
|
getSelectedChannel: () => SelectedChannel;
|
@@ -10,14 +10,13 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
10
10
|
return t;
|
11
11
|
};
|
12
12
|
import qs from 'qs';
|
13
|
-
import { getChannelBasename, getChannelHeaders, getLanguageFromCulture, isInDev
|
13
|
+
import { getChannelBasename, getChannelHeaders, getLanguageFromCulture, isInDev } from './channelUtils';
|
14
14
|
export class ChannelHandler {
|
15
15
|
constructor(args = {
|
16
16
|
selectedChannel: undefined,
|
17
17
|
recommendedChannel: undefined,
|
18
18
|
channels: undefined,
|
19
|
-
getPrimaryRoutePath: undefined
|
20
|
-
selectedChannelGroup: undefined
|
19
|
+
getPrimaryRoutePath: undefined
|
21
20
|
}) {
|
22
21
|
this.setGetPrimaryRoutePath = (getPrimaryRoutePath) => (this.getPrimaryRoutePath = getPrimaryRoutePath);
|
23
22
|
this.getSelectedChannel = () => this.selectedChannel;
|
@@ -30,10 +29,6 @@ export class ChannelHandler {
|
|
30
29
|
this.getRecommendedChannel = () => this.recommendedChannel;
|
31
30
|
this.setChannels = (channels) => {
|
32
31
|
this.channels = channels;
|
33
|
-
this.selectedChannelGroup = getGroupedChannels(channels, {
|
34
|
-
// Selected channel here is based on the one returned in getSelectedAndRecommendedChannel
|
35
|
-
groupName: this.selectedChannel.groupName
|
36
|
-
});
|
37
32
|
};
|
38
33
|
this.getChannels = () => this.channels;
|
39
34
|
this.getChannelHeaders = () => getChannelHeaders(this.selectedChannel);
|
@@ -95,12 +90,11 @@ export class ChannelHandler {
|
|
95
90
|
.then((url) => window.location.assign(url))
|
96
91
|
.catch((url) => window.location.assign(url));
|
97
92
|
};
|
98
|
-
const { selectedChannel, recommendedChannel, channels, getPrimaryRoutePath
|
93
|
+
const { selectedChannel, recommendedChannel, channels, getPrimaryRoutePath } = args;
|
99
94
|
this.selectedChannel = selectedChannel;
|
100
95
|
this.recommendedChannel = recommendedChannel;
|
101
96
|
this.channels = channels;
|
102
97
|
this.getPrimaryRoutePath = getPrimaryRoutePath;
|
103
|
-
this.selectedChannelGroup = selectedChannelGroup;
|
104
98
|
}
|
105
99
|
getPathWithoutBasename(url) {
|
106
100
|
const urlObject = new URL(url);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ChannelHandler.js","sourceRoot":"","sources":["ChannelHandler.ts"],"names":[],"mappings":";;;;;;;;;;;AAEA,OAAO,EAAE,MAAM,IAAI,CAAC;AAGpB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,OAAO,
|
1
|
+
{"version":3,"file":"ChannelHandler.js","sourceRoot":"","sources":["ChannelHandler.ts"],"names":[],"mappings":"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"}
|
@@ -9,9 +9,6 @@ export interface QueryObject {
|
|
9
9
|
redirectDisabled?: boolean;
|
10
10
|
articlenumber?: string;
|
11
11
|
}
|
12
|
-
export declare const getGroupedChannels: (availableChannels: Channel[], { groupName }: {
|
13
|
-
groupName: string;
|
14
|
-
}) => Channel[];
|
15
12
|
export declare const getURLBasename: (url: URL) => string;
|
16
13
|
export declare const getURLLanguageBasename: ({ url, singleDomainMode }: {
|
17
14
|
url: URL;
|
@@ -55,7 +52,6 @@ export declare function getSelectedAndRecommendedChannel({ url, singleDomainMode
|
|
55
52
|
redirect: boolean;
|
56
53
|
selectedChannel: SelectedChannel;
|
57
54
|
recommendedChannel: SelectedChannel;
|
58
|
-
channels: Channel[];
|
59
55
|
};
|
60
56
|
export declare function getChannelHeaders(channel?: SelectedChannel): {
|
61
57
|
currency: string;
|
@@ -1,19 +1,5 @@
|
|
1
1
|
import acceptLanguageParser from 'accept-language-parser';
|
2
2
|
import qs from 'qs';
|
3
|
-
const allChannelsGrouped = (availableChannels) => availableChannels.every((channel) => { var _a; return (_a = channel === null || channel === void 0 ? void 0 : channel.groupName) === null || _a === void 0 ? void 0 : _a.length; });
|
4
|
-
export const getGroupedChannels = (availableChannels, { groupName }) => {
|
5
|
-
const currentChannel = availableChannels.find((channel) => channel.groupName === groupName);
|
6
|
-
if (!currentChannel) {
|
7
|
-
return undefined;
|
8
|
-
}
|
9
|
-
const selectedChannelGroup = availableChannels.filter((channel) => channel.groupName === currentChannel.groupName);
|
10
|
-
if (selectedChannelGroup) {
|
11
|
-
return selectedChannelGroup;
|
12
|
-
}
|
13
|
-
else {
|
14
|
-
return undefined;
|
15
|
-
}
|
16
|
-
};
|
17
3
|
export const getURLBasename = (url) => {
|
18
4
|
return url.pathname.split('/')[1];
|
19
5
|
};
|
@@ -191,68 +177,8 @@ function setGeoIpAndAcceptLanguageCookies({ cookies, geoipCountry, acceptLanguag
|
|
191
177
|
path: '/'
|
192
178
|
});
|
193
179
|
}
|
194
|
-
function
|
195
|
-
|
196
|
-
if (!hasGroupedChannels) {
|
197
|
-
return {
|
198
|
-
hasGroupedChannels,
|
199
|
-
groupByChannel: undefined
|
200
|
-
};
|
201
|
-
}
|
202
|
-
switch (true) {
|
203
|
-
case isInDev(url): {
|
204
|
-
if (singleDomainMode) {
|
205
|
-
const currentBaseUrl = getURLBasename(new URL(url));
|
206
|
-
// -> se, de, dk, es etcetc
|
207
|
-
return {
|
208
|
-
hasGroupedChannels,
|
209
|
-
groupByChannel: channels.find((channel) =>
|
210
|
-
// We always split channel.url to consider if trailing slashes are added in as BaseUrl
|
211
|
-
sanitizeURL(channel.url).split('/')[1] === currentBaseUrl)
|
212
|
-
};
|
213
|
-
}
|
214
|
-
else {
|
215
|
-
// Try to match with anything during development + non-singledomain,
|
216
|
-
// this is b/c we can't match dev urls with any baseurl.
|
217
|
-
// If one wan't to test it in dev one can use the ?channel=XX param.
|
218
|
-
const { activeChannel, chosenChannel } = getCurrentChannel({
|
219
|
-
url,
|
220
|
-
singleDomainMode,
|
221
|
-
channels,
|
222
|
-
cookies,
|
223
|
-
geoipCountry
|
224
|
-
});
|
225
|
-
return {
|
226
|
-
hasGroupedChannels,
|
227
|
-
// Active channel is given first priority. If it is null we are most likely in staging or development so chosenChannel or defaultChannel is used
|
228
|
-
groupByChannel: activeChannel || chosenChannel || getDefaultChannel(channels)
|
229
|
-
};
|
230
|
-
}
|
231
|
-
}
|
232
|
-
case singleDomainMode: {
|
233
|
-
const currentBaseUrl = sanitizeURL(url).split('/', 2);
|
234
|
-
// -> se, de, dk, es etcetc
|
235
|
-
return {
|
236
|
-
hasGroupedChannels,
|
237
|
-
groupByChannel: channels.find((channel) =>
|
238
|
-
// We always split channel.url to consider if trailing slashes are added in as BaseUrl
|
239
|
-
sanitizeURL(channel.url).split('/')[1] === currentBaseUrl[1]) || getDefaultChannel(channels)
|
240
|
-
};
|
241
|
-
}
|
242
|
-
default: {
|
243
|
-
const currentBaseUrl = sanitizeURL(url).split('/')[0];
|
244
|
-
// -> domain.com
|
245
|
-
return {
|
246
|
-
hasGroupedChannels,
|
247
|
-
groupByChannel: channels.find((channel) =>
|
248
|
-
// We always split channel.url to consider if trailing slashes are added in as BaseUrl
|
249
|
-
sanitizeURL(channel.url).split('/')[0] === currentBaseUrl)
|
250
|
-
};
|
251
|
-
}
|
252
|
-
}
|
253
|
-
}
|
254
|
-
// Is where we determine current channel to get return values in getSelectedAndRecommendedChannel
|
255
|
-
function getCurrentChannel({ url, singleDomainMode, channels, cookies, geoipCountry }) {
|
180
|
+
export function getSelectedAndRecommendedChannel({ url, singleDomainMode, channels, cookies, geoipCountry, acceptedLanguages, disableGeoRedirect }) {
|
181
|
+
setCookiesFromQueryString({ cookies, url });
|
256
182
|
const { activeChannel, activeChannels } = getChannelFromPathOrUrl({
|
257
183
|
url,
|
258
184
|
singleDomainMode,
|
@@ -262,43 +188,11 @@ function getCurrentChannel({ url, singleDomainMode, channels, cookies, geoipCoun
|
|
262
188
|
cookies,
|
263
189
|
channels
|
264
190
|
});
|
265
|
-
const channelFromGeoIp = findChannelByCountry(geoipCountry || cookies.get('geoipCountry'), channels);
|
266
|
-
// But have default channel as fallback,
|
267
191
|
const defaultChannel = getDefaultChannel(channels);
|
268
|
-
return {
|
269
|
-
activeChannel,
|
270
|
-
activeChannels,
|
271
|
-
chosenChannel,
|
272
|
-
channelFromGeoIp,
|
273
|
-
defaultChannel
|
274
|
-
};
|
275
|
-
}
|
276
|
-
export function getSelectedAndRecommendedChannel({ url, singleDomainMode, channels, cookies, geoipCountry, acceptedLanguages, disableGeoRedirect }) {
|
277
|
-
setCookiesFromQueryString({ cookies, url });
|
278
|
-
const { hasGroupedChannels, groupByChannel } = getGroupedChannelsByUrl({
|
279
|
-
url,
|
280
|
-
channels,
|
281
|
-
singleDomainMode,
|
282
|
-
cookies,
|
283
|
-
geoipCountry
|
284
|
-
});
|
285
|
-
// If available, use channel group from here on
|
286
|
-
// NB: All channels must be grouped and groupName is nullable.
|
287
|
-
const availableChannels = hasGroupedChannels && (groupByChannel === null || groupByChannel === void 0 ? void 0 : groupByChannel.groupName)
|
288
|
-
? getGroupedChannels(channels, {
|
289
|
-
groupName: groupByChannel.groupName
|
290
|
-
})
|
291
|
-
: channels;
|
292
|
-
const { defaultChannel, chosenChannel, activeChannel, activeChannels, channelFromGeoIp } = getCurrentChannel({
|
293
|
-
url,
|
294
|
-
singleDomainMode,
|
295
|
-
channels: availableChannels,
|
296
|
-
cookies,
|
297
|
-
geoipCountry
|
298
|
-
});
|
299
192
|
// Active channel is given first priority. If it is null we are most likely in staging or development so chosenChannel or defaultChannel is used
|
300
193
|
const pureChannel = activeChannel || chosenChannel || defaultChannel;
|
301
194
|
let redirect = false;
|
195
|
+
const channelFromGeoIp = findChannelByCountry(geoipCountry || cookies.get('geoipCountry'), channels);
|
302
196
|
let pureRecommendedChannel;
|
303
197
|
// If a channel has been chosen we want to redirect to it
|
304
198
|
if (chosenChannel &&
|
@@ -309,7 +203,9 @@ export function getSelectedAndRecommendedChannel({ url, singleDomainMode, channe
|
|
309
203
|
redirect = true;
|
310
204
|
pureRecommendedChannel = chosenChannel;
|
311
205
|
}
|
312
|
-
else if (
|
206
|
+
else if (pureChannel &&
|
207
|
+
channelFromGeoIp &&
|
208
|
+
pureChannel.id !== channelFromGeoIp.id) {
|
313
209
|
pureRecommendedChannel = channelFromGeoIp;
|
314
210
|
redirect = !disableGeoRedirect && !chosenChannel;
|
315
211
|
// this should happen when we can't find a matching channel from the url so we want to redirect such that the basename is included
|
@@ -354,9 +250,7 @@ export function getSelectedAndRecommendedChannel({ url, singleDomainMode, channe
|
|
354
250
|
return {
|
355
251
|
redirect,
|
356
252
|
selectedChannel,
|
357
|
-
recommendedChannel
|
358
|
-
// for testing purposes mainly
|
359
|
-
channels: availableChannels
|
253
|
+
recommendedChannel
|
360
254
|
};
|
361
255
|
}
|
362
256
|
export function getChannelHeaders(channel) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"channelUtils.js","sourceRoot":"","sources":["channelUtils.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"channelUtils.js","sourceRoot":"","sources":["channelUtils.ts"],"names":[],"mappings":"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"}
|
@@ -10,12 +10,7 @@ import {
|
|
10
10
|
import ApolloClient from 'apollo-client';
|
11
11
|
import gql from 'graphql-tag';
|
12
12
|
import { ChannelHandler } from './ChannelHandler';
|
13
|
-
import {
|
14
|
-
channels,
|
15
|
-
singleDomainChannels,
|
16
|
-
groupedChannels,
|
17
|
-
groupedSingleDomainChannels
|
18
|
-
} from '../test-utils/variables';
|
13
|
+
import { channels, singleDomainChannels } from '../test-utils/variables';
|
19
14
|
import { Cookies } from 'react-cookie';
|
20
15
|
import { primaryRouteForPathFetcher } from './redirectUtils';
|
21
16
|
import PreserveRedirectRouteQuery from './PreserveRedirectRouteQuery.gql';
|
@@ -299,6 +294,7 @@ describe('Single domain mode', () => {
|
|
299
294
|
expect(redirect).toBeFalsy();
|
300
295
|
expect(recommendedChannel).toBeFalsy();
|
301
296
|
});
|
297
|
+
|
302
298
|
it('Will redirect when the url is at the wrong channel and the channel is default', () => {
|
303
299
|
const cookies = new Cookies();
|
304
300
|
const { recommendedChannel, redirect } = getSelectedAndRecommendedChannel({
|
@@ -310,6 +306,7 @@ describe('Single domain mode', () => {
|
|
310
306
|
expect(redirect).toBe(true);
|
311
307
|
expect(recommendedChannel.url).toBe(selectedChannelSingleDomain.url);
|
312
308
|
});
|
309
|
+
|
313
310
|
it('Will not redirect when the redirect is disabled', () => {
|
314
311
|
const cookies = new Cookies();
|
315
312
|
const { redirect } = getSelectedAndRecommendedChannel({
|
@@ -320,6 +317,7 @@ describe('Single domain mode', () => {
|
|
320
317
|
});
|
321
318
|
expect(redirect).toBe(false);
|
322
319
|
});
|
320
|
+
|
323
321
|
it('Will not when the url is at the right channel', () => {
|
324
322
|
const cookies = new Cookies();
|
325
323
|
const { redirect } = getSelectedAndRecommendedChannel({
|
@@ -330,6 +328,7 @@ describe('Single domain mode', () => {
|
|
330
328
|
});
|
331
329
|
expect(redirect).toBe(false);
|
332
330
|
});
|
331
|
+
|
333
332
|
it('Will redirect when the url is at the wrong channel', () => {
|
334
333
|
const cookies = new Cookies();
|
335
334
|
cookies.set('channel', singleDomainChannels[2].name);
|
@@ -342,6 +341,7 @@ describe('Single domain mode', () => {
|
|
342
341
|
expect(redirect).toBe(true);
|
343
342
|
expect(recommendedChannel.url).toBe('https://flight-m2.jetshop.se/uk');
|
344
343
|
});
|
344
|
+
|
345
345
|
it('Georedirect will respect single domain mode', () => {
|
346
346
|
const cookies = new Cookies();
|
347
347
|
const { redirect, recommendedChannel } = getSelectedAndRecommendedChannel({
|
@@ -354,6 +354,7 @@ describe('Single domain mode', () => {
|
|
354
354
|
expect(redirect).toBe(true);
|
355
355
|
expect(recommendedChannel.url).toBe('https://flight-m2.jetshop.se/uk');
|
356
356
|
});
|
357
|
+
|
357
358
|
it('Georedirect will respect single domain mode when there is a domain path', async () => {
|
358
359
|
const urlToPreserve = '/accessories/orchid-peach-bag';
|
359
360
|
const cookies = new Cookies();
|
@@ -373,6 +374,7 @@ describe('Single domain mode', () => {
|
|
373
374
|
getPrimaryRoutePath,
|
374
375
|
channels
|
375
376
|
});
|
377
|
+
|
376
378
|
const redirectUrl = channelHandler.getRedirectUrl({
|
377
379
|
client,
|
378
380
|
url: selectedChannelSingleDomain.url + urlToPreserve,
|
@@ -383,6 +385,7 @@ describe('Single domain mode', () => {
|
|
383
385
|
'https://flight-m2.jetshop.se/uk/accessories/bags/orchid-peach-bag-uk?culture=sv-SE&channelCountry=UK&channel=UK'
|
384
386
|
);
|
385
387
|
});
|
388
|
+
|
386
389
|
it('Redirect on single domain mode when the basename shows up in the url', async () => {
|
387
390
|
const urlToPreserve = '/accessories/int/orchid-peach-bag';
|
388
391
|
const cookies = new Cookies();
|
@@ -401,6 +404,7 @@ describe('Single domain mode', () => {
|
|
401
404
|
getPrimaryRoutePath,
|
402
405
|
channels
|
403
406
|
});
|
407
|
+
|
404
408
|
const redirectUrl = channelHandler.getRedirectUrl({
|
405
409
|
client,
|
406
410
|
url: channels[0].url + urlToPreserve,
|
@@ -411,6 +415,7 @@ describe('Single domain mode', () => {
|
|
411
415
|
`https://flight-m2.jetshop.se/uk${urlToPreserve}?culture=sv-SE&channelCountry=UK&channel=UK`
|
412
416
|
);
|
413
417
|
});
|
418
|
+
|
414
419
|
it('Redirect on single domain mode when there is a domain path but no basename', async () => {
|
415
420
|
const urlToPreserve = '/accessories/orchid-peach-bag';
|
416
421
|
const cookies = new Cookies();
|
@@ -429,6 +434,7 @@ describe('Single domain mode', () => {
|
|
429
434
|
getPrimaryRoutePath,
|
430
435
|
channels
|
431
436
|
});
|
437
|
+
|
432
438
|
const redirectUrl = channelHandler.getRedirectUrl({
|
433
439
|
client,
|
434
440
|
url: channels[0].url + urlToPreserve,
|
@@ -439,6 +445,7 @@ describe('Single domain mode', () => {
|
|
439
445
|
`https://flight.jetshop.se/int${urlToPreserve}?culture=en-GB&channelCountry=US&channel=INT`
|
440
446
|
);
|
441
447
|
});
|
448
|
+
|
442
449
|
it('Will set the appropriate language based on basename', async () => {
|
443
450
|
const cookies = new Cookies();
|
444
451
|
const { selectedChannel } = getSelectedAndRecommendedChannel({
|
@@ -448,6 +455,7 @@ describe('Single domain mode', () => {
|
|
448
455
|
});
|
449
456
|
expect(selectedChannel.language.culture).toBe('en-GB');
|
450
457
|
});
|
458
|
+
|
451
459
|
it('Will set the appropriate language based on basename in singledomain mode', async () => {
|
452
460
|
const cookies = new Cookies();
|
453
461
|
const { selectedChannel } = getSelectedAndRecommendedChannel({
|
@@ -458,6 +466,7 @@ describe('Single domain mode', () => {
|
|
458
466
|
});
|
459
467
|
expect(selectedChannel.language.culture).toBe('en-GB');
|
460
468
|
});
|
469
|
+
|
461
470
|
it('Will redirect to a new language basename based on cookies', async () => {
|
462
471
|
const cookies = new Cookies();
|
463
472
|
cookies.set('culture', 'en-GB');
|
@@ -484,6 +493,7 @@ describe('Single domain mode', () => {
|
|
484
493
|
'https://flight-m2.jetshop.se/en/?culture=en-GB&channelCountry=SE&channel=SE'
|
485
494
|
);
|
486
495
|
});
|
496
|
+
|
487
497
|
it('Will redirect to a new language basename based on cookies in single domain mode', async () => {
|
488
498
|
const cookies = new Cookies();
|
489
499
|
cookies.set('culture', 'en-GB');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ChannelContext.js","sourceRoot":"","sources":["ChannelContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"ChannelContext.js","sourceRoot":"","sources":["ChannelContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAmBtC,MAAM,cAAc,GAAG,aAAa,CAClC,SAAS,CACV,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
@@ -3,7 +3,7 @@ import ChannelContext from './ChannelContext';
|
|
3
3
|
import { useCookies } from 'react-cookie';
|
4
4
|
const ChannelProvider = ({ channelHandler, children, config }) => {
|
5
5
|
const [cookies] = useCookies(['culture']);
|
6
|
-
const { channels, selectedChannel, recommendedChannel
|
6
|
+
const { channels, selectedChannel, recommendedChannel } = channelHandler;
|
7
7
|
const value = useMemo(() => {
|
8
8
|
const updateChannelSingleDomain = (newChannel) => {
|
9
9
|
channelHandler.updateChannel({ config, newChannel });
|
@@ -27,7 +27,6 @@ const ChannelProvider = ({ channelHandler, children, config }) => {
|
|
27
27
|
channelsById,
|
28
28
|
setCultureForPreview,
|
29
29
|
restoreCultureForPreview,
|
30
|
-
selectedChannelGroup,
|
31
30
|
basename: channelHandler.getChannelBasename() // TODO This isn't used anywhere?
|
32
31
|
};
|
33
32
|
}, [
|
@@ -36,8 +35,7 @@ const ChannelProvider = ({ channelHandler, children, config }) => {
|
|
36
35
|
config,
|
37
36
|
cookies.culture,
|
38
37
|
recommendedChannel,
|
39
|
-
selectedChannel
|
40
|
-
selectedChannelGroup
|
38
|
+
selectedChannel
|
41
39
|
]);
|
42
40
|
return (React.createElement(ChannelContext.Provider, { value: value }, children));
|
43
41
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ChannelProvider.js","sourceRoot":"","sources":["ChannelProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,cAAmC,MAAM,kBAAkB,CAAC;AAInE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAQ1C,MAAM,eAAe,GAAG,CAAC,EACvB,cAAc,EACd,QAAQ,EACR,MAAM,EACe,EAAE,EAAE;IACzB,MAAM,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1C,MAAM,
|
1
|
+
{"version":3,"file":"ChannelProvider.js","sourceRoot":"","sources":["ChannelProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,cAAmC,MAAM,kBAAkB,CAAC;AAInE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAQ1C,MAAM,eAAe,GAAG,CAAC,EACvB,cAAc,EACd,QAAQ,EACR,MAAM,EACe,EAAE,EAAE;IACzB,MAAM,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1C,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,kBAAkB,EAAE,GAAG,cAAc,CAAC;IACzE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,yBAAyB,GAAG,CAAC,UAA2B,EAAE,EAAE;YAChE,cAAc,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC;QAEF,SAAS,oBAAoB,CAAC,OAAe;YAC3C,cAAc,CAAC,kBAAkB,iCAC5B,eAAe,KAClB,QAAQ,kCACH,eAAe,CAAC,QAAQ,KAC3B,OAAO,OAET,CAAC;QACL,CAAC;QAED,SAAS,wBAAwB;YAC/B,cAAc,CAAC,kBAAkB,iCAC5B,eAAe,KAClB,QAAQ,kCACH,eAAe,CAAC,QAAQ,KAC3B,OAAO,EAAE,OAAO,CAAC,OAAO,OAE1B,CAAC;QACL,CAAC;QAED,MAAM,YAAY,GAA+B,EAAE,CAAC;QAEpD,QAAQ;YACN,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC3B,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;YACrC,CAAC,CAAC,CAAC;QAEL,OAAO;YACL,kBAAkB;YAClB,aAAa,EAAE,yBAAyB;YACxC,QAAQ;YACR,eAAe;YACf,YAAY;YACZ,oBAAoB;YACpB,wBAAwB;YACxB,QAAQ,EAAE,cAAc,CAAC,kBAAkB,EAAE,CAAC,iCAAiC;SAChF,CAAC;IACJ,CAAC,EAAE;QACD,cAAc;QACd,QAAQ;QACR,MAAM;QACN,OAAO,CAAC,OAAO;QACf,kBAAkB;QAClB,eAAe;KAChB,CAAC,CAAC;IAEH,OAAO,CACL,oBAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IAAG,QAAQ,CAA2B,CAC5E,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,eAAe,CAAC"}
|
package/components/Head.js
CHANGED
@@ -10,12 +10,8 @@ import { OpenGraphGeneralPageData } from '@jetshop/core/components/OpenGraph';
|
|
10
10
|
import { useShopConfig } from '@jetshop/core/hooks/useShopConfig';
|
11
11
|
import { getLanguageFromCulture } from '../ChannelHandler/channelUtils';
|
12
12
|
import { SiteLinksSearchStructuredData } from './StructuredData';
|
13
|
-
function renderAlternateRoutes(alternateRoute, channelsById
|
13
|
+
function renderAlternateRoutes(alternateRoute, channelsById) {
|
14
14
|
const channel = channelsById[alternateRoute.channelId];
|
15
|
-
// Only include alternate routes for this particular group if available
|
16
|
-
if (selectedChannelGroup && !selectedChannelGroup.includes(channel.id)) {
|
17
|
-
return null;
|
18
|
-
}
|
19
15
|
const url = channel.url;
|
20
16
|
const route = alternateRoute.route;
|
21
17
|
let languageBasename = '';
|
@@ -23,7 +19,7 @@ function renderAlternateRoutes(alternateRoute, channelsById, selectedChannelGrou
|
|
23
19
|
languageBasename = `/${getLanguageFromCulture(alternateRoute.culture)}`;
|
24
20
|
}
|
25
21
|
const href = `${url}${languageBasename}${route}`;
|
26
|
-
return (React.createElement("link",
|
22
|
+
return (React.createElement("link", { key: href + alternateRoute.culture, rel: "alternate", href: href, hrefLang: alternateRoute.alias || alternateRoute.culture }));
|
27
23
|
}
|
28
24
|
const queryParamsWhitelist = ['page'];
|
29
25
|
const Head = ({ data, route }) => {
|
@@ -36,7 +32,7 @@ const Head = ({ data, route }) => {
|
|
36
32
|
const whiteListedSearch = qs.stringify(queryStringObject, {
|
37
33
|
addQueryPrefix: true
|
38
34
|
});
|
39
|
-
const { selectedChannel, channelsById
|
35
|
+
const { selectedChannel, channelsById } = useContext(ChannelContext);
|
40
36
|
const lang = selectedChannel.language.culture.split('-')[0];
|
41
37
|
const metaTags = ((_a = data === null || data === void 0 ? void 0 : data.head) === null || _a === void 0 ? void 0 : _a.metaTags) || [];
|
42
38
|
let languageBasename = '';
|
@@ -70,8 +66,7 @@ const Head = ({ data, route }) => {
|
|
70
66
|
route &&
|
71
67
|
isCurrentRouteCanonical &&
|
72
68
|
route.alternateRoutes &&
|
73
|
-
route.alternateRoutes.map((alternateRoute) => renderAlternateRoutes(alternateRoute, channelsById,
|
74
|
-
selectedChannelGroup.map((channel) => channel.id))),
|
69
|
+
route.alternateRoutes.map((alternateRoute) => renderAlternateRoutes(alternateRoute, channelsById)),
|
75
70
|
href && React.createElement("link", { rel: "canonical", href: href })),
|
76
71
|
!disableOpenGraphGeneralData && (React.createElement(OpenGraphGeneralPageData, { route: route, data: data })),
|
77
72
|
(route === null || route === void 0 ? void 0 : route.canonicalPath) === '/' && React.createElement(SiteLinksSearchStructuredData, null)));
|
package/components/Head.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Head.js","sourceRoot":"","sources":["Head.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAWlE,OAAO,KAAK,EAAE,EAAM,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,eAAe,MAAM,0BAA0B,CAAC;AACvD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;
|
1
|
+
{"version":3,"file":"Head.js","sourceRoot":"","sources":["Head.tsx"],"names":[],"mappings":"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"}
|