import { Chantier, Ressources } from '@/class/class'; import { ThemedView, } from '@/components/theme/themed-view'; import React, { useEffect, useState } from 'react'; import { Image, StyleProp, StyleSheet, View, ViewStyle } from 'react-native'; import { ThemedText } from '@/components/theme/themed-text'; import { ThemedButton } from '@/components/theme/themed-button'; import { getNbUseRessources } from '@/class/utils'; import { useReservations } from '@/app/ContextReservation'; import { getReservations } from '@/services/ressourcesService'; type RessourcesQte = [Ressources, number]; type Props = { ressource:Ressources; qte:number; sendRessource: (ressource: RessourcesQte) => void; style?: StyleProp; }; export default function RessourceSummary({ressource: ressource,qte,style,sendRessource: sendRessource, ...otherProps }: Props) { const { reservations, setReservations } = useReservations(); const [count,setCount] = useState(qte); function onPressAdd(ressource: Ressources): void { if(count0){ setCount(count-1); sendRessource([ressource, count-1]); } } useEffect(() => { async function loadReservations() { const list = await getReservations(); setReservations(list); } loadReservations(); }, []); return( Nom : {ressource.name} Restant : {ressource.quantity-getNbUseRessources(ressource,reservations)}/{ressource.quantity} onPressAdd(ressource)}> + {count}/{ressource.quantity-getNbUseRessources(ressource,reservations)} onPressSub(ressource)}> - ) } const styles = StyleSheet.create({ button:{ padding:5, marginHorizontal:10, alignItems:"center", borderRadius: 20, width: 40, height: 40, }, });