Feat/SW-613 refactor hotelreservation sidepeek * feat(SW-613): move sidepeek paralell route to apply for all of hotelreservation * feat(SW-613): refactor sidepeek logic to a unified approach for hotelreservation flow * feat(SW-613): fix issue where room was not selected properly in sidepeek * fix(SW-613): move back preload to layout * fix(SW-613): move preload to dedicated file * fix(SW-613): refactor sidepeek to work with hotel page * feat(SW-613): added sidepeek button for room card Approved-by: Simon.Emanuelsson
28 lines
832 B
TypeScript
28 lines
832 B
TypeScript
import { getHotelData } from "@/lib/trpc/memoizedRequests"
|
|
import { HotelIncludeEnum } from "@/server/routers/hotels/input"
|
|
|
|
import { getQueryParamsForEnterDetails } from "@/components/HotelReservation/SelectRate/RoomSelection/utils"
|
|
import SidePeek from "@/components/HotelReservation/SidePeek"
|
|
|
|
import type { LangParams, PageArgs } from "@/types/params"
|
|
|
|
export default async function HotelSidePeek({
|
|
params,
|
|
searchParams,
|
|
}: PageArgs<LangParams, { hotel: string }>) {
|
|
const search = new URLSearchParams(searchParams)
|
|
const { hotel: hotelId } = getQueryParamsForEnterDetails(search)
|
|
|
|
if (!hotelId) {
|
|
return <SidePeek hotel={null} />
|
|
}
|
|
|
|
const hotel = await getHotelData({
|
|
hotelId: hotelId,
|
|
language: params.lang,
|
|
include: [HotelIncludeEnum.RoomCategories],
|
|
})
|
|
|
|
return <SidePeek hotel={hotel} />
|
|
}
|