fix: login info inputs paddings, persian number support, country code selector not found message, codes ltr, auto submit after otp paste or enter, removing word "دقیقه" from otp timer

This commit is contained in:
2025-09-21 21:47:45 +03:30
parent a42da2d4c4
commit 718bc3aaa0
8 changed files with 42 additions and 5 deletions

View File

@@ -99,7 +99,7 @@ export const CompleteSignUp = ({
helperText={inputError ? error : ''}
autoFocus
slotProps={{
htmlInput: { dir: 'auto', sx: { lineHeight: 1.5, paddingX: 0 } },
htmlInput: { dir: 'auto', sx: { lineHeight: 1.5 } },
input: {
endAdornment: (
<CountryCodeSelector

View File

@@ -14,6 +14,7 @@ import { isPhoneNumber } from '@/utils/regexes/isValidPhoneNumber';
import { useToast } from '@rkheftan/harmony-ui';
import { useApi } from '@/hooks/useApi';
import type { GenerateTokenResponse } from '../../api/identityAPI';
import { replacePersianWithRealNumbers } from '@/utils/replacePersianWithRealNumbers';
export interface LoginRegisterFormProps {
loginRegisterValue: string;
@@ -54,6 +55,7 @@ export function LoginRegisterForm({
const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {
let newValue = event.target.value;
newValue = replacePersianWithRealNumbers(newValue);
if (newValue.startsWith('09')) {
newValue = newValue.substring(1);
}
@@ -152,7 +154,7 @@ export function LoginRegisterForm({
helperText={inputError ? error : ''}
autoFocus
slotProps={{
htmlInput: { dir: 'auto', sx: { lineHeight: 1.5, paddingX: 0 } },
htmlInput: { dir: 'auto', sx: { lineHeight: 1.5 } },
input: {
endAdornment: (
<CountryCodeSelector

View File

@@ -56,6 +56,12 @@ export function OtpVerifyForm({
const { loading: loginSignUpLoading, execute: loginSignUpCall } =
useApi(loginOrSignUpWithOtp);
useEffect(() => {
if (otpCode.length === 4) {
handleVerifyOTP();
}
}, [otpCode]);
useEffect(() => {
let interval: NodeJS.Timeout;
if (resendTimer > 0) {

View File

@@ -35,6 +35,12 @@ export function VerifyPhoneNumber({
const { loading: confirmSmsOtpLoading, execute: confirmSmsOtpCall } =
useApi(confirmSmsOtp);
useEffect(() => {
if (otpCode.length === 4) {
handleVerifyOTP();
}
}, [otpCode]);
useEffect(() => {
let interval: NodeJS.Timeout;
if (resendTimer > 0) {