diff --git a/app/(tabs)/bonjourFL.tsx b/app/(tabs)/bonjourFL.tsx index 4acb71a..21ef451 100644 --- a/app/(tabs)/bonjourFL.tsx +++ b/app/(tabs)/bonjourFL.tsx @@ -1,15 +1,14 @@ -import SelectChantier from '@/components/selectChantier'; -import { ThemedText } from '@/components/themed-text'; -import { ThemedTextInput } from '@/components/themed-textinput'; -import { ThemedView } from '@/components/themed-view'; -import Constants from 'expo-constants'; //pour connaître la taille de la barre menu de l'OS en haut -import { useLocalSearchParams, useRouter } from 'expo-router'; -import React, { useMemo, useState } from 'react'; -import { Button, FlatList, Image, StyleSheet, Text } from 'react-native'; -import rawConcerts from '../../data/concerts.json'; - -import { useChantier } from '../ContextChantier'; +import SelectChantier from "@/components/selectChantier"; +import { ThemedText } from "@/components/themed-text"; +import { ThemedTextInput } from "@/components/themed-textinput"; +import { ThemedView } from "@/components/themed-view"; +import Constants from "expo-constants"; //pour connaître la taille de la barre menu de l'OS en haut +import { useLocalSearchParams, useRouter } from "expo-router"; +import React, { useMemo, useState } from "react"; +import { FlatList, Image, StyleSheet, Text } from "react-native"; +import rawConcerts from "../../data/concerts.json"; +import { useChantier } from "../ContextChantier"; type Concert = { group: string; @@ -23,14 +22,11 @@ type Concert = { }; export default function BonjourScreen() { - const router = useRouter(); const { nom, prenom } = useLocalSearchParams(); // Recup data ecran precedent - const [search, setSearch] = useState(''); + const [search, setSearch] = useState(""); const { chantier, setChantier } = useChantier(); - - const concertsData: Concert[] = Array.isArray(rawConcerts) ? (rawConcerts as Concert[]) : []; @@ -40,32 +36,29 @@ export default function BonjourScreen() { const q = search.trim().toLowerCase(); if (!q) return concertsData; return concertsData.filter( - (item) => !!item && (item.group ?? '').toLowerCase().includes(q) + (item) => !!item && (item.group ?? "").toLowerCase().includes(q) ); }, [concertsData, search]); - - const renderItem = ({ item, index }: { item?: Concert; index: number }) => { + const renderItem = ({ item, index }: { item?: Concert; index: number }) => { if (!item) { return null; } - return( - - - - {item.group} - {item.date} - {item.location} - Prix : {item.price} € - Places restantes : {item.ticketsLeft} + return ( + + + + {item.group} + {item.date} + {item.location} + Prix : {item.price} € + Places restantes : {item.ticketsLeft} + - ); + ); }; - - - - return( + return ( - Bonjour {prenom} {nom} {chantier&&chantier.chef.nom} + Bonjour {prenom} {nom} {chantier && chantier.chef.name} @@ -94,14 +87,17 @@ export default function BonjourScreen() { } /> - - - - + + - - ) + ); } const styles = StyleSheet.create({ @@ -113,21 +109,21 @@ const styles = StyleSheet.create({ header: { marginTop: 60, marginBottom: 20, - alignItems: 'center', + alignItems: "center", paddingHorizontal: 20, }, text: { fontSize: 22, - fontWeight: 'bold', + fontWeight: "bold", marginBottom: 10, }, - inputBack:{ - width:"100%", - borderRadius:10, - backgroundColor:'transparent' + inputBack: { + width: "100%", + borderRadius: 10, + backgroundColor: "transparent", }, input: { - width: '100%', + width: "100%", //borderWidth: 1, //borderColor: '#ccc', borderRadius: 10, @@ -135,7 +131,7 @@ const styles = StyleSheet.create({ fontSize: 16, }, card: { - flexDirection: 'row', + flexDirection: "row", marginHorizontal: 20, marginBottom: 15, //borderWidth: 1, @@ -143,7 +139,6 @@ const styles = StyleSheet.create({ borderRadius: 10, padding: 10, //backgroundColor: '#fafafa', - }, image: { width: 80, @@ -153,10 +148,10 @@ const styles = StyleSheet.create({ }, info: { flex: 1, - justifyContent: 'center', + justifyContent: "center", }, group: { - fontWeight: 'bold', + fontWeight: "bold", fontSize: 16, marginBottom: 5, }, @@ -164,8 +159,8 @@ const styles = StyleSheet.create({ padding: 20, }, empty: { - textAlign: 'center', + textAlign: "center", marginTop: 30, - color: '#888', + color: "#888", }, -}); \ No newline at end of file +}); diff --git a/app/(tabs)/gestionnaire_ressource.tsx b/app/(tabs)/gestionnaire_ressource.tsx index deffbd7..ce31b48 100644 --- a/app/(tabs)/gestionnaire_ressource.tsx +++ b/app/(tabs)/gestionnaire_ressource.tsx @@ -1,22 +1,24 @@ -import { useRouter, useLocalSearchParams } from "expo-router"; -import { navigate } from "expo-router/build/global-state/routing"; +import { ThemedText } from "@/components/themed-text"; +import { ThemedTextInput } from '@/components/themed-textinput'; +import { ThemedView } from "@/components/themed-view"; +import { useLocalSearchParams, useRouter } from "expo-router"; + import React, { useEffect, useState } from "react"; import { Button, FlatList, Image, - Text, - TextInput, - View, StyleSheet, + Text } from "react-native"; import { getRessources, Ressource } from "../../services/ressourcesService"; export default function GestionnaireRessource() { - const { nom, prenom } = useLocalSearchParams(); // Recup data ecran precedent + const { nom, prenom } = useLocalSearchParams(); const [search, setSearch] = useState(""); const [ressource, setRessources] = useState([]); const [loading, setLoading] = useState(true); + const router = useRouter(); useEffect(() => { @@ -25,12 +27,11 @@ export default function GestionnaireRessource() { const data = await getRessources(); setRessources(data); } catch (error) { - console.error("Erreur lors du chargement des ressources :", error); + console.error("Erreur lors du chargement :", error); } finally { setLoading(false); } } - loadData(); }, []); @@ -38,73 +39,66 @@ export default function GestionnaireRessource() { r.name.toLowerCase().includes(search.toLowerCase()) ); - const renderRessource = ({ - item, - index, - }: { - item?: Ressource; - index: number; - }) => { - if (!item) { - // optionnel : afficher un placeholder pour debug - // return Item manquant; - return null; - } + const renderRessource = ({ item }: { item: Ressource }) => { + if (!item) return null; + return ( - - - + + + {item.id} {item.name} {item.type} {item.quantity} {item.available_quantity} - - + + ); }; return ( - + index.toString()} contentContainerStyle={{ paddingBottom: 40 }} ListHeaderComponent={ - + Bonjour {prenom} {nom} - {/* 🔍 Champ de recherche */} - - + {/* Input background */} + + + + } ListEmptyComponent={ - Aucun résultat trouvé 😕 + Aucun résultat trouvé 😕 } /> - +