Feat/lokalise rebuild * chore(lokalise): update translation ids * chore(lokalise): easier to switch between projects * chore(lokalise): update translation ids * . * . * . * . * . * . * chore(lokalise): update translation ids * chore(lokalise): update translation ids * . * . * . * chore(lokalise): update translation ids * chore(lokalise): update translation ids * . * . * chore(lokalise): update translation ids * chore(lokalise): update translation ids * chore(lokalise): new translations * merge * switch to errors for missing id's * merge * sync translations Approved-by: Linus Flood
81 lines
2.2 KiB
TypeScript
81 lines
2.2 KiB
TypeScript
"use client"
|
|
|
|
import { useIntl } from "react-intl"
|
|
|
|
import { Typography } from "@scandic-hotels/design-system/Typography"
|
|
|
|
import { LinkedReservation } from "./LinkedReservation"
|
|
import { Room } from "./Room"
|
|
|
|
import styles from "./rooms.module.css"
|
|
|
|
import type { BookingConfirmation } from "@scandic-hotels/trpc/types/bookingConfirmation"
|
|
import type { Room as RoomProp } from "@scandic-hotels/trpc/types/hotel"
|
|
|
|
interface BookingConfirmationRoomsProps
|
|
extends Pick<BookingConfirmation, "booking"> {
|
|
mainRoom: RoomProp & {
|
|
bedType: RoomProp["roomTypes"][number]
|
|
}
|
|
checkInTime: string
|
|
checkOutTime: string
|
|
}
|
|
|
|
export function Rooms({
|
|
booking,
|
|
checkInTime,
|
|
checkOutTime,
|
|
mainRoom,
|
|
}: BookingConfirmationRoomsProps) {
|
|
const intl = useIntl()
|
|
|
|
return (
|
|
<section className={styles.rooms}>
|
|
<div className={styles.room}>
|
|
{booking.linkedReservations.length ? (
|
|
<Typography variant="Title/Subtitle/md">
|
|
<h2 className={styles.roomTitle}>
|
|
{intl.formatMessage(
|
|
{
|
|
id: "booking.roomIndex",
|
|
defaultMessage: "Room {roomIndex}",
|
|
},
|
|
{ roomIndex: 1 }
|
|
)}
|
|
</h2>
|
|
</Typography>
|
|
) : null}
|
|
<Room
|
|
booking={booking}
|
|
checkInTime={checkInTime}
|
|
checkOutTime={checkOutTime}
|
|
img={mainRoom.images[0]}
|
|
roomName={mainRoom.name}
|
|
/>
|
|
</div>
|
|
|
|
{booking.linkedReservations.map((reservation, idx) => (
|
|
<div className={styles.room} key={reservation.confirmationNumber}>
|
|
<Typography variant="Title/Subtitle/md">
|
|
<h2 className={styles.roomTitle}>
|
|
{intl.formatMessage(
|
|
{
|
|
id: "booking.roomIndex",
|
|
defaultMessage: "Room {roomIndex}",
|
|
},
|
|
{ roomIndex: idx + 2 }
|
|
)}
|
|
</h2>
|
|
</Typography>
|
|
<LinkedReservation
|
|
checkInTime={checkInTime}
|
|
checkOutTime={checkOutTime}
|
|
refId={reservation.refId}
|
|
roomIndex={idx + 1}
|
|
/>
|
|
</div>
|
|
))}
|
|
</section>
|
|
)
|
|
}
|