import { cookies } from "next/headers" import { notFound } from "next/navigation" import { FamilyAndFriendsCodes } from "@/constants/booking" import { getHotel } from "@/lib/trpc/memoizedRequests" import HotelInfoCard from "@/components/HotelReservation/SelectRate/HotelInfoCard" import { RoomsContainer } from "@/components/HotelReservation/SelectRate/RoomsContainer" import { setLang } from "@/i18n/serverContext" import { getHotelSearchDetails } from "@/utils/hotelSearchDetails" import { convertSearchParamsToObj } from "@/utils/url" import FnFNotAllowedAlert from "../FnFNotAllowedAlert/FnFNotAllowedAlert" import AvailabilityError from "./AvailabilityError" import Tracking from "./Tracking" import type { SelectRateSearchParams } from "@/types/components/hotelReservation/selectRate/selectRate" import type { LangParams, PageArgs } from "@/types/params" export default async function SelectRatePage({ params, searchParams, }: PageArgs) { setLang(params.lang) const searchDetails = await getHotelSearchDetails({ searchParams }) if (!searchDetails?.hotel) { return notFound() } const { adultsInRoom, childrenInRoom, hotel, noOfRooms, bookingCode } = searchDetails const hotelData = await getHotel({ hotelId: hotel.id, isCardOnlyPayment: false, language: params.lang, }) if (!hotelData) { return notFound() } const booking = convertSearchParamsToObj(searchParams) let isInValidFNF = false if (bookingCode && FamilyAndFriendsCodes.includes(bookingCode)) { const cookieStore = cookies() isInValidFNF = cookieStore.get("sc")?.value !== "1" } return ( <> {isInValidFNF ? ( ) : ( )} ) }