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

View File

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