"use client"; import { Camera, X } from "lucide-react"; import { useState } from "react"; import { FileUpload, FileUploadItem, FileUploadItemDelete, FileUploadList, FileUploadTrigger, } from "@/components/diceui/file-upload"; import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from "@/components/ui/card"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Textarea } from "@/components/ui/textarea"; import { cn } from "@/lib/utils"; interface ProfileFormData { name: string; email: string; username: string; avatar?: string; bio?: string; } interface SettingsProfile1Props { defaultValues?: Partial; onSave?: (data: ProfileFormData) => void; className?: string; } const SettingsProfile1 = ({ defaultValues = { name: "الهام میرزایی", email: "alex.morgan@email.com", username: "elah.mirzaei", avatar: "/block-media/shadcnblocks/block/avatar/avatar8.jpg", bio: "مدیر موفقیت مشتری با تمرکز روی افزایش ماندگاری و گسترش حساب‌های سازمانی. در تیم‌های SaaS روی قیف آنبوردینگ و NPS کار می‌کنم.", }, className, }: SettingsProfile1Props) => { const [avatarFiles, setAvatarFiles] = useState([]); const initials = defaultValues.name ?.split(" ") .map((n) => n[0]) .join("") .toUpperCase(); // Get preview URL from uploaded file or use default avatar const avatarPreview = avatarFiles.length > 0 ? URL.createObjectURL(avatarFiles[0]) : defaultValues.avatar; return (
پروفایل کاربری نام، ایمیل و عکس پروفایل خود را در فضای کاری به‌روز نگه دارید. {/* Avatar Upload */}

عکس پروفایل

برای تغییر عکس، روی آواتار کلیک کنید

JPG، PNG یا WEBP — حداکثر ۲ مگابایت.

{avatarFiles.length > 0 && ( {avatarFiles.map((file, index) => (

{file.name}

{(file.size / 1024).toLocaleString("fa-IR", { maximumFractionDigits: 1, })}{" "} کیلوبایت

))}
)}