diff --git a/src/components/OrderComponent.jsx b/src/components/OrderComponent.jsx index ebf92ae..fb67ecf 100644 --- a/src/components/OrderComponent.jsx +++ b/src/components/OrderComponent.jsx @@ -1,3 +1,4 @@ + import React, { useState, useMemo, useEffect } from 'react'; import { Dialog, @@ -33,21 +34,21 @@ const statusOptions = [ const getStatusColor = (status) => { switch (status.toLowerCase()) { case 'confirmed': - return '#0288d1'; // plava + return '#0288d1'; case 'rejected': - return '#d32f2f'; // crvena + return '#d32f2f'; case 'ready': - return '#388e3c'; // zelena + return '#388e3c'; case 'sent': - return '#fbc02d'; // žuta + return '#fbc02d'; case 'delivered': - return '#1976d2'; // tamno plava + return '#1976d2'; case 'cancelled': - return '#b71c1c'; // tamno crvena + return '#b71c1c'; case 'requested': - return '#757575'; // siva + return '#757575'; default: - return '#9e9e9e'; // fallback siva + return '#9e9e9e'; } }; @@ -62,6 +63,8 @@ const OrderComponent = ({ open, onClose, narudzba, onOrderUpdated }) => { new Date(narudzba.time).toISOString().slice(0, 16) ); const [products, setProducts] = useState(narudzba.proizvodi || []); + const [deliveryAddress] = useState(narudzba.deliveryAddress); + const [receivingAddress] = useState(narudzba.receivingAddress); useEffect(() => { const fetchMappings = async () => { @@ -75,13 +78,8 @@ const OrderComponent = ({ open, onClose, narudzba, onOrderUpdated }) => { (u) => u.userName === narudzba.buyerId || u.email === narudzba.buyerId ); - if (storeEntry) { - setStoreId(storeEntry.id); - } - - if (userEntry) { - setBuyerId(userEntry.id); - } + if (storeEntry) setStoreId(storeEntry.id); + if (userEntry) setBuyerId(userEntry.id); }; fetchMappings(); @@ -110,7 +108,6 @@ const OrderComponent = ({ open, onClose, narudzba, onOrderUpdated }) => { if (!storeId) { alert('Greška: Store ID nije validan.'); - console.log(storeId); return; } @@ -134,6 +131,8 @@ const OrderComponent = ({ open, onClose, narudzba, onOrderUpdated }) => { quantity: Number(p.quantity), }; }), + deliveryAddressId: deliveryAddress?.id, + receivingAddressId: receivingAddress?.id, }; const res = await apiUpdateOrderAsync(narudzba.id, payload); @@ -163,7 +162,6 @@ const OrderComponent = ({ open, onClose, narudzba, onOrderUpdated }) => { }, }} > - {/* Bubble Background */} { - {/* Bubble Background */} - { )} + + + Delivery Address: + + + {deliveryAddress?.address} + + + {deliveryAddress?.city} + + + + + + Receiving Address: + + + {receivingAddress?.address} + + + {receivingAddress?.city} + + + diff --git a/src/components/OrdersTable.jsx b/src/components/OrdersTable.jsx index 522032f..067d61e 100644 --- a/src/components/OrdersTable.jsx +++ b/src/components/OrdersTable.jsx @@ -52,14 +52,17 @@ const OrdersTable = ({ const formatOrderId = (id) => `#${String(id).padStart(5, '0')}`; const columns = [ - { label: 'Order #', field: 'id' }, - { label: 'Buyer', field: 'buyerName' }, - { label: 'Store', field: 'storeName' }, - { label: 'Status', field: 'status' }, - { label: 'Total', field: 'totalPrice' }, - { label: 'Created', field: 'createdAt' }, - { label: '', field: 'actions' }, - ]; + { label: 'Order #', field: 'id' }, + { label: 'Buyer', field: 'buyerName' }, + { label: 'Store', field: 'storeName' }, + { label: 'Delivery Address', field: 'deliveryAddress' }, + { label: 'Receiving Address', field: 'receivingAddress' }, + { label: 'Status', field: 'status' }, + { label: 'Total', field: 'totalPrice' }, + { label: 'Created', field: 'createdAt' }, + { label: '', field: 'actions' }, +]; + return ( @@ -121,6 +124,14 @@ const OrdersTable = ({ {order.buyerName} {order.storeName} + + + {order.deliveryAddress?.address ?? 'null'}, {order.deliveryAddress?.city ?? 'null'} + + + {order.receivingAddress?.address ?? 'null'}, {order.receivingAddress?.city ?? 'null'} + + + + ))} + + + ); };