@@ -3,6 +3,7 @@ import apiClient, {
33 type CreateDonationRequest ,
44} from '../../api/apiClient' ;
55import React , { useState } from 'react' ;
6+ import { useSearchParams } from 'react-router-dom' ;
67import './donations.css' ;
78import {
89 DonationFormData ,
@@ -21,7 +22,12 @@ export const DonationForm: React.FC<DonationFormProps> = ({
2122 onError,
2223 onAmountChange,
2324} ) => {
24- const [ currentStep , setCurrentStep ] = useState < DonationStep > ( 1 ) ;
25+ const [ searchParams ] = useSearchParams ( ) ;
26+ const [ currentStep , setCurrentStep ] = useState < DonationStep > ( ( ) => {
27+ const stepParam = searchParams . get ( 'step' ) ;
28+ if ( stepParam === '4' ) return 4 ;
29+ return 1 ;
30+ } ) ;
2531 const [ formData , setFormData ] = useState < DonationFormData > ( {
2632 firstName : '' ,
2733 lastName : '' ,
@@ -43,7 +49,9 @@ export const DonationForm: React.FC<DonationFormProps> = ({
4349 const [ errors , setErrors ] = useState < Partial < FormErrors > > ( { } ) ;
4450 const [ isSubmitting , setIsSubmitting ] = useState ( false ) ;
4551 const [ submitError , setSubmitError ] = useState < string | null > ( null ) ;
46- const [ receiptId , setReceiptId ] = useState < string | null > ( null ) ;
52+ const [ receiptId , setReceiptId ] = useState < string | null > (
53+ searchParams . get ( 'receiptId' ) ,
54+ ) ;
4755
4856 const clampStep = ( value : number ) : DonationStep =>
4957 Math . max ( 1 , Math . min ( 4 , value ) ) as DonationStep ;
0 commit comments