import parsePhoneNumberFromString, { type CountryCode } from "libphonenumber-js" import { logger } from "../logger" import type { Lang } from "../constants/language" export function formatPhoneNumber( phoneNumber: string, phoneNumberCC?: string | null ): string { if (!phoneNumber) return "" const normalized = phoneNumber.trim().replaceAll(/-|\s/g, "") const parsedPhonenumber = phoneNumberCC?.length ? parsePhoneNumberFromString( normalized, phoneNumberCC.toUpperCase() as CountryCode ) : parsePhoneNumberFromString(normalized) if (!parsedPhonenumber?.isValid()) { logger.warn( `Invalid phone number: ${phoneNumber} with country code: ${phoneNumberCC}`, parsedPhonenumber ) } return parsedPhonenumber?.number || normalized } export function getDefaultCountryFromLang(lang: Lang): Lowercase { const countryMap: Record> = { sv: "se", da: "dk", fi: "fi", no: "no", de: "de", en: "se", // Default to Sweden for English } return countryMap[lang] || "se" }