feat: SW-1588 Implemented booking code select-rate

This commit is contained in:
Hrishikesh Vaipurkar
2025-02-14 20:50:42 +01:00
parent 832b6c27e0
commit 8966e56820
28 changed files with 242 additions and 60 deletions

View File

@@ -11,6 +11,8 @@ import styles from "./bookingCodeFilter.module.css"
import type { Key } from "react"
import { BookingCodeFilterEnum } from "@/types/enums/bookingCodeFilter"
export default function BookingCodeFilter() {
const intl = useIntl()
const activeCodeFilter = useBookingCodeFilterStore(
@@ -21,20 +23,20 @@ export default function BookingCodeFilter() {
const bookingCodeFilterItems = [
{
label: intl.formatMessage({ id: "Discounted rooms" }),
value: "discounted",
value: BookingCodeFilterEnum.Discounted,
},
{
label: intl.formatMessage({ id: "Full price rooms" }),
value: "regular",
value: BookingCodeFilterEnum.Regular,
},
{
label: intl.formatMessage({ id: "See all" }),
value: "all",
value: BookingCodeFilterEnum.All,
},
]
function updateFilter(selectedFilter: Key) {
setFilter(selectedFilter as string)
setFilter(selectedFilter as BookingCodeFilterEnum)
}
return (

View File

@@ -28,6 +28,8 @@ import styles from "./selectHotelMapContent.module.css"
import type { HotelData } from "@/types/components/hotelReservation/selectHotel/hotelCardListingProps"
import type { SelectHotelMapProps } from "@/types/components/hotelReservation/selectHotel/map"
import { BookingCodeFilterEnum } from "@/types/enums/bookingCodeFilter"
import { RateTypeEnum } from "@/types/enums/rateType"
const SKELETON_LOAD_DELAY = 750
@@ -83,10 +85,11 @@ export default function SelectHotelContent({
? hotelPins.filter(
(hotel) =>
!hotel.publicPrice ||
activeCodeFilter === "all" ||
(activeCodeFilter === "discounted" &&
hotel.rateType?.toLowerCase() !== "regular") ||
activeCodeFilter === hotel.rateType?.toLowerCase()
activeCodeFilter === BookingCodeFilterEnum.All ||
(activeCodeFilter === BookingCodeFilterEnum.Discounted &&
hotel.rateType !== RateTypeEnum.Regular) ||
(activeCodeFilter === BookingCodeFilterEnum.Regular &&
hotel.rateType === RateTypeEnum.Regular)
)
: hotelPins
return updatedHotelsList.filter((hotel) =>