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:
Bianca Widstam
2024-12-10 08:13:13 +00:00
parent 9b1d70b3be
commit 9e42cf0f37
6 changed files with 17 additions and 10 deletions

View File

@@ -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 =

View File

@@ -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}

View File

@@ -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}
/> />
) )
} }

View File

@@ -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>
) )

View File

@@ -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[]

View File

@@ -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
} }