224a41ec74
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
48 lines
1.7 KiB
TypeScript
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>
|
|
)
|
|
}
|