Merged in feat/sw-3514-join-card-membership-id (pull request #2967)

feat(SW-3514): Add variant of join friends card with membership id input

* Move membershipId input in enter details to join card

Add booking flow feature flag to move membershipId into join card and hide login button.
Currently only applies to first room.

* Add sas join card to multiroom


Approved-by: Hrishikesh Vaipurkar
This commit is contained in:
Anton Gunnarsson
2025-10-16 08:24:20 +00:00
parent b5817c5dcd
commit 611d81222c
11 changed files with 360 additions and 106 deletions

View File

@@ -149,6 +149,9 @@ export default function Details({ user }: DetailsProps) {
setValue("phoneNumberCC", countryCode.toLowerCase())
}
}, [countryCode, setValue])
const showJoinCard = memberRate && !user
return (
<FormProvider {...methods}>
<form
@@ -156,15 +159,9 @@ export default function Details({ user }: DetailsProps) {
id={`${formID}-room-${roomNr}`}
onSubmit={methods.handleSubmit(onSubmit)}
>
{config.variant === "scandic" && (
<>{user || !memberRate ? null : <JoinScandicFriendsCard />}</>
)}
{config.variant === "partner-sas" && (
<>
{user || !memberRate ? null : <PartnerSASJoinScandicFriendsCard />}
</>
)}
{showJoinCard ? (
<JoinScandicCard updateDetailsStore={updateDetailsStore} />
) : null}
<div className={styles.container}>
<Footnote
color="uiTextHighContrast"
@@ -257,3 +254,26 @@ export default function Details({ user }: DetailsProps) {
</FormProvider>
)
}
function JoinScandicCard({
updateDetailsStore,
}: {
updateDetailsStore: () => void
}) {
const config = useBookingFlowConfig()
switch (config.enterDetailsMembershipIdInputLocation) {
case "form":
return <JoinScandicFriendsCard />
case "join-card":
return (
<PartnerSASJoinScandicFriendsCard
updateDetailsStore={updateDetailsStore}
/>
)
default:
const _exhaustiveCheck: never =
config.enterDetailsMembershipIdInputLocation
return null
}
}