import React, { useEffect, useState } from "react"; import { BadgePlus } from "lucide-react"; import axios from "axios"; import { API_BASE_URL } from "../config"; import { useAuth } from "../AuthContext"; function FormNewObject({ isAdmin }) { const { user } = useAuth(); const [categorie, setCategorie] = useState({}); const [description, setDescription] = useState(""); const [type, setType] = useState(""); const [location, setLocalisation] = useState(""); const [proprio_id, setProprio_id] = useState(user?.id); const [batterieType, setBatterieType] = useState(""); const [status, setStatus] = useState("active"); const [nom, setNom] = useState(""); const [Response, setResponse] = useState(null); const [isActive, setActive] = useState(true); const [verif, setVerif] = useState(false); const [enregistre, setEnregistre] = useState(false); const [messRequete, setMessRequete] = useState(""); function handleSubmit(event) { event.preventDefault(); if (verif) { console.log("Envoi requete"); axios .post(`${API_BASE_URL}/addObject`, { nom, description, type, location, status, batterieType, proprio_id, }) .then((response) => { setMessRequete("Votre objet à bien été enregistré !"); setEnregistre(true); console.log("Ajout de l'objet réussit :", response.data); }) .catch((error) => { setMessRequete("Il y a eu une erreur dans l'ajout de votre objet !"); console.error("Erreur lors de l'ajout de l'objet :", error); }); setVerif(false); resetForm(); } else { setVerif(true); } } useEffect(() => { axios.get(`${API_BASE_URL}/getCategories`).then((response) => { setCategorie(response.data); console.log(response.data); }); }, []); function resetForm() { setNom(""); setStatus("active"); setDescription(""); setType(""); setLocalisation(""); setBatterieType(""); if (isAdmin) set_id(""); setActive(true); } function handleCancel() { if (verif) { setVerif(false); } else { resetForm(); } } function handleStatusChange() { setActive((prevIsActive) => { const newIsActive = !prevIsActive; setStatus(newIsActive ? "active" : "inactive"); return newIsActive; }); } return (
); } export default FormNewObject;