diff --git a/app/(tabs)/gestionnaire_ressource.tsx b/app/(tabs)/gestionnaire_ressource.tsx index c63d6a5..a4b7e7b 100644 --- a/app/(tabs)/gestionnaire_ressource.tsx +++ b/app/(tabs)/gestionnaire_ressource.tsx @@ -1,16 +1,10 @@ import { ThemedText } from "@/components/themed-text"; -import { ThemedTextInput } from '@/components/themed-textinput'; +import { ThemedTextInput } from "@/components/themed-textinput"; import { ThemedView } from "@/components/themed-view"; +import { ThemedButton } from "@/components/themed-button"; import { useLocalSearchParams, useRouter } from "expo-router"; - import React, { useEffect, useState } from "react"; -import { - Button, - FlatList, - Image, - StyleSheet, - Text -} from "react-native"; +import { FlatList, Image, StyleSheet, Text } from "react-native"; import { Ressources } from "../../class/class"; import { getRessources } from "../../services/ressourcesService"; @@ -18,8 +12,8 @@ export default function GestionnaireRessource() { const { nom, prenom } = useLocalSearchParams(); const [search, setSearch] = useState(""); const [ressource, setRessources] = useState([]); - const [loading, setLoading] = useState(true); - + const [filterType, setFilterType] = useState("tout"); + const [showFilterMenu, setShowFilterMenu] = useState(false); const router = useRouter(); useEffect(() => { @@ -29,29 +23,28 @@ export default function GestionnaireRessource() { setRessources(data); } catch (error) { console.error("Erreur lors du chargement :", error); - } finally { - setLoading(false); } } loadData(); }, []); - const filteredData = ressource.filter((r) => - r.name.toLowerCase().includes(search.toLowerCase()) - ); + const filteredData = ressource.filter((r) => { + const matchName = r.name.toLowerCase().includes(search.toLowerCase()); + const matchType = filterType === "tout" || r.type === filterType; + return matchName && matchType; + }); const renderRessource = ({ item }: { item: Ressources }) => { if (!item) return null; - return ( - {item.id} - {item.name} - {item.type} - {item.quantity} - {item.available_quantity} + {item.id} + {item.name} + {item.type} + {item.quantity} + {item.available_quantity} ); @@ -59,6 +52,39 @@ export default function GestionnaireRessource() { return ( + {/* Overlay menu filtre */} + {showFilterMenu && ( + + + Filtrer par type + {["tout", "Outil", "Machine"].map((t) => ( + { + setFilterType(t); + setShowFilterMenu(false); + }} + > + {t} + + ))} + + {/* Bouton "Fermer" remplacé */} + setShowFilterMenu(false)} + > + Fermer + + + + )} + - + Bonjour {prenom} {nom} - + + + {/* Bouton filtre en haut à droite */} + setShowFilterMenu(true)} + > + {`Filtre: ${filterType}`} + - {/* Input background */} Aucun résultat trouvé } /> - - -