From 3c4ff0a792d6c580b90aad04f469bafc0e2a687a Mon Sep 17 00:00:00 2001 From: Linus Flood Date: Thu, 19 Jun 2025 12:24:33 +0000 Subject: [PATCH] Merged in fix/LOY-280-phone (pull request #2393) fix(LOY-280): phone number validation * fix(LOY-280): phone number validation * Return formatted phonenumber even though its not valid Approved-by: Christian Andolf --- .../components/Forms/Edit/Profile/index.tsx | 4 +++- apps/scandic-web/utils/phone.ts | 17 ++++++++++++----- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/apps/scandic-web/components/Forms/Edit/Profile/index.tsx b/apps/scandic-web/components/Forms/Edit/Profile/index.tsx index 2d5c6c421..14edc6cf3 100644 --- a/apps/scandic-web/components/Forms/Edit/Profile/index.tsx +++ b/apps/scandic-web/components/Forms/Edit/Profile/index.tsx @@ -60,7 +60,9 @@ export default function Form({ user }: EditFormProps) { email: user.email, language: user.language ?? langToApiLang[lang], phoneNumber: phoneNumber, - phoneNumberCC: phoneNumberCC || getDefaultCountryFromLang(lang), + phoneNumberCC: phoneNumber + ? phoneNumberCC + : getDefaultCountryFromLang(lang), password: "", newPassword: "", retypeNewPassword: "", diff --git a/apps/scandic-web/utils/phone.ts b/apps/scandic-web/utils/phone.ts index b7c19ea88..d275f1819 100644 --- a/apps/scandic-web/utils/phone.ts +++ b/apps/scandic-web/utils/phone.ts @@ -4,16 +4,23 @@ export function formatPhoneNumber( phoneNumber: string, phoneNumberCC?: string | null ): string { + if (!phoneNumber) return "" + + const normalized = phoneNumber.trim().replaceAll(/-|\s/g, "") + const parsedPhonenumber = phoneNumberCC?.length ? parsePhoneNumberFromString( - phoneNumber, + normalized, phoneNumberCC.toUpperCase() as CountryCode ) - : parsePhoneNumberFromString(phoneNumber) + : parsePhoneNumberFromString(normalized) - if (parsedPhonenumber?.isValid()) { - return parsedPhonenumber.number + if (!parsedPhonenumber?.isValid()) { + console.warn( + `Invalid phone number: ${phoneNumber} with country code: ${phoneNumberCC}`, + parsedPhonenumber + ) } - return phoneNumber + return parsedPhonenumber?.number || normalized }