Feature/select rate vertical data flow * add fix from SW-2666 * use translations for room packages * move types to it's own file * Merge branch 'master' of bitbucket.org:scandic-swap/web into feature/select-rate-vertical-data-flow * merge * feature/select-rate: double rate for campaing rates * revert NODE_ENV check in Cookiebot script * revert testing values * fix(SW-3171): fix all filter selected in price details * fix(SW-3166): multiroom anchoring when changing filter * fix(SW-3172): check hotelType, show correct breakfast message * Merge branch 'feature/select-rate-vertical-data-flow' of bitbucket.org:scandic-swap/web into feature/select-rate-vertical-data-flow * fix: show special needs icons for subsequent roomTypes SW-3167 * fix: Display strike through text when logged in SW-3168 * fix: Reinstate the scrollToView behaviour when selecting a rate SW-3169 * merge * . * PR fixes * fix: don't return notFound() * . * always include defaults for room packages * merge * merge * merge * Remove floating h1 for new select-rate Approved-by: Anton Gunnarsson
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
"use client"
|
|
|
|
import { usePathname, useSearchParams } from "next/navigation"
|
|
import { useEffect } from "react"
|
|
import { useIntl } from "react-intl"
|
|
|
|
import { BookingErrorCodeEnum } from "@scandic-hotels/trpc/enums/bookingErrorCode"
|
|
|
|
import { toast } from "@/components/TempDesignSystem/Toasts"
|
|
|
|
export default function AvailabilityError() {
|
|
const intl = useIntl()
|
|
const pathname = usePathname()
|
|
const searchParams = useSearchParams()
|
|
|
|
const errorCode = searchParams.get("errorCode")
|
|
const hasAvailabilityError =
|
|
errorCode === BookingErrorCodeEnum.AvailabilityError
|
|
|
|
const errorMessage = intl.formatMessage({
|
|
defaultMessage:
|
|
"Unfortunately, one of the rooms you selected is sold out. Please choose another room to proceed.",
|
|
})
|
|
|
|
useEffect(() => {
|
|
if (hasAvailabilityError) {
|
|
toast.error(errorMessage)
|
|
|
|
const newParams = new URLSearchParams(searchParams.toString())
|
|
newParams.delete("errorCode")
|
|
window.history.replaceState({}, "", `${pathname}?${newParams.toString()}`)
|
|
}
|
|
}, [errorMessage, hasAvailabilityError, pathname, searchParams])
|
|
|
|
return null
|
|
}
|