@@ -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