import { useEffect, useState } from 'react' import { useNavigate } from 'react-router-dom' import { useApp } from '../context/AppContext.jsx' import { useApi } from '../hooks/useApi.js' export function Orders() { const [orders, setOrders] = useState([]) const [loading, setLoading] = useState(true) const navigate = useNavigate() const { user } = useApp() const { getOrders } = useApi() useEffect(() => { if (!user) { navigate('/login') return } fetchOrders() }, [user, navigate]) const fetchOrders = async () => { try { const data = await getOrders() setOrders(data) } catch (error) { console.error('Error fetching orders:', error) } finally { setLoading(false) } } const getStatusColor = (status) => { const colors = { pending: 'bg-yellow-900 text-yellow-200 border-yellow-700', processing: 'bg-blue-900 text-blue-200 border-blue-700', shipped: 'bg-purple-900 text-purple-200 border-purple-700', delivered: 'bg-green-900 text-green-200 border-green-700', cancelled: 'bg-red-900 text-red-200 border-red-700', } return colors[status] || 'bg-gray-900 text-gray-200 border-gray-700' } if (loading) { return (
You have no orders yet
{new Date(order.created_at).toLocaleDateString()}
Product #{item.product_id}
Quantity: {item.quantity}
${(item.price * item.quantity).toFixed(2)}