feat: refactor of my stay
This commit is contained in:
committed by
Simon.Emanuelsson
parent
b5deb84b33
commit
ec087a3d15
@@ -12,15 +12,10 @@ import { trackEvent } from "@/utils/tracking/base"
|
||||
const maxRetries = 15
|
||||
const retryInterval = 2000
|
||||
|
||||
export function useGuaranteeBooking({
|
||||
confirmationNumber,
|
||||
handleBookingCompleted = () => {},
|
||||
isAncillaryFlow,
|
||||
}: {
|
||||
confirmationNumber: string
|
||||
handleBookingCompleted?: () => void
|
||||
isAncillaryFlow?: boolean
|
||||
}) {
|
||||
export function useGuaranteeBooking(
|
||||
confirmationNumber: string,
|
||||
isAncillaryFlow = false
|
||||
) {
|
||||
const intl = useIntl()
|
||||
const router = useRouter()
|
||||
const [isPollingForBookingStatus, setIsPollingForBookingStatus] =
|
||||
@@ -51,15 +46,13 @@ export function useGuaranteeBooking({
|
||||
|
||||
const utils = trpc.useUtils()
|
||||
const guaranteeBooking = trpc.booking.guarantee.useMutation({
|
||||
onSuccess: (result, variables) => {
|
||||
onSuccess: (result) => {
|
||||
if (result) {
|
||||
if (result.reservationStatus == BookingStatusEnum.BookingCompleted) {
|
||||
handleBookingCompleted()
|
||||
utils.booking.get.invalidate({ confirmationNumber })
|
||||
} else {
|
||||
setIsPollingForBookingStatus(true)
|
||||
utils.booking.status.invalidate({
|
||||
confirmationNumber: variables.confirmationNumber,
|
||||
})
|
||||
utils.booking.status.invalidate({ confirmationNumber })
|
||||
}
|
||||
} else {
|
||||
handleGuaranteeError()
|
||||
@@ -81,6 +74,7 @@ export function useGuaranteeBooking({
|
||||
useEffect(() => {
|
||||
if (bookingStatus?.data?.paymentUrl && isPollingForBookingStatus) {
|
||||
router.push(bookingStatus.data.paymentUrl)
|
||||
utils.booking.get.invalidate({ confirmationNumber })
|
||||
setIsPollingForBookingStatus(false)
|
||||
} else if (bookingStatus.isTimeout) {
|
||||
handleGuaranteeError("Timeout")
|
||||
@@ -91,6 +85,8 @@ export function useGuaranteeBooking({
|
||||
handleGuaranteeError,
|
||||
setIsPollingForBookingStatus,
|
||||
isPollingForBookingStatus,
|
||||
confirmationNumber,
|
||||
utils.booking.get,
|
||||
])
|
||||
|
||||
const isLoading =
|
||||
|
||||
Reference in New Issue
Block a user