Skip to content

Commit d3130b8

Browse files
committed
PWA-3339:Header location should set to correct endpoint in case of 301|302
1 parent 329dfc5 commit d3130b8

File tree

2 files changed

+14
-8
lines changed

2 files changed

+14
-8
lines changed

packages/peregrine/lib/talons/MagentoRoute/useMagentoRoute.js

+13-7
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useCallback, useEffect, useRef } from 'react';
1+
import { useCallback, useEffect, useRef, useState } from 'react';
22
import { useHistory, useLocation } from 'react-router-dom';
33
import { useLazyQuery } from '@apollo/client';
44
import { useRootComponents } from '../../context/rootComponents';
@@ -44,9 +44,11 @@ export const useMagentoRoute = (props = {}) => {
4444
const component = componentMap.get(pathname);
4545

4646
const [runQuery, queryResult] = useLazyQuery(resolveUrlQuery);
47+
const [getRouteData, setRouteData] = useState(null);
48+
4749
// destructure the query result
48-
const { data, error, loading } = queryResult;
49-
const { route } = data || {};
50+
const { error, loading } = queryResult;
51+
const { route } = getRouteData || {};
5052

5153
// redirect to external url
5254
useEffect(() => {
@@ -59,16 +61,20 @@ export const useMagentoRoute = (props = {}) => {
5961
}, [route]);
6062

6163
useEffect(() => {
62-
if (initialized.current || !getInlinedPageData()) {
63-
runQuery({
64+
const runInitialQuery = async () => {
65+
const { data } = await runQuery({
6466
fetchPolicy: 'cache-and-network',
6567
nextFetchPolicy: 'cache-first',
6668
variables: { url: pathname }
6769
});
70+
setRouteData(data);
6871
fetchedPathname.current = pathname;
72+
};
73+
if (initialized.current || !getInlinedPageData()) {
74+
runInitialQuery();
6975
}
70-
}, [initialized, pathname]); // eslint-disable-line react-hooks/exhaustive-deps
71-
76+
}, [initialized, pathname, runQuery]); // eslint-disable-line react-hooks/exhaustive-deps
77+
7278
useEffect(() => {
7379
if (component) {
7480
return;

packages/venia-ui/upward.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ veniaResponse:
2121
pattern: '(js|json|png|jpg|gif|svg|ico|css|txt)'
2222
use: veniaStatic
2323
- matches: urlResolver.redirect_code
24-
pattern: '301'
24+
pattern: '(301|302)'
2525
use: dynamicRedirect
2626
default: veniaAppShell
2727

0 commit comments

Comments
 (0)