import {useContext, useState, ChangeEvent} from "react"; import Modal from "../../../../components/ui/Modal/Modal"; import Button from "../../../../components/ui/Button/Button"; import styles from "./SettingsModal.module.css"; import ThemeSwitcher from "../../../../components/ui/ThemeSwitcher/ThemeSwitcher"; import {AuthContext} from "../../../../contexts/Auth/AuthContext"; import TextInput from "../../../../components/ui/Input/Input"; import updateUser from "../../../../utils/users/updateUser.js"; import deleteUser from "../../../../utils/users/deleteUser.js"; interface TaskType { id: number; title?: string; completed?: boolean; [key: string]: unknown; } interface User { id: number; name: string; lastname: string; role: string; email: string; phone: string | null; created_at: string; isAdmin: boolean; tasks: TaskType[]; } interface AuthContextType { user: User; update: () => void; logout: () => void; } export default function SettingsModal() { const {user, logout, update} = useContext(AuthContext) as AuthContextType; const [open, setOpen] = useState(false); const [isDelete, setIsDelete] = useState(false); const [name, setName] = useState(user?.name ?? ""); const [lastname, setLastName] = useState(user?.lastname ?? ""); const [phone, setPhone] = useState(user?.phone ?? ""); const handleLogout = (): void => { logout(); }; const handleSubmit = async (): Promise => { await updateUser(name, lastname, phone || null); update(); setOpen(false); }; const handleDelete = async (): Promise => { await deleteUser(); update(); }; const handleNameChange = (e: ChangeEvent): void => { setName(e.target.value); }; const handleLastnameChange = (e: ChangeEvent): void => { setLastName(e.target.value); }; const handlePhoneChange = (e: ChangeEvent): void => { setPhone(e.target.value); }; return ( <> setOpen(false)} >

Compte

Changer de Prénom

Changer de nom

Changer de numéro de téléphone

Apparence

setIsDelete(false)} >

Êtes vous vraiment sûr de vouloir supprimer votre compte ?

); }