"use client"; import { ChangeEvent, FormEvent, useRef, useState } from "react"; import ClothesShell from "@/components/clothes/ClothesShell"; import ImageCropper from "@/components/ui/ImageCropper"; type AddressItem = { id: string; label: string; province: string; city: string; fullAddress: string; landline: string; }; const DEFAULT_AVATAR = "/images/ryanwar-hanif-98XENwtPMCc-unsplash.jpg"; const provinces = [ "تهران", "اصفهان", "فارس", "خراسان رضوی", "آذربایجان شرقی", "آذربایجان غربی", "گیلان", "مازندران", "خوزستان", "کرمان", "یزد", "قم", "البرز", "همدان", "کردستان", "کرمانشاه", "هرمزگان", "بوشهر", "سیستان و بلوچستان", "گلستان", "قزوین", "زنجان", "اردبیل", "لرستان", "مرکزی", "سمنان", "چهارمحال و بختیاری", "کهگیلویه و بویراحمد", "ایلام", "خراسان شمالی", "خراسان جنوبی", ]; function emptyAddress(): AddressItem { return { id: `addr-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`, label: "", province: "", city: "", fullAddress: "", landline: "", }; } export default function ProfilePage() { const fileRef = useRef(null); const [avatar, setAvatar] = useState(DEFAULT_AVATAR); const [nameFa, setNameFa] = useState("سارا محمدی"); const [nameEn, setNameEn] = useState("Sara Mohammadi"); const [phone] = useState("09121234567"); const [email, setEmail] = useState("sara@manacollection.com"); const [instagram, setInstagram] = useState("@manacollection"); const [about, setAbout] = useState( "علاقه‌مند به طراحی مینیمال و استایل‌های آرام روزمره.", ); const [addresses, setAddresses] = useState([ { id: "addr-1", label: "منزل", province: "تهران", city: "تهران", fullAddress: "خیابان ولیعصر، بالاتر از پارک وی، پلاک ۱۲", landline: "02122001122", }, ]); function handleAvatarChange(event: ChangeEvent) { const file = event.target.files?.[0]; if (!file) return; setAvatar(URL.createObjectURL(file)); } function updateAddress( id: string, field: keyof Omit, value: string, ) { setAddresses((prev) => prev.map((item) => item.id === id ? { ...item, [field]: value } : item, ), ); } function addAddress() { setAddresses((prev) => [...prev, emptyAddress()]); } function removeAddress(id: string) { setAddresses((prev) => prev.length <= 1 ? prev : prev.filter((item) => item.id !== id), ); } function handleSubmit(event: FormEvent) { event.preventDefault(); } return (
setNameFa(e.target.value)} placeholder="نام و نام خانوادگی" required />
setNameEn(e.target.value)} placeholder="Full name" required />
قابل تغییر نیست
setEmail(e.target.value)} placeholder="name@example.com" required />
setInstagram(e.target.value)} placeholder="@username" />