This commit is contained in:
Андрей Дувакин 2024-10-07 17:14:11 +05:00
parent 732809a25f
commit bdc4157c21
2 changed files with 45 additions and 39 deletions

View File

@ -3,7 +3,7 @@ import { Link, useNavigate } from "react-router-dom";
import { useAuth } from "../AuthContext"; import { useAuth } from "../AuthContext";
const Header = () => { const Header = () => {
const { isAuthenticated, logout } = useAuth(); const { isAuthenticated, role, logout } = useAuth();
const navigate = useNavigate(); const navigate = useNavigate();
const user = JSON.parse(localStorage.getItem("user")); const user = JSON.parse(localStorage.getItem("user"));
@ -25,41 +25,45 @@ const Header = () => {
Заказы Заказы
</Link> </Link>
</li> </li>
<li className="nav-item"> {role === "admin" && (
<Link className="nav-link" to="/accessories"> <>
Компоненты <li className="nav-item">
</Link> <Link className="nav-link" to="/accessories">
</li> Компоненты
<li className="nav-item"> </Link>
<Link className="nav-link" to="/cities"> </li>
Города <li className="nav-item">
</Link> <Link className="nav-link" to="/users">
</li> Пользователи
<li className="nav-item"> </Link>
<Link className="nav-link" to="/federal_districts"> </li>
Федеральные округа <li className="nav-item">
</Link> <Link className="nav-link" to="/cities">
</li> Города
<li className="nav-item"> </Link>
<Link className="nav-link" to="/roles"> </li>
Роли <li className="nav-item">
</Link> <Link className="nav-link" to="/trucks">
</li> Грузовики
<li className="nav-item"> </Link>
<Link className="nav-link" to="/statuses"> </li>
Статусы <li className="nav-item">
</Link> <Link className="nav-link" to="/statuses">
</li> Статусы
<li className="nav-item"> </Link>
<Link className="nav-link" to="/trucks"> </li>
Грузовики <li className="nav-item">
</Link> <Link className="nav-link" to="/federal_districts">
</li> Федеральные округа
<li className="nav-item"> </Link>
<Link className="nav-link" to="/users"> </li>
Пользователи <li className="nav-item">
</Link> <Link className="nav-link" to="/roles">
</li> Роли
</Link>
</li>
</>
)}
</ul> </ul>
<div className="d-flex align-items-center ml-auto"> <div className="d-flex align-items-center ml-auto">
{isAuthenticated ? ( {isAuthenticated ? (

View File

@ -2,6 +2,7 @@ import React, { useState, useEffect } from "react";
import { getDeliveryAccessories, getDeliveryOrderDetails } from "../api.jsx"; import { getDeliveryAccessories, getDeliveryOrderDetails } from "../api.jsx";
import { useParams } from "react-router-dom"; import { useParams } from "react-router-dom";
import { getCoordinates } from "../geocoder.jsx"; import { getCoordinates } from "../geocoder.jsx";
import { useNavigate } from "react-router-dom";
import { import {
MapContainer, MapContainer,
TileLayer, TileLayer,
@ -28,6 +29,7 @@ const DeliveryOrderDetails = () => {
const [totalCost, setTotalCost] = useState(0); const [totalCost, setTotalCost] = useState(0);
const [truckCount, setTruckCount] = useState(0); const [truckCount, setTruckCount] = useState(0);
const [truckName, settruckName] = useState(""); const [truckName, settruckName] = useState("");
const navigate = useNavigate();
useEffect(() => { useEffect(() => {
fetchDeliveryAccessories(); fetchDeliveryAccessories();
@ -54,9 +56,6 @@ const DeliveryOrderDetails = () => {
longitude: accessory.longitude, longitude: accessory.longitude,
}; };
} else { } else {
if (error.response && error.response.status === 401) {
navigate("/login");
}
const coords = await getCoordinates(accessory.city_name); const coords = await getCoordinates(accessory.city_name);
return { city: accessory.city_name, ...coords }; return { city: accessory.city_name, ...coords };
} }
@ -82,6 +81,9 @@ const DeliveryOrderDetails = () => {
} }
} }
} catch (error) { } catch (error) {
if (error.response && error.response.status === 401) {
navigate("/login");
}
console.error("Ошибка при загрузке доставок:", error); console.error("Ошибка при загрузке доставок:", error);
} finally { } finally {
setLoading(false); setLoading(false);