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}
/>
))}
)}
);
}