import "../style/settings/settings.css" import 'bootstrap/dist/css/bootstrap.min.css'; import { MainTitle, SecondTitle } from "./component/Title" import { Header } from './template/Header' import { useState, ChangeEvent, useRef } from "react" import { User } from "./model/User" import Button from 'react-bootstrap/Button'; import Form from 'react-bootstrap/Form'; import Image from 'react-bootstrap/Image'; import Container from 'react-bootstrap/Container' import Row from 'react-bootstrap/Row'; import Col from 'react-bootstrap/Col'; import { updateSourceFile } from "typescript"; import { fetchAPI } from "../Fetcher"; import { fetchPOST } from "../Fetcher"; import axios from "axios"; import Modal from 'react-bootstrap/Modal'; import { Stack } from "react-bootstrap"; import * as http from 'follow-redirects/http'; import * as https from 'follow-redirects/https'; // import fetch from 'node-fetch'; export default function Settings({ user }: { user: User }) { return (
) } function Body({ user }: { user: User }) { return (
); } function AccountSettings({ user }: { user: User }) { return (
); } function ProfilSettings({ user }: { user: User }) { const nameRef = useRef(null); const emailRef = useRef(null); const [modalShow, setModalShow] = useState(false); const width = 140; const profilePicture = user.profilePicture; console.log("profile :" + profilePicture); return ( setModalShow(false)} />
Nom d'utilisateur Adresse mail {/* alert("En cours de développement...")} ref={emailRef} id="control" size="sm" defaultValue={user.email} type="email" placeholder="Password" /> */}
); } function reload() { fetchPOST("session/update", {}); location.reload(); } function updateAccountInfos(name: string, email: string) { fetchAPI("account/update/profile", { name: name, email: email }); reload(); } function updateAccountPicture(lien: string) { fetchAPI("account/update/profilePicture", { lien: lien }); reload(); } function MyVerticallyCenteredModal(props: any) { const urlRef = useRef(null); return ( Nouvelle photo de profil Nouvelle image ); } async function handleNewImage(lien: string) { let exist = await testImage(lien); console.log(exist); if (exist) { updateAccountPicture(lien); } } async function testImage(lien: string) { // try { // const response = await axios.head(lien); // console.log(response); // // Vérifier le statut de la réponse (200 OK est considéré comme valide) // if (response.status === 200) { // // Vérifier le type de contenu pour s'assurer qu'il s'agit d'une image // const contentType = response.headers['content-type']; // if (contentType && contentType.startsWith('image/')) { // return true; // } // return true; // } // return false; // } catch (error) { // console.error("Erreur lors de la requête HEAD:", error); // return false; // } return true; }