import { useEffect, useState } from "react"; import { useNavigate } from "react-router-dom"; import PageLayout from "../components/PageLayout"; import { getUserInfo, getUserOrders } from "../api"; import OrderCard from "../components/OrderCard"; export default function Profile() { const [user, setUser] = useState(null); const [orders, setOrders] = useState([]); const [loading, setLoading] = useState(true); const navigate = useNavigate(); useEffect(() => { Promise.all([getUserInfo(), getUserOrders()]) .then(([userRes, ordersRes]) => { setUser(userRes.data); setOrders(ordersRes.data); }) .catch(() => { }) .finally(() => setLoading(false)); }, []); const handleLogout = () => { localStorage.removeItem("token"); localStorage.removeItem("user"); navigate("/"); }; const statusLabels = { new: "Новый", packed: "Собирают", delivered: "Доставлен", cancel: "Отменен", }; if (loading) { return (

Загрузка..

); } const activeOrders = orders.filter( (o) => o.status === "new" || o.status === "packed", ); const completedOrders = orders.filter( (o) => o.status === "delivered" || o.status === "cancel", ); return (

Личный кабинет

{user && (

Имя: {user.first_name || "не указано"}{" "} {user.last_name || "не указано"}

Телефон: {user.phone || "не указано"}

Логин: {user.username}

)}

Активные заказы

{activeOrders.length === 0 ? (

Нет активных заказов

) : (
{activeOrders.map((order) => ( ))}
)}

Завершённые

{completedOrders.length === 0 ? (

Нет завершённых заказов

) : (
{completedOrders.map((order) => ( ))}
)}
); }