1
1
import React from 'react' ;
2
- import { Redirect } from 'react-router-dom' ;
2
+ import { Redirect , useHistory } from 'react-router-dom' ;
3
3
import { Loading } from '@deriv/components' ;
4
4
import { useGetPasskeysList , useRegisterPasskey } from '@deriv/hooks' ;
5
5
import { routes } from '@deriv/shared' ;
@@ -9,18 +9,20 @@ import PasskeysList from './components/passkeys-list';
9
9
import PasskeyModal from './components/passkey-modal' ;
10
10
import {
11
11
getModalContent ,
12
+ NOT_SUPPORTED_ERROR_NAME ,
12
13
PASSKEY_STATUS_CODES ,
13
14
passkeysMenuActionEventTrack ,
14
15
TPasskeysStatus ,
15
16
} from './passkeys-configs' ;
16
17
import './passkeys.scss' ;
17
- import { TServerError } from 'Types' ;
18
+ import { TServerError } from '../../../ Types/common.type ' ;
18
19
19
20
const Passkeys = observer ( ( ) => {
20
21
const { ui, client, common } = useStore ( ) ;
21
22
const { is_mobile } = ui ;
22
23
const { is_passkey_supported } = client ;
23
24
let timeout : ReturnType < typeof setTimeout > ;
25
+ const history = useHistory ( ) ;
24
26
25
27
const [ passkey_status , setPasskeyStatus ] = React . useState < TPasskeysStatus > ( PASSKEY_STATUS_CODES . NONE ) ;
26
28
const [ is_modal_open , setIsModalOpen ] = React . useState ( false ) ;
@@ -93,6 +95,9 @@ const Passkeys = observer(() => {
93
95
const onModalButtonClick = ( ) => {
94
96
if ( error ) {
95
97
onCloseModal ( onCloseError ) ;
98
+ if ( ( error as TServerError ) . name === NOT_SUPPORTED_ERROR_NAME ) {
99
+ history . push ( routes . traders_hub ) ;
100
+ }
96
101
} else {
97
102
passkeysMenuActionEventTrack ( 'create_passkey_reminder_passed' ) ;
98
103
createPasskey ( ) ;
@@ -130,7 +135,7 @@ const Passkeys = observer(() => {
130
135
) }
131
136
< PasskeyModal
132
137
toggleModal = { is_passkey_registration_started ? onCloseRegistration : undefined }
133
- has_close_icon = { ! ! modal_content . header }
138
+ has_close_icon = { ! error && ! ! modal_content . header }
134
139
header = { modal_content . header }
135
140
className = 'passkeys-modal'
136
141
is_modal_open = { is_modal_open }
0 commit comments