all repos — caroster @ 14cde26f9368d4fdcdeb852035b9bc824b57c734

[Octree] Group carpool to your event https://caroster.io

🐛 Fix phone number formatting
Tim Izzo tim@octree.ch
Tue, 27 Aug 2024 09:50:56 +0200
commit

14cde26f9368d4fdcdeb852035b9bc824b57c734

parent

b543b412be399212ee03ca75483edab2b14706f1

M frontend/lib/pageUtils.tsfrontend/lib/pageUtils.ts

@@ -62,6 +62,7 @@ extensionProps = extensionReturn?.props || {};

if (extensionReturn?.notFound) { return { notFound: true, + props: {...translations}, }; } }
M frontend/lib/phoneNumbers.tsxfrontend/lib/phoneNumbers.tsx

@@ -1,33 +1,29 @@

import { - CountryIso2, - defaultCountries, - getActiveFormattingMask, - parseCountry, - } from 'react-international-phone'; + CountryIso2, + defaultCountries, + getActiveFormattingMask, + parseCountry, +} from 'react-international-phone'; export const getFormatedPhoneNumber = ({ - phone, - phoneCountry, - }: { - phone: string; - phoneCountry: CountryIso2; - }): string => { - if (!phoneCountry || phoneCountry === '') return phone; - const parsedCountry = parseCountry( - defaultCountries.find(country => country[1] === phoneCountry) - ); - const activeMask = getActiveFormattingMask({phone, country: parsedCountry}); - let splittedPhone = phone.split(parsedCountry.dialCode)[1].split(''); - - const maskWithValues = activeMask - .split('') - .map(char => { - if (char === '.') { - return splittedPhone.shift(); - } - return char; - }) - .join(''); - - return `+${parsedCountry.dialCode} ${maskWithValues}`; - };+ phone, + phoneCountry, +}: { + phone: string; + phoneCountry: CountryIso2; +}): string => { + if (!phoneCountry || phoneCountry === '') return phone; + const parsedCountry = parseCountry( + defaultCountries.find(country => country[1] === phoneCountry) + ); + const activeMask = getActiveFormattingMask({phone, country: parsedCountry}); + const regex = new RegExp(`\\+(${parsedCountry.dialCode})?0?`); + let splittedPhone = phone.replace(regex, '').split(''); + + const maskWithValues = activeMask + .split('') + .map(char => (char === '.' ? splittedPhone.shift() : char)) + .join(''); + + return `+${parsedCountry.dialCode} ${maskWithValues}`; +};
M frontend/pages/api/nauth/[...nextauth].jsfrontend/pages/api/nauth/[...nextauth].js

@@ -2,7 +2,7 @@ import NextAuth from 'next-auth';

import CredentialsProvider from 'next-auth/providers/credentials'; import GoogleProvider from 'next-auth/providers/google'; -const STRAPI_URL = 'http://localhost:1337'; +const {STRAPI_URL = 'http://localhost:1337'} = process.env; const authHandler = NextAuth({ providers: [