diff --git a/RestroHub-FrontEnd/src/components/admin/orders/orderComponents/OrdersGrid.jsx b/RestroHub-FrontEnd/src/components/admin/orders/orderComponents/OrdersGrid.jsx index 082b6ebe..43226e29 100644 --- a/RestroHub-FrontEnd/src/components/admin/orders/orderComponents/OrdersGrid.jsx +++ b/RestroHub-FrontEnd/src/components/admin/orders/orderComponents/OrdersGrid.jsx @@ -1,5 +1,5 @@ import { useState, useEffect } from 'react'; -import { RefreshCw, AlertCircle, ClipboardList } from 'lucide-react'; +import { RefreshCw, AlertCircle, ClipboardList, Clock } from 'lucide-react'; import OrderCard from './OrderCard'; import api from "@services/common/api"; import AdminSkeleton from '../../AdminSkeleton'; @@ -12,6 +12,7 @@ const OrdersGrid = ({ activeFilter, searchQuery, onOrdersChange }) => { const [loading, setLoading] = useState(true); const [error, setError] = useState(null); const [refreshing, setRefreshing] = useState(false); + const [lastRefreshed, setLastRefreshed] = useState(null); // Sync orders up to parent so OrderFilters gets real counts const syncOrders = (updated) => { @@ -77,9 +78,8 @@ const OrdersGrid = ({ activeFilter, searchQuery, onOrdersChange }) => { useEffect(() => { fetchOrders(); - // 🔌 UNCOMMENT: Auto-refresh every 30 seconds - // const interval = setInterval(fetchOrders, 30000); - // return () => clearInterval(interval); + const interval = setInterval(fetchOrders, 30000); + return () => clearInterval(interval); }, []); const fetchOrders = async () => { @@ -101,6 +101,7 @@ const OrdersGrid = ({ activeFilter, searchQuery, onOrdersChange }) => { } finally { setLoading(false); setRefreshing(false); + setLastRefreshed(new Date()); } }; @@ -178,13 +179,31 @@ const OrdersGrid = ({ activeFilter, searchQuery, onOrdersChange }) => { return (
- {/* Refresh indicator */} - {refreshing && ( -
- - Refreshing orders... + {/* Refresh indicator & last refreshed */} +
+
+ {refreshing && ( + <> + + Refreshing orders... + + )} + {!refreshing && lastRefreshed && ( +
+ + Last updated: {lastRefreshed.toLocaleTimeString()} +
+ )}
- )} + +
{/* Orders Grid */}