fix: allow any type of phone number

This commit is contained in:
Simon Emanuelsson
2025-05-22 17:21:13 +02:00
committed by Michael Zetterberg
parent 79e669020a
commit 9580281421
22 changed files with 400 additions and 459 deletions

View File

@@ -2,6 +2,7 @@
import { zodResolver } from "@hookform/resolvers/zod"
import { cx } from "class-variance-authority"
import { type CountryCode, parsePhoneNumberFromString } from "libphonenumber-js"
import { usePathname, useRouter, useSearchParams } from "next/navigation"
import { useCallback, useEffect, useState } from "react"
import { Label } from "react-aria-components"
@@ -389,6 +390,23 @@ export default function PaymentClient({
} else {
rateCode = booking.rooms[idx].rateCode
}
let phoneNumber = room.guest.phoneNumber
const phoneNumberCC =
room.guest.phoneNumberCC.toUpperCase() as CountryCode
let parsedPhonenumber
if (phoneNumberCC) {
parsedPhonenumber = parsePhoneNumberFromString(
phoneNumber,
phoneNumberCC
)
} else {
parsedPhonenumber = parsePhoneNumberFromString(phoneNumber)
}
if (parsedPhonenumber?.isValid()) {
phoneNumber = parsedPhonenumber.number
}
return {
adults: room.adults,
bookingCode: room.roomRate.bookingCode,
@@ -403,7 +421,7 @@ export default function PaymentClient({
firstName: room.guest.firstName,
lastName: room.guest.lastName,
membershipNumber: room.guest.membershipNo,
phoneNumber: room.guest.phoneNumber,
phoneNumber,
// Only allowed for room one
...(idx === 0 && {
dateOfBirth: