@@ -52,15 +52,11 @@ const BugHuntIntakeForm: React.FC = () => {
52
52
const [ formDef , setFormDef ] : [ FormDefinition , Dispatch < SetStateAction < FormDefinition > > ]
53
53
= useState < FormDefinition > ( { ...BugHuntFormConfig } )
54
54
55
- const [ formValues , setFormValues ] : [ any , Dispatch < any > ] = useState ( {
55
+ const [ formValues , setFormValues ] : [ any , Dispatch < any > ] = useState ( {
56
56
currentStep : 'basicInfo' ,
57
57
[ ChallengeMetadataName . packageType ] : 'standard' ,
58
58
} )
59
59
60
- function findMetadata ( metadataName : ChallengeMetadataName ) : ChallengeMetadata | undefined {
61
- return challenge ?. metadata ?. find ( ( item : ChallengeMetadata ) => item . name === metadataName )
62
- }
63
-
64
60
const [ selectedPackage , setSelectedPackage ] : [ PricePackageName , Dispatch < SetStateAction < PricePackageName > > ]
65
61
= useState < PricePackageName > ( formValues . packageType )
66
62
@@ -77,17 +73,9 @@ const BugHuntIntakeForm: React.FC = () => {
77
73
78
74
const intakeFormBH : ChallengeMetadata | undefined = response . metadata ?. find ( ( item : ChallengeMetadata ) => item . name === ChallengeMetadataName . intakeForm )
79
75
if ( intakeFormBH ) {
80
- const formData : Record < string , any > = JSON . parse ( intakeFormBH . value )
81
- // TODO: Set the correct currentStep into challenge's form data when saving form and moving on to a new page
82
- if ( formData . currentStep && formData . currentStep !== 'basicInfo' ) {
83
- if ( ! isLoggedIn ) {
84
- navigate ( WorkIntakeFormRoutes [ WorkType . bugHunt ] [ 'loginPrompt' ] )
85
- } else {
86
- navigate ( WorkIntakeFormRoutes [ WorkType . bugHunt ] [ formData . currentStep ] )
87
- }
88
- }
76
+ const formData : Record < string , any > = JSON . parse ( intakeFormBH . value ) . form . basicInfo
89
77
90
- setFormValues ( formData . form . basicInfo )
78
+ setFormValues ( formData )
91
79
92
80
if ( formData . form . basicInfo . packageType !== selectedPackage ) {
93
81
setSelectedPackage ( formData . form . basicInfo . packageType )
@@ -128,6 +116,11 @@ const BugHuntIntakeForm: React.FC = () => {
128
116
129
117
const onSave : ( val : any ) => Promise < void > = ( val : any ) => {
130
118
if ( ! challenge ) { return Promise . resolve ( ) }
119
+ if ( action === 'save' ) {
120
+ val . currentStep = 'basicInfo'
121
+ } else if ( action === 'submit' ) {
122
+ val . currentStep = 'review'
123
+ }
131
124
132
125
return workUpdateAsync ( WorkType . bugHunt , challenge , val )
133
126
}
0 commit comments