fix(SW-2414): Removed continue button on single room member bookings

Approved-by: Christian Andolf
Approved-by: Matilda Landström
This commit is contained in:
Erik Tiekstra
2025-04-23 08:33:15 +00:00
parent bcd7474da6
commit c23a32cd10
2 changed files with 41 additions and 35 deletions

View File

@@ -33,10 +33,13 @@ export default function Details({ user }: DetailsProps) {
const intl = useIntl()
const [isMemberPriceModalOpen, setIsMemberPriceModalOpen] = useState(false)
const { canProceedToPayment, lastRoom } = useEnterDetailsStore((state) => ({
canProceedToPayment: state.canProceedToPayment,
lastRoom: state.lastRoom,
}))
const { canProceedToPayment, lastRoom, isMultiRoom } = useEnterDetailsStore(
(state) => ({
canProceedToPayment: state.canProceedToPayment,
lastRoom: state.lastRoom,
isMultiRoom: state.rooms.length > 1,
})
)
const {
actions: { updateDetails },
idx,
@@ -47,6 +50,7 @@ export default function Details({ user }: DetailsProps) {
const memberRate = "member" in room.roomRate ? room.roomRate.member : null
const isPaymentNext = idx === lastRoom
const showContinueButton = isMultiRoom || !user
const methods = useForm<DetailsSchema>({
criteriaMode: "all",
@@ -151,36 +155,38 @@ export default function Details({ user }: DetailsProps) {
)}
<SpecialRequests />
</div>
<footer className={styles.footer}>
<Button
isDisabled={
!(
methods.formState.isValid ||
(isPaymentNext && canProceedToPayment)
)
}
variant="Tertiary"
typography="Body/Paragraph/mdBold"
size="Medium"
type="submit"
onPress={
isPaymentNext && canProceedToPayment && !room.isFlexRate
? trackPaymentSectionOpen
: undefined
}
>
{isPaymentNext
? intl.formatMessage({
defaultMessage: "Continue",
})
: intl.formatMessage(
{
defaultMessage: "Continue to room {nextRoomNumber}",
},
{ nextRoomNumber: roomNr + 1 }
)}
</Button>
</footer>
{showContinueButton ? (
<footer className={styles.footer}>
<Button
isDisabled={
!(
methods.formState.isValid ||
(isPaymentNext && canProceedToPayment)
)
}
variant="Tertiary"
typography="Body/Paragraph/mdBold"
size="Medium"
type="submit"
onPress={
isPaymentNext && canProceedToPayment && !room.isFlexRate
? trackPaymentSectionOpen
: undefined
}
>
{isPaymentNext
? intl.formatMessage({
defaultMessage: "Continue",
})
: intl.formatMessage(
{
defaultMessage: "Continue to room {nextRoomNumber}",
},
{ nextRoomNumber: roomNr + 1 }
)}
</Button>
</footer>
) : null}
<MemberPriceModal
isOpen={isMemberPriceModalOpen}
setIsOpen={setIsMemberPriceModalOpen}

View File

@@ -130,7 +130,7 @@ export function createDetailsStore(
},
[StepEnum.details]: {
step: StepEnum.details,
isValid: false,
isValid: isMember && idx === 0,
},
}