feat: add conditional signup values
This commit is contained in:
@@ -22,7 +22,10 @@ interface EnterDetailsState {
|
||||
activeSidePeek: SidePeekEnum | null
|
||||
isValid: Record<StepEnum, boolean>
|
||||
completeStep: (updatedData: Partial<EnterDetailsState["data"]>) => void
|
||||
navigate: (step: StepEnum, searchParams?: Record<string, string>) => void
|
||||
navigate: (
|
||||
step: StepEnum,
|
||||
searchParams?: Record<string, string | boolean>
|
||||
) => void
|
||||
openSidePeek: (key: SidePeekEnum | null) => void
|
||||
closeSidePeek: () => void
|
||||
}
|
||||
@@ -37,26 +40,34 @@ export function initEditDetailsState(currentStep: StepEnum) {
|
||||
breakfast: undefined,
|
||||
countryCode: "",
|
||||
email: "",
|
||||
firstname: "",
|
||||
lastname: "",
|
||||
firstName: "",
|
||||
lastName: "",
|
||||
phoneNumber: "",
|
||||
join: false,
|
||||
zipCode: "",
|
||||
dateOfBirth: undefined,
|
||||
termsAccepted: false,
|
||||
}
|
||||
|
||||
let inputData = {}
|
||||
if (search?.size) {
|
||||
const searchParams: Record<string, string> = {}
|
||||
const searchParams: Record<string, string | boolean> = {}
|
||||
search.forEach((value, key) => {
|
||||
searchParams[key] = value
|
||||
// Handle boolean values
|
||||
|
||||
if (value === "true" || value === "false") {
|
||||
searchParams[key] = JSON.parse(value) as true | false
|
||||
} else {
|
||||
searchParams[key] = value
|
||||
}
|
||||
})
|
||||
|
||||
inputData = searchParams
|
||||
} else if (sessionData) {
|
||||
inputData = JSON.parse(sessionData)
|
||||
}
|
||||
|
||||
const validPaths = [StepEnum.selectBed]
|
||||
|
||||
let initialData = defaultData
|
||||
let initialData: EnterDetailsState["data"] = defaultData
|
||||
|
||||
const isValid = {
|
||||
[StepEnum.selectBed]: false,
|
||||
@@ -100,7 +111,7 @@ export function initEditDetailsState(currentStep: StepEnum) {
|
||||
const query = new URLSearchParams(window.location.search)
|
||||
if (searchParams) {
|
||||
Object.entries(searchParams).forEach(([key, value]) => {
|
||||
query.set(key, value)
|
||||
query.set(key, value ? value.toString() : "")
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user