"use client" import { useWatch } from "react-hook-form" import { useIntl } from "react-intl" import { CurrencyEnum } from "@scandic-hotels/common/constants/currency" import { formatPrice } from "@scandic-hotels/common/utils/numberFormatting" import Checkbox from "@scandic-hotels/design-system/Form/Checkbox" import { TextLink } from "@scandic-hotels/design-system/TextLink" import { Typography } from "@scandic-hotels/design-system/Typography" import { trpc } from "@scandic-hotels/trpc/client" import { useBookingFlowConfig } from "../../../../../bookingFlowConfig/bookingFlowConfigContext" import { useRoomContext } from "../../../../../contexts/EnterDetails/RoomContext" import useLang from "../../../../../hooks/useLang" import { MembershipNumberInput } from "../Signup/MembershipNumberInput" import styles from "./partnerSASJoinScandicFriendsCard.module.css" type Props = { name?: string updateDetailsStore?: () => void } export function PartnerSASJoinScandicFriendsCard({ name = "join", updateDetailsStore, }: Props) { const lang = useLang() const intl = useIntl() const { routes } = useBookingFlowConfig() const { data: euroBonusProfile } = trpc.partner.sas.getEuroBonusProfile.useQuery() const { room, actions: { updateJoin }, } = useRoomContext() const joinValue = useWatch({ name: "join" }) function onChange(event: { target: { value: boolean } }) { updateJoin(event.target.value) } if (euroBonusProfile && euroBonusProfile.linkStatus !== "UNLINKED") { return null } if (!("member" in room.roomRate) || !room.roomRate.member) { return null } return (

{intl.formatMessage({ id: "enterDetails.joinScandicFriendsCard.title", defaultMessage: "Get the member room price", })} {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */} {`: `} {formatPrice( intl, room.roomRate.member.localPrice.pricePerStay ?? 0, room.roomRate.member.localPrice.currency ?? CurrencyEnum.Unknown )}

{intl.formatMessage({ id: "enterDetails.joinScandicFriendsCard.joinCheckboxLabel", defaultMessage: "Join Scandic Friends now", })}

{intl.formatMessage( { id: "enterDetails.joinScandicFriendsCard.terms", defaultMessage: "By joining you accept the Terms and Conditions. The Scandic Friends Membership is valid until further notice, but can at any time be terminated by contacting Scandic Customer Service.", }, { termsAndConditionsLink: (str) => ( {str} ), } )}

) }