81 lines
2.5 KiB
TypeScript
81 lines
2.5 KiB
TypeScript
"use client"
|
|
|
|
import { useIntl } from "react-intl"
|
|
|
|
import Link from "@/components/TempDesignSystem/Link"
|
|
import Body from "@/components/TempDesignSystem/Text/Body"
|
|
import Subtitle from "@/components/TempDesignSystem/Text/Subtitle"
|
|
import { Toast } from "@/components/TempDesignSystem/Toasts"
|
|
|
|
import styles from "./hotelDetails.module.css"
|
|
|
|
import type { BookingConfirmationHotelDetailsProps } from "@/types/components/hotelReservation/bookingConfirmation/hotelDetails"
|
|
|
|
export default function HotelDetails({
|
|
hotel,
|
|
}: BookingConfirmationHotelDetailsProps) {
|
|
const intl = useIntl()
|
|
return (
|
|
<div className={styles.container}>
|
|
<div className={styles.details}>
|
|
<Subtitle color="uiTextHighContrast" type="two">
|
|
{intl.formatMessage({ id: "Hotel details" })}
|
|
</Subtitle>
|
|
<div className={styles.hotel}>
|
|
<Body color="uiTextHighContrast">{hotel.name}</Body>
|
|
<Body color="uiTextHighContrast">
|
|
{intl.formatMessage(
|
|
{ id: "{streetAddress}, {zipCode} {city}" },
|
|
{
|
|
streetAddress: hotel.address.streetAddress,
|
|
zipCode: hotel.address.zipCode,
|
|
city: hotel.address.city,
|
|
}
|
|
)}
|
|
</Body>
|
|
<Body asChild color="uiTextHighContrast">
|
|
<Link
|
|
className={styles.link}
|
|
href={`tel:${hotel.contactInformation.phoneNumber}`}
|
|
>
|
|
{hotel.contactInformation.phoneNumber}
|
|
</Link>
|
|
</Body>
|
|
</div>
|
|
<Body color="uiTextPlaceholder" className={styles.coordinates}>
|
|
{intl.formatMessage(
|
|
{ id: "Long {long} ∙ Lat {lat}" },
|
|
{
|
|
lat: hotel.location.latitude,
|
|
long: hotel.location.longitude,
|
|
}
|
|
)}
|
|
</Body>
|
|
</div>
|
|
<div className={styles.contact}>
|
|
<Link
|
|
className={styles.link}
|
|
color="baseTextMediumContrast"
|
|
href={`mailto:${hotel.contactInformation.email}`}
|
|
>
|
|
{hotel.contactInformation.email}
|
|
</Link>
|
|
<Link
|
|
className={styles.link}
|
|
color="baseTextMediumContrast"
|
|
href={hotel.contactInformation.websiteUrl}
|
|
>
|
|
{hotel.contactInformation.websiteUrl}
|
|
</Link>
|
|
</div>
|
|
<div className={styles.toast}>
|
|
<Toast variant="info">
|
|
<ul className={styles.list}>
|
|
<li>{intl.formatMessage({ id: "N/A" })}</li>
|
|
</ul>
|
|
</Toast>
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|