diff --git a/app/[lang]/(live)/(public)/hotelreservation/(standard)/details/page.tsx b/app/[lang]/(live)/(public)/hotelreservation/(standard)/details/page.tsx index 1e4ae867e..5aed6b8b3 100644 --- a/app/[lang]/(live)/(public)/hotelreservation/(standard)/details/page.tsx +++ b/app/[lang]/(live)/(public)/hotelreservation/(standard)/details/page.tsx @@ -184,6 +184,8 @@ export default async function DetailsPage({ roomType={room.roomType} roomTypeCode={booking.rooms[idx].roomTypeCode} rateDescription={room.cancellationText} + roomIndex={idx} + searchParamsStr={selectRoomParams.toString()} /> {room.bedTypes ? ( diff --git a/components/HotelReservation/EnterDetails/SelectedRoom/index.tsx b/components/HotelReservation/EnterDetails/SelectedRoom/index.tsx index 8944d4baf..76ca0f10d 100644 --- a/components/HotelReservation/EnterDetails/SelectedRoom/index.tsx +++ b/components/HotelReservation/EnterDetails/SelectedRoom/index.tsx @@ -1,11 +1,14 @@ "use client" +import { useRouter } from "next/navigation" +import { useTransition } from "react" import { useIntl } from "react-intl" import { selectRate } from "@/constants/routes/hotelReservation" +import { useRateSelectionStore } from "@/stores/select-rate/rate-selection" import { CheckIcon, EditIcon } from "@/components/Icons" -import Link from "@/components/TempDesignSystem/Link" +import Button from "@/components/TempDesignSystem/Button" import Footnote from "@/components/TempDesignSystem/Text/Footnote" import Subtitle from "@/components/TempDesignSystem/Text/Subtitle" import useLang from "@/hooks/useLang" @@ -21,9 +24,23 @@ export default function SelectedRoom({ roomType, roomTypeCode, rateDescription, + roomIndex, + searchParamsStr, }: SelectedRoomProps) { const intl = useIntl() const lang = useLang() + const router = useRouter() + const [isPending, startTransition] = useTransition() + const { modifyRate } = useRateSelectionStore() + + function changeRoom() { + modifyRate(roomIndex) + startTransition(() => { + const newSearchParams = new URLSearchParams(searchParamsStr) + newSearchParams.set("modifyRateIndex", roomIndex.toString()) + router.push(`${selectRate(lang)}?${newSearchParams.toString()}`) + }) + } return (