import React, { useState, useEffect, useCallback } from 'react';
import { motion, AnimatePresence } from 'framer-motion';
import {
ShoppingCart, Search, RefreshCw, Plus, Eye, Edit, Trash2, ChevronLeft, ChevronRight, X, User
} from 'lucide-react';
import styles from './OrderManagement.module.css';
const OrderManagement = ({
orders,
ordersLoading,
orderPagination,
setOrderPagination,
orderStatus,
setOrderStatus,
selectedPeriod,
setSelectedPeriod,
searchQuery,
setSearchQuery,
lastUpdate,
formatLastUpdate,
formatCurrency,
formatDate,
getStatusColor,
handleManualRefresh,
setSelectedOrder,
setShowOrderModal,
setEditingOrder,
deleteOrder,
setIsFormActive
}) => {
return (
{}
Order Management
Last updated: {formatLastUpdate(lastUpdate)}
{}
Order ID
Customer
City
Phone
Payment Method
Est. Delivery
Amount
Status
Date
Actions
{}
{ordersLoading ? (
Array.from({length: orderPagination.limit}).map((_,i) => (
{[...Array(11)].map((_,j) => (
))}
))
) : orders.length > 0 ? (
orders.map((order, index) => (
#{order._id.slice(-8)}
{order.city}
{order.phone}
{order.paymentMethod}
{order.estimatedDelivery ? new Date(order.estimatedDelivery).toLocaleDateString() : ''}
{formatCurrency(order.amount)}
{order.status}
{formatDate(order.createdAt)}
{ setSelectedOrder(order); setShowOrderModal(true); }}
>
{ setEditingOrder(order); setShowOrderModal(true); }}
>
{
if (window.confirm('Are you sure you want to delete this order?')) {
deleteOrder(order._id);
}
}}
>
))
) : (
{orderStatus !== 'all' ? `No ${orderStatus} orders found` : 'No orders found'}
{orderStatus !== 'all' ? 'Try adjusting your filter settings' : 'Orders will appear here once customers start placing them'}
{orderStatus !== 'all' ? (
) : (
)}
)}
Page {orderPagination.page} of {orderPagination.pages}
);
};
export default OrderManagement;