diff --git a/src/App.tsx b/src/App.tsx index b2b7076..73b994d 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -7,12 +7,18 @@ import { useColorScheme, } from '@mui/material'; import './App.css'; +<<<<<<< HEAD import { useTranslation } from 'react-i18next'; import { LanguageManager } from './components/LanguageManager'; +======= +import { UserProfileForm } from './features/profile/components/UserProfileForm'; + +>>>>>>> 3698cbf (feat: implement user profile form) function App() { const { t } = useTranslation(); return ( +<<<<<<< HEAD <> @@ -41,6 +47,11 @@ function App() { +======= +
+ +
+>>>>>>> 3698cbf (feat: implement user profile form) ); } diff --git a/src/features/profile/components/UserProfileForm.tsx b/src/features/profile/components/UserProfileForm.tsx new file mode 100644 index 0000000..9166dc6 --- /dev/null +++ b/src/features/profile/components/UserProfileForm.tsx @@ -0,0 +1,216 @@ +import { + Box, + Typography, + Button, + TextField, + Grid, + FormControl, + InputLabel, + Select, + MenuItem, + type SelectChangeEvent, +} from '@mui/material'; +import { useState, type ChangeEvent } from 'react'; + +export function UserProfileForm() { + const [isEditing, setIsEditing] = useState(false); + const [gender, setGender] = useState(''); + const [data, setData] = useState({ + firstName: 'محمد حسین', + lastName: 'برزه‌گر', + gender: 'مرد', + nationalCode: '', + }); + + const handleChange = (e: ChangeEvent) => { + setData((prev) => ({ + ...prev, + [e.target.name]: e.target.value, + })); + }; + + const toggleEdit = () => { + setIsEditing((prev) => !prev); + }; + const handleChangeGender = (e: SelectChangeEvent) => { + setGender(e.target.value); + }; + const displayValue = (value: string | null | undefined) => { + return value && value.trim() !== '' ? value : 'تعیین نشده'; + }; + + return ( +
+ + + + + اطلاعات شخصی من + + + این اطلاعات شما صرفا برای احراز هویت شما است و نزد هارمونی باقی + می‌ماند + + + + + + + + + نام + {isEditing ? ( + + ) : ( + + {displayValue(data.firstName)} + + )} + + + + جنسیت + {isEditing ? ( + + جنسیت + + + ) : ( + + {displayValue(data.gender)} + + )} + + + + + + + نام خانوادگی + + {isEditing ? ( + + ) : ( + + {displayValue(data.lastName)} + + )} + + + + کد ملی + {isEditing ? ( + + ) : ( + + {displayValue(data.nationalCode)} + + )} + + + + +
+ ); +}