Skip to content

Commit 4dddee6

Browse files
fix: handle invalid origin when navigating between pages (#1856)
1 parent 9053990 commit 4dddee6

1 file changed

Lines changed: 13 additions & 8 deletions

File tree

dashboard/src/components/TopBar/TopBar.tsx

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,16 @@ const OriginSelect = ({
4141
[navigate],
4242
);
4343

44-
const selectItems = useMemo(() => {
45-
if (originData === undefined) {
46-
return <></>;
44+
const pageOrigins = useMemo(() => {
45+
if (!originData) {
46+
return [];
4747
}
48-
49-
const pageOrigins = isHardwarePath
48+
return isHardwarePath
5049
? originData.test_origins
5150
: originData.checkout_origins;
51+
}, [originData, isHardwarePath]);
5252

53+
const selectItems = useMemo(() => {
5354
return pageOrigins.map(option => (
5455
<SelectItem
5556
key={option}
@@ -59,10 +60,14 @@ const OriginSelect = ({
5960
{option}
6061
</SelectItem>
6162
));
62-
}, [originData, isHardwarePath]);
63+
}, [pageOrigins]);
6364

6465
useEffect(() => {
65-
if (origin === undefined) {
66+
if (pageOrigins.length === 0) {
67+
return;
68+
}
69+
70+
if (origin === undefined || !pageOrigins.includes(origin)) {
6671
navigate({
6772
to: '.',
6873
search: previousSearch => ({
@@ -71,7 +76,7 @@ const OriginSelect = ({
7176
}),
7277
});
7378
}
74-
}, [navigate, origin]);
79+
}, [navigate, origin, pageOrigins]);
7580

7681
if (originStatus === 'pending') {
7782
return <FormattedMessage id="global.loading" />;

0 commit comments

Comments
 (0)