import { Box, Typography, Button, TextField, FormControl, Select, MenuItem, Avatar, Autocomplete, type SelectChangeEvent, } from '@mui/material'; import { useState, type ChangeEvent } from 'react'; import { CardContainer } from '@/components/CardContainer'; import { CountryFlag, countryCodeMap } from '@/components/CountryFlag'; import { useTranslation } from 'react-i18next'; import { Camera } from 'iconsax-react'; export function PersonalInformation() { const { t } = useTranslation('profileSetting'); const [isEditing, setIsEditing] = useState(false); const [gender, setGender] = useState(''); const initialData = { firstName: 'محمد حسین', lastName: 'برزه‌گر', country: 'قطر', gender: 'مرد', nationalCode: '', }; const [data, setData] = useState(initialData); const [uploadedImageUrl, setUploadedImageUrl] = useState(null); const handleChange = (e: ChangeEvent) => { const { name, value } = e.target; setData((prev) => ({ ...prev, [name]: value, })); }; const toggleEdit = () => { setIsEditing((prev) => !prev); if (isEditing) { setData((prev) => ({ ...prev, gender: gender === 'male' ? 'مرد' : gender === 'female' ? 'زن' : '', })); } else { setGender( data.gender === 'مرد' ? 'male' : data.gender === 'زن' ? 'female' : '', ); } }; const handleChangeGender = (e: SelectChangeEvent) => { setGender(e.target.value); }; const displayValue = (value: string | null | undefined) => { return value && value.trim() !== '' ? value : 'تعیین نشده'; }; const handleImageChange = (e: React.ChangeEvent) => { const file = e.target.files?.[0]; if (file) { const reader = new FileReader(); reader.onload = () => { setUploadedImageUrl(reader.result as string); }; reader.readAsDataURL(file); } }; const initials = `${data.firstName?.trim()[0] || ''}‌${data.lastName?.trim()[0] || ''}`; return ( {isEditing && ( )} } > {isEditing && ( {initials} {t('settingForm.profilePicture')} {t('settingForm.allowedFormat')} )} {isEditing ? ( ) : ( {`${t('settingForm.name')} و ${t('settingForm.familyName')}`} {initials} {displayValue(data.firstName + ' ' + data.lastName)} )} {isEditing ? ( ) : ( {t('settingForm.country')} )} {isEditing ? ( ) : ( {t('settingForm.gender')} {displayValue(data.gender)} )} {isEditing ? ( ) : ( {t('settingForm.nationalCode')} {displayValue(data.nationalCode)} )} {isEditing && ( setData((prev) => ({ ...prev, country: newValue || '', })) } renderOption={(props, option) => ( )} renderInput={(params) => ( )} /> )} ); }