feat: implement MobileInput component for standardized mobile number input and update related forms to use it
This commit is contained in:
@@ -8,9 +8,11 @@ import { ArrowRightIcon, BuildingOffice2Icon } from '@heroicons/react/24/outline
|
||||
import { toast } from 'sonner';
|
||||
import { api } from '../lib/api';
|
||||
import type { ApiResponse } from '../lib/api';
|
||||
import MobileInput from '../components/ui/MobileInput';
|
||||
import { iranMobileSchema } from '../lib/utils';
|
||||
|
||||
const schema = z.object({
|
||||
owner_mobile: z.string().min(10, 'شماره موبایل معتبر نیست').max(15),
|
||||
owner_mobile: iranMobileSchema,
|
||||
name: z.string().min(2, 'نام کلینیک حداقل ۲ کاراکتر'),
|
||||
telephone: z.string().max(20).optional().or(z.literal('')),
|
||||
address: z.string().max(500).optional().or(z.literal('')),
|
||||
@@ -49,7 +51,7 @@ export default function ClinicFormPage() {
|
||||
<form onSubmit={handleSubmit((v) => mutation.mutate(v))} style={{ display: 'flex', flexDirection: 'column', gap: 20 }}>
|
||||
<div style={{ display: 'flex', flexDirection: 'column', gap: 6 }}>
|
||||
<label style={{ fontSize: 13, fontWeight: 600 }}>شماره موبایل صاحب کلینیک <span style={{ color: 'var(--red)' }}>*</span></label>
|
||||
<input className="field" placeholder="09xxxxxxxxx" dir="ltr" {...register('owner_mobile')} />
|
||||
<MobileInput className="field" hasError={!!errors.owner_mobile} {...register('owner_mobile')} />
|
||||
{errors.owner_mobile && <span style={{ color: 'var(--red)', fontSize: 12 }}>{errors.owner_mobile.message}</span>}
|
||||
<span style={{ fontSize: 11, color: 'var(--text-3)' }}>اگر این موبایل در سیستم نباشد، کاربر جدید ساخته میشود</span>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user