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,16 +25,33 @@ const Header = () => {
Заказы Заказы
</Link> </Link>
</li> </li>
{role === "admin" && (
<>
<li className="nav-item"> <li className="nav-item">
<Link className="nav-link" to="/accessories"> <Link className="nav-link" to="/accessories">
Компоненты Компоненты
</Link> </Link>
</li> </li>
<li className="nav-item">
<Link className="nav-link" to="/users">
Пользователи
</Link>
</li>
<li className="nav-item"> <li className="nav-item">
<Link className="nav-link" to="/cities"> <Link className="nav-link" to="/cities">
Города Города
</Link> </Link>
</li> </li>
<li className="nav-item">
<Link className="nav-link" to="/trucks">
Грузовики
</Link>
</li>
<li className="nav-item">
<Link className="nav-link" to="/statuses">
Статусы
</Link>
</li>
<li className="nav-item"> <li className="nav-item">
<Link className="nav-link" to="/federal_districts"> <Link className="nav-link" to="/federal_districts">
Федеральные округа Федеральные округа
@ -45,21 +62,8 @@ const Header = () => {
Роли Роли
</Link> </Link>
</li> </li>
<li className="nav-item"> </>
<Link className="nav-link" to="/statuses"> )}
Статусы
</Link>
</li>
<li className="nav-item">
<Link className="nav-link" to="/trucks">
Грузовики
</Link>
</li>
<li className="nav-item">
<Link className="nav-link" to="/users">
Пользователи
</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);