diff options
Diffstat (limited to 'packages/anastasis-webui/src/pages/home/authMethod/AuthMethodSmsSetup.tsx')
-rw-r--r-- | packages/anastasis-webui/src/pages/home/authMethod/AuthMethodSmsSetup.tsx | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/packages/anastasis-webui/src/pages/home/authMethod/AuthMethodSmsSetup.tsx b/packages/anastasis-webui/src/pages/home/authMethod/AuthMethodSmsSetup.tsx index e70b2a53b..fd9e889cf 100644 --- a/packages/anastasis-webui/src/pages/home/authMethod/AuthMethodSmsSetup.tsx +++ b/packages/anastasis-webui/src/pages/home/authMethod/AuthMethodSmsSetup.tsx @@ -5,12 +5,18 @@ import { AuthMethodSetupProps } from "."; import { PhoneNumberInput } from "../../../components/fields/NumberInput"; import { AnastasisClientFrame } from "../index"; +const REGEX_JUST_NUMBERS = /^\+[0-9 ]*$/; + +function isJustNumbers(str: string): boolean { + return REGEX_JUST_NUMBERS.test(str); +} + export function AuthMethodSmsSetup({ addAuthMethod, cancel, configured, }: AuthMethodSetupProps): VNode { - const [mobileNumber, setMobileNumber] = useState(""); + const [mobileNumber, setMobileNumber] = useState("+"); const addSmsAuth = (): void => { addAuthMethod({ authentication_method: { @@ -24,7 +30,13 @@ export function AuthMethodSmsSetup({ useLayoutEffect(() => { inputRef.current?.focus(); }, []); - const errors = !mobileNumber ? "Add a mobile number" : undefined; + const errors = !mobileNumber + ? "Add a mobile number" + : !mobileNumber.startsWith("+") + ? "Mobile number should start with '+'" + : !isJustNumbers(mobileNumber) + ? "Mobile number can't have other than numbers" + : undefined; function goNextIfNoErrors(): void { if (!errors) addSmsAuth(); } @@ -41,9 +53,13 @@ export function AuthMethodSmsSetup({ label="Mobile number" placeholder="Your mobile number" onConfirm={goNextIfNoErrors} + error={errors} grabFocus bind={[mobileNumber, setMobileNumber]} /> + <div> + Enter mobile number including +CC international dialing prefix. + </div> </div> {configured.length > 0 && ( <section class="section"> |