import React, { useEffect, useState } from 'react'; import ProfilePDP from '../Components/ProfilePDP'; import SessionService from '../services/SessionService'; import AuthService from '../services/AuthService'; import { PlayerProps } from '../types/Player'; import { delay, update } from 'lodash'; import { socket } from '../SocketConfig'; /* Style */ import './Profile.css' import Edit from "../res/icon/edit-pen.png" import Coche from '../res/icon/coche.png' import Cancel from '../res/icon/cancel.png' /* Nav */ import { useNavigate } from 'react-router-dom'; /* Model */ import User from '../model/User'; /* Context */ import { useAuth } from '../Contexts/AuthContext'; /* Boostrap */ import Button from 'react-bootstrap/Button'; import Alert from 'react-bootstrap/Alert'; import Modal from 'react-bootstrap/Modal'; import Form from 'react-bootstrap/Form'; //@ts-ignore const Profile = () => { const navigate = useNavigate(); //let player; const {user, logout} = useAuth() // let pseudoNotNull; // if(user?.pseudo != null){ // pseudoNotNull = user.pseudo; // } const [editingUsername, setEditingUsername] = useState(false); const [newUsername, setNewUsername] = useState(user?.pseudo); //@ts-ignore const onUsernameChange = (newUsername) => { if(user?.pseudo != null){ SessionService.UpdatePseudo(user.pseudo, newUsername) user.pseudo = newUsername; } } const handleUsernameChange = () => { // Maj du pseudo onUsernameChange(newUsername); // Désactiver le mode d'édition setEditingUsername(false); }; //* Gestion Modal de suppression : const [showDeleteModal, setShowDeleteModal] = useState(false); const handleShowDeleteModal = () => { setShowDeleteModal(true); }; const handleCloseDeleteModal = () => { setShowDeleteModal(false); }; //* Confirmation avec la phrase : const [confirmationPhrase, setConfirmationPhrase] = useState(''); const [showWrong, setShowWrong] = useState(false); //@ts-ignore const handleConfirmationPhraseChange = (e) => { setConfirmationPhrase(e.target.value); }; const handleDeleteAccount = () => { // Verification de la phrase if (confirmationPhrase.toLowerCase() === 'supprimer mon compte') { console.log('Compte supprimé !'); if(user!= null){ const pseudo = user.pseudo; AuthService.delAccount(pseudo); AuthService.logout(); logout(); } else{ console.error("l'utilisateur ne peut pas être null") } handleCloseDeleteModal(); navigate("/play") } else { console.error('Phrase de confirmation incorrecte.'); setShowWrong(true); setTimeout(async () => { setShowWrong(false); }, 3000); } }; return ( <>
Pour confirmer la suppression de votre compte, veuillez entrer la phrase : "supprimer mon compte".