Merged in feat/BOOK-377-keep-booking-widget-state (pull request #2894)
feat(BOOK-377): keep dates and rooms & guest in session storage * feat(BOOK-377): keep dates and rooms & guest in session storage * feat(BOOK-377): extract to hook and reuse Approved-by: Erik Tiekstra
This commit is contained in:
@@ -15,6 +15,7 @@ import { trpc } from "@scandic-hotels/trpc/client"
|
||||
import { SEARCH_TYPE_REDEMPTION } from "@scandic-hotels/trpc/constants/booking"
|
||||
|
||||
import { useBookingFlowConfig } from "../../bookingFlowConfig/bookingFlowConfigContext"
|
||||
import { useBookingWidgetState } from "../../hooks/useBookingWidgetState"
|
||||
import useLang from "../../hooks/useLang"
|
||||
import {
|
||||
type bookingCodeSchema,
|
||||
@@ -54,6 +55,7 @@ export default function BookingWidgetClient({
|
||||
null
|
||||
)
|
||||
const { bookingCodeEnabled } = useBookingFlowConfig()
|
||||
const storedBookingWidgetState = useBookingWidgetState()
|
||||
|
||||
const shouldFetchAutoComplete = !!data.hotelId || !!data.city
|
||||
|
||||
@@ -207,6 +209,24 @@ export default function BookingWidgetClient({
|
||||
}
|
||||
}, [methods, selectedBookingCode])
|
||||
|
||||
useEffect(() => {
|
||||
if (
|
||||
!data.fromDate &&
|
||||
!data.toDate &&
|
||||
!data.rooms &&
|
||||
storedBookingWidgetState
|
||||
) {
|
||||
methods.reset({
|
||||
...methods.getValues(),
|
||||
date: {
|
||||
fromDate: storedBookingWidgetState.fromDate,
|
||||
toDate: storedBookingWidgetState.toDate,
|
||||
},
|
||||
rooms: storedBookingWidgetState.rooms,
|
||||
})
|
||||
}
|
||||
}, [data, methods, storedBookingWidgetState])
|
||||
|
||||
if (shouldShowSkeleton) {
|
||||
return <BookingWidgetSkeleton type={type} />
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user