"use client"; import { zodResolver } from "@hookform/resolvers/zod"; import { LoaderIcon } from "lucide-react"; import { useState } from "react"; import { Controller, useForm } from "react-hook-form"; import { z } from "zod"; import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; import { Button } from "@/components/ui/button"; import { Card, CardContent } from "@/components/ui/card"; import { Field, FieldError, FieldGroup, FieldLabel, } from "@/components/ui/field"; import { Input } from "@/components/ui/input"; import { cn } from "@/lib/utils"; const contactFormSchema = z.object({ name: z.string().min(1, "نام الزامی است"), phone: z.string().min(1, "شماره همراه الزامی است"), }); type ContactFormData = z.infer; interface Contact14Props { className?: string; onSubmit?: (data: ContactFormData) => Promise; } const Contact14 = ({ className, onSubmit }: Contact14Props) => { const [isSubmitted, setIsSubmitted] = useState(false); const [showSuccess, setShowSuccess] = useState(false); const form = useForm({ resolver: zodResolver(contactFormSchema), mode: "onSubmit", reValidateMode: "onSubmit", defaultValues: { name: "", phone: "", }, }); const handleFormSubmit = async (data: ContactFormData) => { try { if (onSubmit) { await onSubmit(data); } else { console.log("Form submitted:", data); await new Promise((resolve) => setTimeout(resolve, 1000)); } setIsSubmitted(true); setShowSuccess(true); form.reset(); setTimeout(() => setShowSuccess(false), 4500); setTimeout(() => setIsSubmitted(false), 5000); } catch { form.setError("root", { message: "ارسال ناموفق بود. لطفاً دوباره تلاش کنید.", }); } }; return (

تیم فروش و موفقیت مشتری

نوافروش

درخواست مشاوره سامانه مدیریت ارتباط با مشتری

  • ایمیل: example@نوافروش
  • تلفن: ۲۱-۱۲۳۴۵۶۷۸
  • آدرس: تهران، خیابان ولیعصر
  • ساعات پاسخ‌گویی: شنبه تا چهارشنبه، ۹ تا ۱۷
{isSubmitted && (

درخواست شما ثبت شد. کارشناس فروش ظرف یک روز کاری با شما تماس می‌گیرد.

)}
( نام و نام خانوادگی {fieldState.invalid && ( )} )} /> ( شماره تلفن {fieldState.invalid && ( )} )} /> {form.formState.errors.root && (

{form.formState.errors.root.message}

)}
); }; export { Contact14 };