diff --git a/Front-end/src/components/MeteoInfos.jsx b/Front-end/src/components/MeteoInfos.jsx
index 4946cb0..50571a5 100644
--- a/Front-end/src/components/MeteoInfos.jsx
+++ b/Front-end/src/components/MeteoInfos.jsx
@@ -31,7 +31,7 @@ function MeteoInfos({
console.log(rawData.length);
return (
- {(AffAlert) && (
+ {(AffAlert&&(object.status==="active")) && (
)}
diff --git a/Front-end/src/pages/Gestion/AddObject.jsx b/Front-end/src/pages/Gestion/AddObject.jsx
index 0fcf593..8881166 100644
--- a/Front-end/src/pages/Gestion/AddObject.jsx
+++ b/Front-end/src/pages/Gestion/AddObject.jsx
@@ -12,40 +12,49 @@ function AddObject() {
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,
- })
- .then((response) => {
- console.log("Modification réussie :", response.data);
- })
- .catch((error) => {
- console.error("Erreur lors de la modification :", error);
- });
- }else{
- setVerif(true);
+ console.log("Envoi requete");
+ axios
+ .post(`${API_BASE_URL}/addObject`, {
+ nom,
+ description,
+ type,
+ location,
+ status,
+ })
+ .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);
}
}
+ function resetForm() {
+ setNom("");
+ setStatus("");
+ setDescription("");
+ setType("");
+ setLocalisation("");
+ setActive(true);
+ }
function handleCancel() {
- if(verif){
- setVerif(false);
- }else{
- setNom("");
- setStatus("");
- setDescription("");
- setType("");
- setLocalisation("");
- setActive(true);
+ if (verif) {
+ setVerif(false);
+ } else {
+ resetForm();
}
}
@@ -74,7 +83,9 @@ function AddObject() {
- {(!verif)?("Entrez les données de votre nouvel objet"):("Êtes-vous sûr de ces données ?")}
+ {!verif
+ ? "Entrez les données de votre nouvel objet"
+ : "Êtes-vous sûr de ces données ?"}
@@ -187,16 +198,19 @@ function AddObject() {
type={"submit"}
className="text-blue-500 hover:cursor-pointer hover:underline mb-2"
>
- {(!verif)?("Confirmer les informations"):("Oui je suis sûr !")}
+ {!verif ? "Confirmer les informations" : "Oui je suis sûr !"}
- {(!verif)?("Supprimer les informations"):("Non je veux changer !")}
-
+ {!verif ? "Supprimer les informations" : "Non je veux changer !"}
+
+
+ {messRequete}
+
diff --git a/Front-end/src/pages/Gestion/ObjectManagement.jsx b/Front-end/src/pages/Gestion/ObjectManagement.jsx
index d26efcf..a440258 100644
--- a/Front-end/src/pages/Gestion/ObjectManagement.jsx
+++ b/Front-end/src/pages/Gestion/ObjectManagement.jsx
@@ -1,17 +1,5 @@
import React from "react";
-import {
- Search,
- MapPin,
- Calendar,
- Bus,
- ArrowRight,
- LogIn,
- UserPlus,
- RadioTower,
- Binoculars,
- Settings,
- ChartArea,
-} from "lucide-react";
+import { Search, ArrowRight, RadioTower,Plus } from "lucide-react";
import { useEffect, useState } from "react";
import axios from "axios";
@@ -19,7 +7,7 @@ function ObjectManagement() {
const [searchQuery, setSearchQuery] = useState("");
const [activeFilter, setActiveFilter] = useState("");
const [objects, setObjects] = useState([]);
-
+ const [nbAffObject,setnbAffObject] = useState(6);
const filteredDATA = objects.filter((node) => {
const matchesSearchQuery =
searchQuery === "" ||
@@ -29,19 +17,12 @@ function ObjectManagement() {
const matchesTag =
activeFilter === "" ||
node.name.toLowerCase().includes(activeFilter.toLowerCase()) ||
- node.description.includes(activeFilter.toLowerCase())||
- (activeFilter=== "Active" && node.status.toLowerCase()==="active")||
- (activeFilter=== "Inactive" && node.status.toLowerCase()==="inactive");
+ node.description.includes(activeFilter.toLowerCase()) ||
+ (activeFilter === "Active" && node.status.toLowerCase() === "active") ||
+ (activeFilter === "Inactive" && node.status.toLowerCase() === "inactive");
return matchesSearchQuery && matchesTag;
-
});
- const handleSearchChange = (event) => {
- setSearchQuery(event.target.value);
- };
- const handleTagFilterChange = (selectedTags) => {
- setFilterTags(selectedTags);
- };
useEffect(() => {
axios.get("http://localhost:8888/objets").then((response) => {
setObjects(response.data);
@@ -126,19 +107,19 @@ function ObjectManagement() {
{filteredDATA.length === 0 ? (
Aucun objet trouvé
) : (
- filteredDATA.map((object) => (
+ filteredDATA.slice(0,nbAffObject).map((object) => (
- {(object.status==="active")?(
+ {object.status === "active" ? (
- ):(
+ ) : (
@@ -161,6 +142,12 @@ function ObjectManagement() {
))
)}
+ {(nbAffObject
+ {setnbAffObject((prev)=>prev+6 )}}>
+ Voir plus
+
+ )}
);