import { View, Text, StyleSheet, ScrollView, TouchableOpacity } from 'react-native'; import { SafeAreaView } from 'react-native-safe-area-context'; import { ArrowLeft } from 'lucide-react-native'; import { router } from "expo-router"; import ProductCard from '@/components/ProductCard'; import COLORS from '@/constants/colors'; import { collection, getDocs } from 'firebase/firestore'; import { useEffect, useState } from 'react'; import { db } from '@/firebase/config'; import { Product } from '@/constants/types'; export default function GrainsScreen() { const [products, setProducts] = useState([]); useEffect(() => { const fetchProducts = async () => { try { const querySnapshot = await getDocs(collection(db, 'products')); const items: Product[] = querySnapshot.docs.map(doc => ({ id: doc.id, ...(doc.data() as Omit), })); setProducts(items); } catch (error) { console.error("Erreur lors de la récupération des produits :", error); } }; fetchProducts(); }, []); return ( router.back()}> Grains de café {products.map((product) => ( ))} ); } const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: '#fff', }, header: { height: 60, justifyContent: 'center', alignItems: 'center', position: 'relative', backgroundColor: '#fff', borderBottomWidth: 1, borderBottomColor: '#eee', marginTop: 5, }, backButton: { position: 'absolute', left: 20, top: '50%', transform: [{ translateY: -12 }], }, headerTitle: { fontSize: 20, fontWeight: '600', color: '#333', }, content: { flex: 1, padding: 30, backgroundColor: COLORS.background_user, }, });