import React from "react"; import { View, Dimensions, ScrollView } from "react-native"; import { LinearGradient } from "expo-linear-gradient"; import { useRouter } from "expo-router"; import { tw, useManualRefresh, useMarkDataFetchers, AppContainer, MyFlatList, MyText, } from "common-ui"; import MaterialIcons from "@expo/vector-icons/MaterialIcons"; import ProductCard from "@/components/ProductCard"; import { trpc } from "@/src/trpc-client"; import FloatingCartBar from "@/components/floating-cart-bar"; import TabLayoutWrapper from "@/components/TabLayoutWrapper"; const { width: screenWidth } = Dimensions.get("window"); const itemWidth = (screenWidth - 48) / 2; export default function OrderAgain() { const router = useRouter(); const { data: recentProductsData, isLoading, error, refetch } = trpc.user.order.getRecentlyOrderedProducts.useQuery({ limit: 20, }); const recentProducts = recentProductsData?.products || []; useManualRefresh(() => { refetch(); }); useMarkDataFetchers(() => { refetch(); }); if (isLoading) { return ( Loading your recent orders... ); } if (error) { return ( Oops! Failed to load recent orders ); } return ( Order Again Reorder your favorite items quickly Recently Ordered {recentProducts.length === 0 ? ( No recent orders Items you've ordered recently will appear here ) : ( {recentProducts.map((item, index) => ( router.push( `/(drawer)/(tabs)/order-again/product-detail/${item.id}` ) } showDeliveryInfo={false} useAddToCartDialog={true} /> ))} )} ); }