import { useState, useMemo } from 'react' import { Link } from 'react-router-dom' import { usePurchases } from '../hooks/useApi.ts' import { StoreIcon } from '../components/StoreIcon.tsx' export function Purchases() { const { data: purchases = [], isLoading, error } = usePurchases() const [storeFilter, setStoreFilter] = useState('all') const stores = useMemo( () => ['all', ...new Set(purchases.map((p) => p.storeName))], [purchases], ) const filtered = storeFilter === 'all' ? purchases : purchases.filter((p) => p.storeName === storeFilter) if (isLoading) { return (
Failed to load purchases.
No purchases found for this filter.
{purchase.storeName}
{new Date(purchase.date).toLocaleDateString('en-US', { weekday: 'short', month: 'short', day: 'numeric', year: 'numeric', })}
${purchase.total.toFixed(2)}
{purchase.items.length} items
{purchase.items .slice(0, 3) .map((i) => i.name) .join(', ')} {purchase.items.length > 3 && ` +${purchase.items.length - 3} more`}
)) )}