Merge remote-tracking branch 'origin' into feature/tracking

This commit is contained in:
Linus Flood
2024-12-05 15:12:09 +01:00
114 changed files with 1388 additions and 653 deletions
@@ -0,0 +1,6 @@
export type ActivitiesSidePeekProps = {
contentPage: {
href: string
preamble: string
}
}
@@ -0,0 +1,7 @@
import type { Hotel } from "@/types/hotel"
export type MeetingsAndConferencesSidePeekProps = {
meetingFacilities: Hotel["conferencesAndMeetings"]
descriptions: Hotel["hotelContent"]["texts"]["meetingDescription"]
link?: string
}
@@ -8,6 +8,7 @@ export enum Periods {
export type ParkingAmenityProps = {
parking: Hotel["parking"]
hasParkingPage?: boolean
}
export type ParkingListProps = {
@@ -19,7 +20,7 @@ export type ParkingListProps = {
}
export type ParkingPricesProps = {
data: Hotel["parking"][number]["pricing"]["localCurrency"]["ordinary"]
pricing: Hotel["parking"][number]["pricing"]["localCurrency"]["ordinary"]
currency: Hotel["parking"][number]["pricing"]["localCurrency"]["currency"]
freeParking: Hotel["parking"][number]["pricing"]["freeParking"]
}
@@ -0,0 +1,9 @@
import type { EventAttributes } from "ics"
import type { RouterOutput } from "@/lib/trpc/client"
export interface AddToCalendarProps {
checkInDate: RouterOutput["booking"]["confirmation"]["booking"]["checkInDate"]
event: EventAttributes
hotelName: RouterOutput["booking"]["confirmation"]["hotel"]["name"]
}
@@ -0,0 +1,5 @@
import type { MutableRefObject } from "react"
export interface DownloadInvoiceProps {
mainRef: MutableRefObject<HTMLElement | null>
}
@@ -1,3 +1,5 @@
import type { RouterOutput } from "@/lib/trpc/client"
export interface BookingConfirmationProps {
confirmationNumber: string
bookingConfirmationPromise: Promise<RouterOutput["booking"]["confirmation"]>
}
@@ -0,0 +1,8 @@
import type { MutableRefObject } from "react"
import type { BookingConfirmation } from "@/types/trpc/routers/booking/confirmation"
export interface BookingConfirmationHeaderProps
extends Pick<BookingConfirmation, "booking" | "hotel"> {
mainRef: MutableRefObject<HTMLElement | null>
}
@@ -0,0 +1,5 @@
import type { BookingConfirmation } from "@/types/trpc/routers/booking/confirmation"
export interface BookingConfirmationHotelDetailsProps {
hotel: BookingConfirmation["hotel"]
}
@@ -0,0 +1,4 @@
import type { BookingConfirmation } from "@/types/trpc/routers/booking/confirmation"
export interface BookingConfirmationPaymentDetailsProps
extends Pick<BookingConfirmation, "booking"> {}
@@ -0,0 +1,3 @@
import type { BookingConfirmation } from "@/types/trpc/routers/booking/confirmation"
export interface BookingConfirmationReceiptProps extends BookingConfirmation {}
@@ -1,11 +0,0 @@
import { RouterOutput } from "@/lib/trpc/client"
export interface RoomProps {
booking: RouterOutput["booking"]["confirmation"]["booking"]
img: NonNullable<
RouterOutput["booking"]["confirmation"]["hotel"]["included"]
>[number]["images"][number]
roomName: NonNullable<
RouterOutput["booking"]["confirmation"]["hotel"]["included"]
>[number]["name"]
}
@@ -0,0 +1,4 @@
import type { BookingConfirmation } from "@/types/trpc/routers/booking/confirmation"
export interface BookingConfirmationRoomsProps
extends Pick<BookingConfirmation, "booking" | "room"> {}
@@ -0,0 +1,7 @@
import type { BookingConfirmation } from "@/types/trpc/routers/booking/confirmation"
export interface RoomProps {
booking: BookingConfirmation["booking"]
img: NonNullable<BookingConfirmation["room"]>["images"][number]
roomName: NonNullable<BookingConfirmation["room"]>["name"]
}
@@ -8,7 +8,8 @@ import {
} from "@/server/routers/hotels/output"
import { RoomPackage } from "./roomFilter"
import { Rate } from "./selectRate"
import type { RateCode } from "./selectRate"
type ProductPrice = z.output<typeof productTypePriceSchema>
export type RoomPriceSchema = z.output<typeof priceSchema>
@@ -19,14 +20,9 @@ export type FlexibilityOptionProps = {
value: string
paymentTerm: string
priceInformation?: Array<string>
roomType: RoomConfiguration["roomType"]
roomTypeCode: RoomConfiguration["roomTypeCode"]
features: RoomConfiguration["features"]
petRoomPackage: RoomPackage | undefined
handleSelectRate: (rateCode: {
publicRateCode: string
roomTypeCode: string
}) => void
handleSelectRate: React.Dispatch<React.SetStateAction<RateCode | undefined>>
}
export interface PriceListProps {
@@ -7,10 +7,10 @@ import {
} from "@/server/routers/hotels/output"
import { RoomPriceSchema } from "./flexibilityOption"
import { Rate } from "./selectRate"
import type { RoomData } from "@/types/hotel"
import type { RoomPackageCodes, RoomPackageData } from "./roomFilter"
import type { RateCode } from "./selectRate"
export type RoomCardProps = {
hotelId: string
@@ -19,10 +19,7 @@ export type RoomCardProps = {
roomCategories: RoomData[]
selectedPackages: RoomPackageCodes[]
packages: RoomPackageData | undefined
handleSelectRate: (rateCode: {
publicRateCode: string
roomTypeCode: string
}) => void
handleSelectRate: React.Dispatch<React.SetStateAction<RateCode | undefined>>
}
type RoomPackagePriceSchema = z.output<typeof packagePriceSchema>
@@ -2,7 +2,7 @@ import type { RoomData } from "@/types/hotel"
import type { SafeUser } from "@/types/user"
import type { RoomsAvailability } from "@/server/routers/hotels/output"
import type { RoomPackageCodes, RoomPackageData } from "./roomFilter"
import type { Rate } from "./selectRate"
import type { Rate, RateCode } from "./selectRate"
export interface RoomSelectionProps {
roomsAvailability: RoomsAvailability
@@ -10,10 +10,7 @@ export interface RoomSelectionProps {
user: SafeUser
availablePackages: RoomPackageData | undefined
selectedPackages: RoomPackageCodes[]
setRateCode: (rateCode: {
publicRateCode: string
roomTypeCode: string
}) => void
setRateCode: React.Dispatch<React.SetStateAction<RateCode | undefined>>
rateSummary: Rate | null
}
@@ -27,8 +27,16 @@ export interface SelectRateSearchParams {
export interface Rate {
roomType: RoomConfiguration["roomType"]
roomTypeCode: RoomConfiguration["roomTypeCode"]
priceName: string
priceName?: string
priceTerm?: string
public: Product["productType"]["public"]
member?: Product["productType"]["member"]
features: RoomConfiguration["features"]
}
export type RateCode = {
publicRateCode: string
roomTypeCode: string
name: string
paymentTerm: string
}
+1
View File
@@ -42,6 +42,7 @@ export enum IconName {
ElectricBike = "ElectricBike",
ElectricCar = "ElectricCar",
Email = "Email",
ExternalLink = "ExternalLink",
EyeHide = "EyeHide",
EyeShow = "EyeShow",
Facebook = "Facebook",