import { useState, useEffect } from "react"; import { getAllOrders, updateOrderStatus } from "../api/index"; import { useNavigate, useParams } from "react-router-dom"; const STATUSES = [ { value: "new", label: "Новый" }, { value: "packed", label: "Собран" }, { value: "delivered", label: "Доставлен" }, { value: "cancel", label: "Отменён" }, ]; export default function AdminOrders() { const [orders, setOrders] = useState([]); const [loading, setLoading] = useState(true); const loadOrders = () => { getAllOrders() .then((res) => setOrders(res.data)) .catch(() => { }) .finally(() => setLoading(false)); }; useEffect(() => { loadOrders(); }, []); const handleStatusChange = async (id, newStatus) => { try { await updateOrderStatus(id, { status: newStatus }); setOrders((prev) => prev.map((o) => (o.id === id ? { ...o, status: newStatus } : o)), ); } catch { alert("Не удалось изменить статус"); } }; const navigate = useNavigate(); if (loading) return

Загрузка...

; return (
{orders.length === 0 ? (

Заказов нет

) : ( orders.map((order) => (
navigate(`/admin/orders/${order.id}`)} > {/* шапка: номер + селект статуса */}
Заказ #{order.id}
{/* товары заказа */}
{order.items?.map((oi) => (
{oi.item?.name} {oi.quantity} {oi.item?.unit} × {oi.price} ₽
))}
{/* подвал: адрес + итог */}
{order.delivery_address} Итого: {order.total_price} ₽
)) )}
); }