fix/SW-2247 enter details fixes
* fix(SW-2247): Removed accordion like special requests block and changed button variant * fix(SW-2247): Added additional info for bedtype selection Approved-by: Tobias Johansson Approved-by: Niclas Edenvin
This commit is contained in:
@@ -12,6 +12,9 @@ import SelectedRoom from "@/components/HotelReservation/EnterDetails/SelectedRoo
|
||||
import Title from "@/components/TempDesignSystem/Text/Title"
|
||||
import { useRoomContext } from "@/contexts/Details/Room"
|
||||
|
||||
import { getBedTypeInfoText } from "./utils"
|
||||
|
||||
import { ChildBedMapEnum } from "@/types/components/bookingWidget/enums"
|
||||
import { StepEnum } from "@/types/enums/step"
|
||||
|
||||
export default function Multiroom() {
|
||||
@@ -41,6 +44,16 @@ export default function Multiroom() {
|
||||
isBreakfastStepValid
|
||||
)
|
||||
|
||||
const hasChildWithExtraBed = room.childrenInRoom?.some(
|
||||
(child) => Number(child.bed) === ChildBedMapEnum.IN_EXTRA_BED
|
||||
)
|
||||
|
||||
const bedTypeInfoText = getBedTypeInfoText(
|
||||
intl,
|
||||
!!hasChildWithExtraBed,
|
||||
room.bedTypes.length > 1
|
||||
)
|
||||
|
||||
return (
|
||||
<section>
|
||||
<Header>
|
||||
@@ -60,12 +73,9 @@ export default function Multiroom() {
|
||||
|
||||
{room.bedTypes ? (
|
||||
<Section
|
||||
header={intl.formatMessage({
|
||||
defaultMessage: "Select bed",
|
||||
})}
|
||||
label={intl.formatMessage({
|
||||
defaultMessage: "Request bedtype",
|
||||
})}
|
||||
header={intl.formatMessage({ defaultMessage: "Select bed" })}
|
||||
label={intl.formatMessage({ defaultMessage: "Request bedtype" })}
|
||||
additionalInfo={bedTypeInfoText}
|
||||
step={StepEnum.selectBed}
|
||||
disabled={!arePreviousRoomsValid}
|
||||
>
|
||||
|
||||
@@ -12,6 +12,9 @@ import SelectedRoom from "@/components/HotelReservation/EnterDetails/SelectedRoo
|
||||
import Title from "@/components/TempDesignSystem/Text/Title"
|
||||
import { useRoomContext } from "@/contexts/Details/Room"
|
||||
|
||||
import { getBedTypeInfoText } from "./utils"
|
||||
|
||||
import { ChildBedMapEnum } from "@/types/components/bookingWidget/enums"
|
||||
import { StepEnum } from "@/types/enums/step"
|
||||
import type { SafeUser } from "@/types/user"
|
||||
|
||||
@@ -22,9 +25,23 @@ export default function RoomOne({ user }: { user: SafeUser }) {
|
||||
breakfastPackages: state.breakfastPackages,
|
||||
isMultiroom: state.rooms.length > 1,
|
||||
}))
|
||||
const {
|
||||
room: { bedTypes },
|
||||
} = useRoomContext()
|
||||
|
||||
const hasChildWithExtraBed = room.childrenInRoom?.some(
|
||||
(child) => Number(child.bed) === ChildBedMapEnum.IN_EXTRA_BED
|
||||
)
|
||||
|
||||
const bedTypeInfoText = getBedTypeInfoText(
|
||||
intl,
|
||||
!!hasChildWithExtraBed,
|
||||
bedTypes.length > 1
|
||||
)
|
||||
|
||||
const showBreakfastStep =
|
||||
!room.breakfastIncluded && !!breakfastPackages?.length
|
||||
|
||||
return (
|
||||
<section>
|
||||
{isMultiroom ? (
|
||||
@@ -46,12 +63,9 @@ export default function RoomOne({ user }: { user: SafeUser }) {
|
||||
|
||||
{room.bedTypes ? (
|
||||
<Section
|
||||
header={intl.formatMessage({
|
||||
defaultMessage: "Select bed",
|
||||
})}
|
||||
label={intl.formatMessage({
|
||||
defaultMessage: "Request bedtype",
|
||||
})}
|
||||
header={intl.formatMessage({ defaultMessage: "Select bed" })}
|
||||
label={intl.formatMessage({ defaultMessage: "Request bedtype" })}
|
||||
additionalInfo={bedTypeInfoText}
|
||||
step={StepEnum.selectBed}
|
||||
>
|
||||
<BedType />
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
import type { IntlShape } from "react-intl"
|
||||
|
||||
export function getBedTypeInfoText(
|
||||
intl: IntlShape,
|
||||
hasChildWithExtraBed: boolean,
|
||||
hasMultipleBedTypes: boolean
|
||||
) {
|
||||
const availabilityText = intl.formatMessage({
|
||||
defaultMessage: "Subject to availability",
|
||||
})
|
||||
|
||||
const extraBedText = intl.formatMessage({
|
||||
defaultMessage: "Extra bed will be provided additionally",
|
||||
})
|
||||
|
||||
if (hasMultipleBedTypes && hasChildWithExtraBed) {
|
||||
return `${availabilityText}. ${extraBedText}`
|
||||
} else if (hasMultipleBedTypes) {
|
||||
return availabilityText
|
||||
} else if (hasChildWithExtraBed) {
|
||||
return extraBedText
|
||||
}
|
||||
|
||||
return null
|
||||
}
|
||||
Reference in New Issue
Block a user