1
- import { useState } from 'react' ;
2
-
3
- import styled from 'styled-components' ;
4
-
5
1
import { selectIsDeviceBackedUp , selectSelectedDeviceLabelOrName } from '@suite-common/wallet-core' ;
6
- import { Button , Checkbox , Column , variables } from '@trezor/components' ;
7
- import { spacings , spacingsPx } from '@trezor/theme' ;
2
+ import { Banner , Card , Checkbox , Column , H4 , Paragraph } from '@trezor/components' ;
3
+ import { spacings } from '@trezor/theme' ;
8
4
9
- import { OnboardingStepBox } from 'src/components/onboarding' ;
10
5
import { Translation } from 'src/components/suite' ;
11
- import { useDevice , useSelector } from 'src/hooks/suite' ;
12
-
13
- import { FirmwareButtonsRow } from '../Buttons/FirmwareButtonsRow' ;
14
- import { FirmwareSwitchWarning } from '../FirmwareSwitchWarning' ;
15
- import { FirmwareInstallationBackupButton } from './FirmwareInstallationBackupButton' ;
16
-
17
- const StyledSwitchWarning = styled ( FirmwareSwitchWarning ) `
18
- align-self: flex-start;
19
- border-bottom: 1px solid ${ ( { theme } ) => theme . legacy . STROKE_GREY } ;
20
- color: ${ ( { theme } ) => theme . legacy . TYPE_DARK_GREY } ;
21
- font-weight: ${ variables . FONT_WEIGHT . DEMI_BOLD } ;
22
- margin: ${ spacingsPx . xs } ${ spacingsPx . md } ;
23
- padding-bottom: ${ spacingsPx . md } ;
24
- text-transform: uppercase;
25
- ` ;
6
+ import { useSelector } from 'src/hooks/suite' ;
26
7
27
8
type CheckSeedStepProps = {
28
9
deviceWillBeWiped : boolean ;
29
- onClose ? : ( ) => void ;
30
- onSuccess : ( ) => void ;
10
+ setIsChecked : ( isChecked : boolean ) => void ;
11
+ isChecked : boolean ;
31
12
} ;
32
13
33
- export const CheckSeedStep = ( { deviceWillBeWiped, onClose, onSuccess } : CheckSeedStepProps ) => {
14
+ export const CheckSeedStep = ( {
15
+ deviceWillBeWiped,
16
+ setIsChecked,
17
+ isChecked,
18
+ } : CheckSeedStepProps ) => {
34
19
const deviceLabel = useSelector ( selectSelectedDeviceLabelOrName ) ;
35
20
const isDeviceBackedUp = useSelector ( selectIsDeviceBackedUp ) ;
36
- const { device } = useDevice ( ) ;
37
- const [ isChecked , setIsChecked ] = useState ( false ) ;
38
21
39
- const handleCheckboxClick = ( ) => setIsChecked ( prev => ! prev ) ;
40
22
const getContent = ( ) => {
41
- const noBackupHeading = (
42
- < Translation id = "TR_DEVICE_LABEL_IS_NOT_BACKED_UP" values = { { deviceLabel } } />
43
- ) ;
44
-
45
23
if ( deviceWillBeWiped ) {
46
24
return {
47
25
heading : isDeviceBackedUp ? (
48
26
< Translation id = "TR_CONTINUE_ONLY_WITH_SEED" />
49
27
) : (
50
- noBackupHeading
28
+ < Translation id = "TR_DEVICE_LABEL_IS_NOT_BACKED_UP" values = { { deviceLabel } } />
51
29
) ,
52
30
description : (
53
- < Column gap = { spacings . md } >
54
- < Translation
55
- id = {
56
- isDeviceBackedUp
57
- ? 'TR_CONTINUE_ONLY_WITH_SEED_DESCRIPTION'
58
- : 'TR_SWITCH_FIRMWARE_NO_BACKUP'
59
- }
60
- />
61
- < Translation
62
- id = {
63
- isDeviceBackedUp
64
- ? 'TR_CONTINUE_ONLY_WITH_SEED_DESCRIPTION_2'
65
- : 'TR_SWITCH_FIRMWARE_NO_BACKUP_2'
66
- }
67
- />
68
- </ Column >
31
+ < >
32
+ < Paragraph variant = "tertiary" >
33
+ < Translation
34
+ id = {
35
+ isDeviceBackedUp
36
+ ? 'TR_CONTINUE_ONLY_WITH_SEED_DESCRIPTION'
37
+ : 'TR_SWITCH_FIRMWARE_NO_BACKUP'
38
+ }
39
+ />
40
+ </ Paragraph >
41
+ < Paragraph variant = "tertiary" >
42
+ < Translation
43
+ id = {
44
+ isDeviceBackedUp
45
+ ? 'TR_CONTINUE_ONLY_WITH_SEED_DESCRIPTION_2'
46
+ : 'TR_SWITCH_FIRMWARE_NO_BACKUP_2'
47
+ }
48
+ />
49
+ </ Paragraph >
50
+ </ >
69
51
) ,
70
52
checkbox : < Translation id = "TR_READ_AND_UNDERSTOOD" /> ,
71
53
} ;
@@ -74,53 +56,48 @@ export const CheckSeedStep = ({ deviceWillBeWiped, onClose, onSuccess }: CheckSe
74
56
return isDeviceBackedUp
75
57
? {
76
58
heading : < Translation id = "TR_SECURITY_CHECKPOINT_GOT_SEED" /> ,
77
- description : < Translation id = "TR_BEFORE_ANY_FURTHER_ACTIONS" /> ,
59
+ description : (
60
+ < Paragraph variant = "tertiary" >
61
+ < Translation id = "TR_BEFORE_ANY_FURTHER_ACTIONS" />
62
+ </ Paragraph >
63
+ ) ,
78
64
checkbox : < Translation id = "FIRMWARE_USER_HAS_SEED_CHECKBOX_DESC" /> ,
79
65
}
80
66
: {
81
- heading : noBackupHeading ,
82
- description : < Translation id = "TR_FIRMWARE_IS_POTENTIALLY_RISKY" /> ,
67
+ heading : (
68
+ < Translation id = "TR_DEVICE_LABEL_IS_NOT_BACKED_UP" values = { { deviceLabel } } />
69
+ ) ,
70
+ description : (
71
+ < Paragraph variant = "tertiary" >
72
+ < Translation id = "TR_FIRMWARE_IS_POTENTIALLY_RISKY" />
73
+ </ Paragraph >
74
+ ) ,
83
75
checkbox : < Translation id = "FIRMWARE_USER_TAKES_RESPONSIBILITY_CHECKBOX_DESC" /> ,
84
76
} ;
85
77
} ;
86
78
87
79
const { heading, description, checkbox } = getContent ( ) ;
88
80
89
81
return (
90
- < OnboardingStepBox
91
- image = "FIRMWARE"
92
- heading = { heading }
93
- description = { description }
94
- innerActions = {
95
- < FirmwareButtonsRow withCancelButton = { deviceWillBeWiped } onClose = { onClose } >
96
- < Button
97
- onClick = { onSuccess }
98
- data-testid = "@firmware/confirm-seed-button"
99
- isDisabled = { ! device ?. connected || ! isChecked }
100
- >
101
- < Translation
102
- id = { deviceWillBeWiped ? 'TR_WIPE_AND_REINSTALL' : 'TR_CONTINUE' }
103
- />
104
- </ Button >
105
- < FirmwareInstallationBackupButton isBackedUp = { isDeviceBackedUp } />
106
- </ FirmwareButtonsRow >
107
- }
108
- disableConfirmWrapper
109
- nested
110
- >
82
+ < Column gap = { spacings . md } >
83
+ < Column gap = { spacings . xs } margin = { { bottom : spacings . xs } } >
84
+ < H4 > { heading } </ H4 >
85
+ { description }
86
+ </ Column >
111
87
{ deviceWillBeWiped && (
112
- < StyledSwitchWarning >
88
+ < Banner variant = "destructive" icon = "warning" >
113
89
< Translation id = "TR_FIRMWARE_SWITCH_WARNING_3" />
114
- </ StyledSwitchWarning >
90
+ </ Banner >
115
91
) }
116
- < Checkbox
117
- isChecked = { isChecked }
118
- onClick = { handleCheckboxClick }
119
- margin = { { top : spacings . md } }
120
- data-testid = "@firmware/confirm-seed-checkbox"
121
- >
122
- { checkbox }
123
- </ Checkbox >
124
- </ OnboardingStepBox >
92
+ < Card >
93
+ < Checkbox
94
+ isChecked = { isChecked }
95
+ onClick = { ( ) => setIsChecked ( ! isChecked ) }
96
+ data-testid = "@firmware/confirm-seed-checkbox"
97
+ >
98
+ { checkbox }
99
+ </ Checkbox >
100
+ </ Card >
101
+ </ Column >
125
102
) ;
126
103
} ;
0 commit comments