import { Suspense } from "react" import { Typography } from "@scandic-hotels/design-system/Typography" import { getBookingConfirmation } from "@/lib/trpc/memoizedRequests" import { getIntl } from "@/i18n" import MultiRoom from "../MultiRoom" import MultiRoomSkeleton from "../MultiRoom/MultiRoomSkeleton" import PriceDetails from "../PriceDetails" import { SingleRoom } from "../SingleRoom" import TotalPrice from "./TotalPrice" import styles from "./rooms.module.css" import { type Hotel, type Room } from "@/types/hotel" import type { BookingConfirmation } from "@/types/trpc/routers/booking/confirmation" import type { User } from "@/types/user" interface RoomsProps { booking: BookingConfirmation["booking"] room: | (Room & { bedType: Room["roomTypes"][number] }) | null hotel: Hotel user: User | null } export default async function Rooms({ booking, room, hotel, user, }: RoomsProps) { const intl = await getIntl() if (!room) { return null } const linkedBookingPromises = booking.linkedReservations ? booking.linkedReservations.map((linkedBooking) => { return getBookingConfirmation(linkedBooking.confirmationNumber) }) : [] const isMultiRoom = booking.linkedReservations.length > 0 return (
{isMultiRoom && (

{intl.formatMessage({ id: "Your rooms" })}

)}
{!isMultiRoom ? ( ) : (
{booking.linkedReservations.map((linkedRes, index) => (
}>
))}
)}
{isMultiRoom && (

{intl.formatMessage({ id: "Booking total" })}:

)}
) }