Files
web/components/HotelReservation/MyStay/MyStay/index.tsx
T
Bianca Widstam 224a41ec74 feat/SW-1546-list-ancillaries-my-stay (pull request #1259)
Feat/SW-1546 list ancillaries my stay

* feat(SW-1546): foundation for listing ancillaries

* feat(SW-1546): foundation for listing ancillaries

* feat(SW-1546): refactor type

* feat(SW-1546): fix date format

* feat(SW-1546): refactor usestate

* feat(SW-1546): refactor typing

* feat(SW-1546): refactor types

* feat(SW-1546): responsive width on modal

* feat(SW-1546): update design

* feat(SW-1546): rebase master

* feat(SW-1546): show points only if logged in

* feat(SW-1546): always show points

* feat(SW-1546): small fix

* feat(SW-1546): remove spread object

* feat(SW-1546): fix import order


Approved-by: Simon.Emanuelsson
2025-02-14 10:37:17 +00:00

48 lines
1.7 KiB
TypeScript

import { dt } from "@/lib/dt"
import {
getAncillaryPackages,
getBookingConfirmation,
} from "@/lib/trpc/memoizedRequests"
import Divider from "@/components/TempDesignSystem/Divider"
import HotelDetails from "../../BookingConfirmation/HotelDetails"
import PaymentDetails from "../../BookingConfirmation/PaymentDetails"
import Promos from "../../BookingConfirmation/Promos"
import Rooms from "../../BookingConfirmation/Rooms"
import { Ancillaries } from "./Ancillaries"
import { BookingActions } from "./BookingActions"
import { Header } from "./Header"
import styles from "./myStay.module.css"
export async function MyStay({ reservationId }: { reservationId: string }) {
const { booking, hotel, room } = await getBookingConfirmation(reservationId)
const fromDate = dt(booking.checkInDate).format("YYYY-MM-DD")
const toDate = dt(booking.checkOutDate).format("YYYY-MM-DD")
const hotelId = hotel.operaId
const ancillaryInput = { fromDate, hotelId, toDate }
void getAncillaryPackages(ancillaryInput)
const ancillaryPackages = await getAncillaryPackages(ancillaryInput)
return (
<main className={styles.main}>
<Header booking={booking} hotel={hotel} />
<BookingActions />
{room && <Rooms booking={booking} mainRoom={room} />}
{booking.showAncillaries && (
<Ancillaries ancillaries={ancillaryPackages} />
)}
<Divider color="primaryLightSubtle" />
<PaymentDetails booking={booking} />
<Divider color="primaryLightSubtle" />
<HotelDetails hotel={hotel} />
<Promos
hotelId={hotel.operaId}
lastName={booking.guest.lastName}
confirmationNumber={booking.confirmationNumber}
/>
</main>
)
}