diff --git a/Backend/database.py b/Backend/database.py index 38eaa6b..542bdd9 100644 --- a/Backend/database.py +++ b/Backend/database.py @@ -16,7 +16,15 @@ {"id": 3, "name": "Pizza", "quantity": 1, "price": 15.5} ], "total_price": 15.5, - "status": "In Transit" + "status": "Picked" + }, + { + "id": 1236, + "items": [ + {"id": 4, "name": "Salad", "quantity": 2, "price": 8.0} + ], + "total_price": 16.0, + "status": "Pending" } ] diff --git a/Backend/routes/delivery.py b/Backend/routes/delivery.py index 0ee17e7..057d9ac 100644 --- a/Backend/routes/delivery.py +++ b/Backend/routes/delivery.py @@ -21,7 +21,7 @@ async def book_delivery(request: DeliveryRequest): } ], "total_price": 15.0, - "status": "Booked" + "status": "Pending" } # Update the order list @@ -29,7 +29,7 @@ async def book_delivery(request: DeliveryRequest): return { "id": new_id, - "status": "Booked", + "status": "Pending", "pickup_address": request.pickup_address, "delivery_address": request.delivery_address, "message": "Delivery booked successfully!" diff --git a/Frontend/frontend/src/pages/Orders.js b/Frontend/frontend/src/pages/Orders.js index 3187894..d37290b 100644 --- a/Frontend/frontend/src/pages/Orders.js +++ b/Frontend/frontend/src/pages/Orders.js @@ -8,7 +8,10 @@ const Orders = () => { const [loading, setLoading] = useState(true); useEffect(() => { - axios.get('http://127.0.0.1:8000/orders/') + const token = localStorage.getItem('token'); + axios.get('http://127.0.0.1:8000/orders/', { + headers: { Authorization: `Bearer ${token}` }, + }) .then(response => { setOrders(response.data.orders); setLoading(false); @@ -20,7 +23,13 @@ const Orders = () => { }); }, []); - if (loading) return
Loading your orders...
; + if (loading) { + return ( +
+
+
+ ); + } return (
diff --git a/Frontend/frontend/src/pages/Page.css b/Frontend/frontend/src/pages/Page.css index 9901204..e026337 100644 --- a/Frontend/frontend/src/pages/Page.css +++ b/Frontend/frontend/src/pages/Page.css @@ -179,6 +179,26 @@ color: #757575; } +.status.picked { + background: #fff4e5; + color: #ff9800; +} + +.loading-spinner { + width: 48px; + height: 48px; + border: 4px solid #f0f0f0; + border-top-color: #ff4d4d; + border-radius: 50%; + animation: spin 0.8s linear infinite; +} + +@keyframes spin { + to { + transform: rotate(360deg); + } +} + /* Profile Box */ .profile-box { background: white;