//import { Link } from "expo-router"; import { FlatList, Image, SafeAreaView, Text, TouchableOpacity, View, } from "react-native"; // import images from "@/constants/images"; import icons from "@/constants/icons"; import Search from "@/components/Search"; import { useGlobalContext } from "@/lib/globalProvider"; import { Card, FeaturedCard } from "@/components/Cards"; import Filters from "@/components/Filters"; // import { cars, featuredCars } from "@/constants/data"; import { router } from 'expo-router'; import { useEffect, useState } from "react"; import { getCars, getFeaturedCars } from "@/lib/database"; export default function Index() { const { user } = useGlobalContext(); const [cars, setCars] = useState([]); const [featuredCars, setFeaturedCars] = useState([]); const [isLoading, setIsLoading] = useState(false); const fetchCars = async (query?: string) => { try { setIsLoading(true); const fetchedCars = await getCars(query); setCars(fetchedCars); } catch (error) { console.error('Error fetching cars:', error); } finally { setIsLoading(false); } }; useEffect(() => { fetchCars(); getFeaturedCars().then(setFeaturedCars); }, []); const handleSearch = async (query: string) => { await fetchCars(query); }; return ( } keyExtractor={(item) => item.$id} numColumns={2} ListHeaderComponent={ {/* User Info */} Welcome back, {user?.name} {/* Search */} {/* Featured Section */} featured see all } keyExtractor={(item) => item.$id} horizontal={true} bounces={false} showsHorizontalScrollIndicator={false} contentContainerClassName={"flex gap-3 mt-5"} /> {/* Latest Cars Section */} latest cars see all } contentContainerClassName={"pb-32"} columnWrapperClassName={"flex flex-row gap-5 px-5"} showsVerticalScrollIndicator={false} refreshing={isLoading} onRefresh={() => fetchCars()} /> {/* Add Car Button */} router.push('/cars/new')} className="absolute bottom-8 right-8 bg-blue-500 rounded-full p-4 shadow-lg" > ); }