Merged in fix/SW-1153-correct-breakfast-message (pull request #1060)
fix(SW-1153): fix breakfast message for ScandicGo hotels Approved-by: Pontus Dreij
This commit is contained in:
@@ -20,9 +20,11 @@ import styles from "./roomCard.module.css"
|
|||||||
|
|
||||||
import type { RoomCardProps } from "@/types/components/hotelReservation/selectRate/roomCard"
|
import type { RoomCardProps } from "@/types/components/hotelReservation/selectRate/roomCard"
|
||||||
import { RoomPackageCodeEnum } from "@/types/components/hotelReservation/selectRate/roomFilter"
|
import { RoomPackageCodeEnum } from "@/types/components/hotelReservation/selectRate/roomFilter"
|
||||||
|
import { HotelTypeEnum } from "@/types/enums/hotelType"
|
||||||
|
|
||||||
export default function RoomCard({
|
export default function RoomCard({
|
||||||
hotelId,
|
hotelId,
|
||||||
|
hotelType,
|
||||||
rateDefinitions,
|
rateDefinitions,
|
||||||
roomConfiguration,
|
roomConfiguration,
|
||||||
roomCategories,
|
roomCategories,
|
||||||
@@ -59,17 +61,14 @@ export default function RoomCard({
|
|||||||
}
|
}
|
||||||
|
|
||||||
const getBreakfastMessage = (rate: RateDefinition | undefined) => {
|
const getBreakfastMessage = (rate: RateDefinition | undefined) => {
|
||||||
const breakfastIncluded = getRateDefinitionForRate(rate)?.breakfastIncluded
|
if (hotelType === HotelTypeEnum.ScandicGo) {
|
||||||
switch (breakfastIncluded) {
|
return intl.formatMessage({
|
||||||
case true:
|
id: "Breakfast deal can be purchased at the hotel.",
|
||||||
return intl.formatMessage({ id: "Breakfast is included." })
|
})
|
||||||
case false:
|
|
||||||
return intl.formatMessage({ id: "Breakfast selection in next step." })
|
|
||||||
default:
|
|
||||||
return intl.formatMessage({
|
|
||||||
id: "Breakfast deal can be purchased at the hotel.",
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
return getRateDefinitionForRate(rate)?.breakfastIncluded
|
||||||
|
? intl.formatMessage({ id: "Breakfast is included." })
|
||||||
|
: intl.formatMessage({ id: "Breakfast selection in next step." })
|
||||||
}
|
}
|
||||||
|
|
||||||
const petRoomPackage =
|
const petRoomPackage =
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ export default function RoomSelection({
|
|||||||
selectedPackages,
|
selectedPackages,
|
||||||
setRateCode,
|
setRateCode,
|
||||||
rateSummary,
|
rateSummary,
|
||||||
|
hotelType,
|
||||||
}: RoomSelectionProps) {
|
}: RoomSelectionProps) {
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const searchParams = useSearchParams()
|
const searchParams = useSearchParams()
|
||||||
@@ -67,6 +68,7 @@ export default function RoomSelection({
|
|||||||
<li key={roomConfiguration.roomTypeCode}>
|
<li key={roomConfiguration.roomTypeCode}>
|
||||||
<RoomCard
|
<RoomCard
|
||||||
hotelId={roomsAvailability.hotelId.toString()}
|
hotelId={roomsAvailability.hotelId.toString()}
|
||||||
|
hotelType={hotelType}
|
||||||
rateDefinitions={rateDefinitions}
|
rateDefinitions={rateDefinitions}
|
||||||
roomConfiguration={roomConfiguration}
|
roomConfiguration={roomConfiguration}
|
||||||
roomCategories={roomCategories}
|
roomCategories={roomCategories}
|
||||||
|
|||||||
@@ -96,6 +96,7 @@ export async function RoomsContainer({
|
|||||||
availablePackages={packages ?? []}
|
availablePackages={packages ?? []}
|
||||||
roomsAvailability={roomsAvailability}
|
roomsAvailability={roomsAvailability}
|
||||||
roomCategories={hotelData?.included ?? []}
|
roomCategories={hotelData?.included ?? []}
|
||||||
|
hotelType={hotelData?.data.attributes?.hotelType}
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ export default function Rooms({
|
|||||||
roomCategories = [],
|
roomCategories = [],
|
||||||
user,
|
user,
|
||||||
availablePackages,
|
availablePackages,
|
||||||
|
hotelType,
|
||||||
}: SelectRateProps) {
|
}: SelectRateProps) {
|
||||||
const visibleRooms: RoomConfiguration[] =
|
const visibleRooms: RoomConfiguration[] =
|
||||||
filterDuplicateRoomTypesByLowestPrice(roomsAvailability.roomConfigurations)
|
filterDuplicateRoomTypesByLowestPrice(roomsAvailability.roomConfigurations)
|
||||||
@@ -165,6 +166,7 @@ export default function Rooms({
|
|||||||
selectedPackages={selectedPackages}
|
selectedPackages={selectedPackages}
|
||||||
setRateCode={setSelectedRate}
|
setRateCode={setSelectedRate}
|
||||||
rateSummary={rateSummary}
|
rateSummary={rateSummary}
|
||||||
|
hotelType={hotelType}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import type { RateCode } from "./selectRate"
|
|||||||
|
|
||||||
export type RoomCardProps = {
|
export type RoomCardProps = {
|
||||||
hotelId: string
|
hotelId: string
|
||||||
|
hotelType: string | undefined
|
||||||
roomConfiguration: RoomConfiguration
|
roomConfiguration: RoomConfiguration
|
||||||
rateDefinitions: RateDefinition[]
|
rateDefinitions: RateDefinition[]
|
||||||
roomCategories: RoomData[]
|
roomCategories: RoomData[]
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ export interface RoomSelectionProps {
|
|||||||
selectedPackages: RoomPackageCodes[]
|
selectedPackages: RoomPackageCodes[]
|
||||||
setRateCode: React.Dispatch<React.SetStateAction<RateCode | undefined>>
|
setRateCode: React.Dispatch<React.SetStateAction<RateCode | undefined>>
|
||||||
rateSummary: Rate | null
|
rateSummary: Rate | null
|
||||||
|
hotelType: string | undefined
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SelectRateProps {
|
export interface SelectRateProps {
|
||||||
@@ -19,4 +20,5 @@ export interface SelectRateProps {
|
|||||||
roomCategories: RoomData[]
|
roomCategories: RoomData[]
|
||||||
user: SafeUser
|
user: SafeUser
|
||||||
availablePackages: RoomPackageData
|
availablePackages: RoomPackageData
|
||||||
|
hotelType: string | undefined
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user