1
1
import React , { type ChangeEventHandler , type MouseEventHandler , useEffect , useState } from 'react' ;
2
2
import { useTranslation } from 'react-i18next' ;
3
- import { type NavigateFunction , useNavigate } from 'react-router' ;
4
3
import { Helmet } from 'react-helmet' ;
5
4
import { createURL } from '@jwp/ott-common/src/utils/urlFormatting' ;
6
5
import { CONFIG_QUERY_KEY } from '@jwp/ott-common/src/constants' ;
@@ -12,6 +11,7 @@ import LoadingOverlay from '@jwp/ott-ui-react/src/components/LoadingOverlay/Load
12
11
import DevStackTrace from '@jwp/ott-ui-react/src/components/DevStackTrace/DevStackTrace' ;
13
12
import type { BootstrapData } from '@jwp/ott-hooks-react/src/useBootstrapApp' ;
14
13
import { AppError } from '@jwp/ott-common/src/utils/error' ;
14
+ import { PATH_HOME } from '@jwp/ott-common/src/paths' ;
15
15
16
16
import styles from './DemoConfigDialog.module.scss' ;
17
17
@@ -32,26 +32,11 @@ const initialState: State = {
32
32
loaded : false ,
33
33
} ;
34
34
35
- export function getConfigNavigateCallback ( navigate : NavigateFunction ) {
36
- return ( configSource : string ) => {
37
- navigate (
38
- {
39
- pathname : '/' ,
40
- search : new URLSearchParams ( [ [ CONFIG_QUERY_KEY , configSource ] ] ) . toString ( ) ,
41
- } ,
42
- { replace : true } ,
43
- ) ;
44
- } ;
45
- }
46
-
47
35
const DemoConfigDialog = ( { query } : { query : BootstrapData } ) => {
48
36
const { data, isLoading, error, refetch, isSuccess } = query ;
49
37
const { configSource : selectedConfigSource } = data || { } ;
50
38
51
39
const { t } = useTranslation ( 'demo' ) ;
52
- const navigate = useNavigate ( ) ;
53
- const navigateCallback = getConfigNavigateCallback ( navigate ) ;
54
-
55
40
const [ state , setState ] = useState < State > ( initialState ) ;
56
41
57
42
const errorTitle = error && error instanceof AppError ? error . payload . title : '' ;
@@ -91,7 +76,7 @@ const DemoConfigDialog = ({ query }: { query: BootstrapData }) => {
91
76
92
77
const clearConfig = ( ) => {
93
78
setState ( initialState ) ;
94
- navigateCallback ( '' ) ;
79
+ window . location . href = createURL ( PATH_HOME , { [ CONFIG_QUERY_KEY ] : '' } ) ;
95
80
} ;
96
81
97
82
const isValidSource = ( configSource : string ) => configSource . match ( regex ) ?. some ( ( m ) => m === configSource ) ;
@@ -170,7 +155,7 @@ const DemoConfigDialog = ({ query }: { query: BootstrapData }) => {
170
155
helpLink = { 'https://docs.jwplayer.com/platform/docs/ott-create-an-app-config' }
171
156
error = { typeof state . error === 'string' ? undefined : state . error }
172
157
>
173
- < form method = { 'GET' } target = { '/' } >
158
+ < form method = { 'GET' } >
174
159
< TextField
175
160
required
176
161
disabled = { isLoading }
0 commit comments