"use client"; import { useEffect, useState } from "react"; import { Mail, Phone, MapPin, Send, CheckCircle2 } from "lucide-react"; import api from "../lib/services/api"; interface ContactInfoItem { key: string; title: string; value: string; icon?: string; } export default function ContactFormClient() { const [infoItems, setInfoItems] = useState([]); const [name, setName] = useState(""); const [phone, setPhone] = useState(""); const [subject, setSubject] = useState(""); const [message, setMessage] = useState(""); const [loading, setLoading] = useState(false); const [success, setSuccess] = useState(false); const [error, setError] = useState(""); useEffect(() => { async function fetchContactInfo() { try { const res = await api.get("/contact/info"); setInfoItems(res.data || []); } catch (err) { console.error("Failed to fetch contact info", err); } } fetchContactInfo(); }, []); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); const cleanPhone = phone.trim(); if (!name.trim() || !cleanPhone || !message.trim()) { setError("لطفاً نام، شماره موبایل و متن پیام را وارد کنید."); return; } if (!/^09\d{9}$/.test(cleanPhone)) { setError("شماره همراه وارد شده معتبر نیست. (مثال: ۰۹۱۲۳۴۵۶۷۸۹)"); return; } setError(""); setLoading(true); try { await api.post("/contact", { name, phone, subject, message, }); setSuccess(true); setName(""); setPhone(""); setSubject(""); setMessage(""); } catch (err: unknown) { const errorObj = err as { response?: { data?: { message?: string } } }; setError( errorObj.response?.data?.message || "خطایی در ثبت پیام رخ داده است. لطفاً مجدداً تلاش کنید." ); } finally { setLoading(false); } }; const getIcon = (iconName?: string) => { switch (iconName) { case "mail": return ; case "map-pin": return ; case "phone": default: return ; } }; return (
{/* Contact Details */}

اطلاعات نمایندگی

{infoItems.length > 0 ? ( infoItems.map((item) => (
{getIcon(item.icon)}

{item.title}

{item.value}
)) ) : ( <>

تلفن‌های تماس

۰۲۱-۸۸۸۸ ۴۴۴۴

شنبه تا چهارشنبه ۹:۰۰ الی ۱۸:۰۰

پست الکترونیک

info@canina-iran.com

پاسخگویی در کمتر از ۲۴ ساعت کاری

نشانی دفتر مرکزی

تهران، جردن، خیابان سعیدی، ساختمان کانینا، طبقه ۵، واحد ۱۹

)}
{/* Contact Form */}

ارسال پیام مستقیم

{success ? (

پیام شما با موفقیت ثبت شد

پیامک تایید به شماره شما ارسال شد. کارشناسان کانینا به زودی با شما تماس خواهند گرفت.

) : (
{error && (
{error}
)}
setName(e.target.value)} className="w-full bg-medical-gray-50 border border-medical-gray-200 rounded-2xl p-4 text-sm font-bold focus:outline-none focus:ring-2 focus:ring-canina-blue/20" placeholder="مثال: علی محمدی" required />
setPhone(e.target.value)} className="w-full bg-medical-gray-50 border border-medical-gray-200 rounded-2xl p-4 text-sm font-bold text-left focus:outline-none focus:ring-2 focus:ring-canina-blue/20" dir="ltr" placeholder="09123456789" required />
setSubject(e.target.value)} className="w-full bg-medical-gray-50 border border-medical-gray-200 rounded-2xl p-4 text-sm font-bold focus:outline-none focus:ring-2 focus:ring-canina-blue/20" placeholder="مثال: مشاوره تخصصی مکمل یا خرید عمده" />
)}
); }