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:
@@ -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}
|
||||
|
||||
@@ -130,7 +130,7 @@ export function createDetailsStore(
|
||||
},
|
||||
[StepEnum.details]: {
|
||||
step: StepEnum.details,
|
||||
isValid: false,
|
||||
isValid: isMember && idx === 0,
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user