feature/WNPT-176 #1

Merged
afra.khalaj merged 11 commits from feature/WNPT-176 into master 2026-06-24 07:41:29 -04:00
3 changed files with 9 additions and 7 deletions
Showing only changes of commit 92cf39f723 - Show all commits

View file

@ -1,6 +1,7 @@
import { useState } from "react"; import { useState } from "react";
import { useLocation, useNavigate } from "react-router-dom"; import { useLocation, useNavigate } from "react-router-dom";
import { requestOtp } from "../services/authApi"; import { requestOtp } from "../services/authApi";
import { toPersianDigits } from "../utils/formatNumber";
import { toE164 } from "../utils/phone"; import { toE164 } from "../utils/phone";
function CheckIcon() { function CheckIcon() {
@ -55,10 +56,11 @@ export default function Login() {
<input <input
type="text" type="text"
dir="ltr"
inputMode="numeric" inputMode="numeric"
value={phone} value={phone}
onChange={(e) => { onChange={(e) => {
setPhone(e.target.value); setPhone(toPersianDigits(e.target.value));
setError(""); setError("");
}} }}
placeholder="مثال: ۰۹۱۲۳۴۵۶۷۸۹" placeholder="مثال: ۰۹۱۲۳۴۵۶۷۸۹"

View file

@ -2,7 +2,7 @@ import { useEffect, useRef, useState } from 'react'
import { useLocation, useNavigate } from 'react-router-dom' import { useLocation, useNavigate } from 'react-router-dom'
import { requestOtp, verifyOtp } from '../services/authApi' import { requestOtp, verifyOtp } from '../services/authApi'
import { storeAuthTokens } from '../utils/authToken' import { storeAuthTokens } from '../utils/authToken'
import { toEnglishDigits } from '../utils/formatNumber' import { toEnglishDigits, toPersianDigits } from '../utils/formatNumber'
import { toE164 } from '../utils/phone' import { toE164 } from '../utils/phone'
import { getUserRole } from '../utils/role' import { getUserRole } from '../utils/role'
@ -22,11 +22,6 @@ function EditIcon({ className = '' }: { className?: string }) {
) )
} }
function toPersianDigits(value: string) {
const persianDigits = '۰۱۲۳۴۵۶۷۸۹'
return value.replace(/[0-9]/g, (digit) => persianDigits[Number(digit)])
}
function formatCountdown(seconds: number) { function formatCountdown(seconds: number) {
const mm = String(Math.floor(seconds / 60)).padStart(2, '0') const mm = String(Math.floor(seconds / 60)).padStart(2, '0')
const ss = String(seconds % 60).padStart(2, '0') const ss = String(seconds % 60).padStart(2, '0')

View file

@ -6,3 +6,8 @@ export function toEnglishDigits(value: string): string {
const persianDigits = '۰۱۲۳۴۵۶۷۸۹' const persianDigits = '۰۱۲۳۴۵۶۷۸۹'
return value.replace(/[۰-۹]/g, (digit) => String(persianDigits.indexOf(digit))) return value.replace(/[۰-۹]/g, (digit) => String(persianDigits.indexOf(digit)))
} }
export function toPersianDigits(value: string): string {
const persianDigits = '۰۱۲۳۴۵۶۷۸۹'
return value.replace(/[0-9]/g, (digit) => persianDigits[Number(digit)])
}