feat: Convert Selected-Room to Steplike design and fix select-rate link

This commit is contained in:
Arvid Norlin
2024-11-04 16:11:25 +01:00
parent 7bf89e80ff
commit e8e23a2113
10 changed files with 148 additions and 107 deletions

View File

@@ -9,7 +9,10 @@ import {
guestDetailsSchema,
signedInDetailsSchema,
} from "@/components/HotelReservation/EnterDetails/Details/schema"
import { getQueryParamsForEnterDetails } from "@/components/HotelReservation/SelectRate/RoomSelection/utils"
import {
createSelectRateUrl,
getQueryParamsForEnterDetails,
} from "@/components/HotelReservation/SelectRate/RoomSelection/utils"
import { BookingData } from "@/types/components/hotelReservation/enterDetails/bookingData"
import { BreakfastPackage } from "@/types/components/hotelReservation/enterDetails/breakfast"
@@ -26,6 +29,7 @@ interface EnterDetailsState {
} & DetailsSchema
roomData: BookingData
steps: StepEnum[]
selectRateUrl: string
currentStep: StepEnum
isValid: Record<StepEnum, boolean>
completeStep: (updatedData: Partial<EnterDetailsState["userData"]>) => void
@@ -47,8 +51,11 @@ export function initEditDetailsState(
: null
let roomData: BookingData
let selectRateUrl: string
if (searchParams?.size) {
roomData = getQueryParamsForEnterDetails(searchParams)
const data = getQueryParamsForEnterDetails(searchParams)
roomData = data
selectRateUrl = `select-rate?${createSelectRateUrl(data)}`
}
const defaultUserData: EnterDetailsState["userData"] = {
@@ -115,6 +122,7 @@ export function initEditDetailsState(
return create<EnterDetailsState>()((set, get) => ({
userData: initialData,
roomData,
selectRateUrl,
steps: Object.values(StepEnum),
setCurrentStep: (step) => set({ currentStep: step }),
navigate: (step, updatedData) =>