This commit is contained in:
Rochas
2025-12-13 22:51:15 +01:00

View File

@@ -3,12 +3,14 @@ import { ThemedTextInput } from "@/components/theme/themed-textinput";
import { ThemedView } from "@/components/theme/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 React, { useEffect, useMemo, useState } from "react";
import { FlatList, Image, StyleSheet, Text, View } from "react-native";
import rawConcerts from "../../data/concerts.json";
import { getUsers } from "@/services/ressourcesService";
import { useChantier } from "../ContextChantier";
import SelectChantier from "@/components/selectChantier";
import { Ressources } from "@/class/class";
import { getRessources } from "@/services/ressourcesService";
type Concert = {
group: string;
@@ -26,6 +28,20 @@ export default function GestionOuvrier() {
const { nom, prenom } = useLocalSearchParams(); // Recup data ecran precedent
const [search, setSearch] = useState("");
const { chantier, setChantier } = useChantier();
const [artisans, setRessources] = useState<Ressources[]>([]);
useEffect(() => {
async function loadData() {
try {
//Nous ne gardons que les Ouvriers, qui peuvent être assignés à un chantier
const data = (await getRessources()).filter(u => u.type === "ouvrier");
setRessources(data);
} catch (error) {
console.error("Erreur lors du chargement :", error);
}
}
loadData();
}, []);
const concertsData: Concert[] = Array.isArray(rawConcerts)
? (rawConcerts as Concert[])
@@ -40,17 +56,17 @@ export default function GestionOuvrier() {
);
}, [concertsData, search]);
const renderItem = ({ item, index }: { item?: Concert; index: number }) => {
const renderItem = ({ item, index }: { item?: Ressources; index: number }) => {
if (!item) {
return null;
}
return (
<ThemedView lvl={1} shadow={true} style={styles.card}>
<Image source={{ uri: item.Image }} style={styles.image} />
<ThemedView lvl={1} style={styles.info}>
<ThemedText style={styles.group}>{item.group}</ThemedText>
<ThemedText>{item.date}</ThemedText>
<ThemedText>{item.location}</ThemedText>
<Image source={{ uri: item.Image }} style={styles.image} />
<ThemedText style={styles.group}>{item.name}</ThemedText>
<ThemedText>{item.quantity}</ThemedText>
<ThemedText>{item.type}</ThemedText>
</ThemedView>
</ThemedView>
);
@@ -65,7 +81,7 @@ export default function GestionOuvrier() {
<FlatList
data={filteredData}
data={artisans}
renderItem={renderItem}
keyExtractor={(_, index) => index.toString()}
contentContainerStyle={{ paddingBottom: 40 }}