Skip to content

Commit c2fdee8

Browse files
setting currentStep on save/submit, removing redirects
1 parent b51fe1d commit c2fdee8

File tree

2 files changed

+8
-20
lines changed

2 files changed

+8
-20
lines changed

src-ts/tools/work/work-lib/work-provider/work-functions/work-factory/work.factory.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,6 @@ export function buildUpdateBody(workTypeConfig: WorkTypeConfig, challenge: Chall
112112
const form: IntakeForm = !!intakeForm?.value ? JSON.parse(intakeForm.value)?.form : {}
113113
form.basicInfo = formData
114114

115-
// TODO: Add the progress.currentStep to form to determine if it's in the review phase (review page)
116-
// or not. The legacy intakes use currentStep 7 for review and 5 for taking the user to the login step
117-
// as those numbers map to the routes configured for each work type (see IntakeForm.jsx for an example).
118-
// We can probably clean that up as we don't need that many routes
119-
120115
// --- Build Metadata --- //
121116
const intakeMetadata: Array<ChallengeMetadata> = [
122117
{

src-ts/tools/work/work-self-service/intake-forms/bug-hunt/BugHuntIntakeForm.tsx

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -52,15 +52,11 @@ const BugHuntIntakeForm: React.FC = () => {
5252
const [formDef, setFormDef]: [FormDefinition, Dispatch<SetStateAction<FormDefinition>>]
5353
= useState<FormDefinition>({ ...BugHuntFormConfig })
5454

55-
const [formValues, setFormValues]: [any, Dispatch<any>] = useState({
55+
const [formValues, setFormValues]: [any, Dispatch<any>] = useState({
5656
currentStep: 'basicInfo',
5757
[ChallengeMetadataName.packageType]: 'standard',
5858
})
5959

60-
function findMetadata(metadataName: ChallengeMetadataName): ChallengeMetadata | undefined {
61-
return challenge?.metadata?.find((item: ChallengeMetadata) => item.name === metadataName)
62-
}
63-
6460
const [selectedPackage, setSelectedPackage]: [PricePackageName, Dispatch<SetStateAction<PricePackageName>>]
6561
= useState<PricePackageName>(formValues.packageType)
6662

@@ -77,17 +73,9 @@ const BugHuntIntakeForm: React.FC = () => {
7773

7874
const intakeFormBH: ChallengeMetadata | undefined = response.metadata?.find((item: ChallengeMetadata) => item.name === ChallengeMetadataName.intakeForm)
7975
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
8977

90-
setFormValues(formData.form.basicInfo)
78+
setFormValues(formData)
9179

9280
if (formData.form.basicInfo.packageType !== selectedPackage) {
9381
setSelectedPackage(formData.form.basicInfo.packageType)
@@ -128,6 +116,11 @@ const BugHuntIntakeForm: React.FC = () => {
128116

129117
const onSave: (val: any) => Promise<void> = (val: any) => {
130118
if (!challenge) { return Promise.resolve() }
119+
if (action === 'save') {
120+
val.currentStep = 'basicInfo'
121+
} else if (action === 'submit') {
122+
val.currentStep = 'review'
123+
}
131124

132125
return workUpdateAsync(WorkType.bugHunt, challenge, val)
133126
}

0 commit comments

Comments
 (0)