import React from "react";
import { Navigate } from "react-router-dom";
import { DriverDeliveryPlanner } from "../components/driver/DriverDeliveryPlanner";
import { LogisticsReadinessBoard } from "../components/logistics/LogisticsReadinessBoard";
import { OrderDetailPanel } from "../components/orders/OrderDetailPanel";
import { OrdersTable } from "../components/orders/OrdersTable";
import { Button } from "../components/UI/Button";
import { Modal } from "../components/UI/Modal";
import { Panel } from "../components/UI/Panel";
import { ProductGuidePanel } from "../components/dashboard/ProductGuidePanel";
import { useAuth } from "../context/AuthContext";
import { useOrderGroups } from "../hooks/useOrderGroups";
import { AppShell } from "../layouts/AppShell";
const ROLE_SECTION = {
manager: {
key: "orders",
label: "Группы",
description: "Реестр групп доставки, поиск и просмотр карточки.",
},
logistician: {
key: "logistics",
label: "Логистика",
description: "Группы доставки по готовности к уведомлению.",
},
driver: {
key: "deliveries",
label: "Мои доставки",
description: "Группы доставки по датам и статусам.",
},
};
export const DashboardPage = () => {
const { user, signOut } = useAuth();
const userRole = user?.role;
const section = ROLE_SECTION[userRole] || ROLE_SECTION.manager;
const [activeSection, setActiveSection] = React.useState(section.key);
const [isGroupModalOpen, setIsGroupModalOpen] = React.useState(false);
const {
orderGroups,
allOrderGroups,
filteredOrderGroups,
selectedOrderGroup,
selectedOrderGroupId,
setSelectedOrderGroupId,
filters,
setFilters,
statusOptions,
isLoading,
loadError,
} = useOrderGroups();
React.useEffect(() => {
setActiveSection(section.key);
}, [section.key]);
const openGroupModal = React.useCallback((groupId) => {
setSelectedOrderGroupId(groupId);
setIsGroupModalOpen(true);
}, []);
const navItems = [
{
key: section.key,
label: section.label,
description: section.description,
badge: String(allOrderGroups.length || orderGroups.length || 0),
},
];
const guideSectionMeta = {
key: "guide",
label: "Справка",
description: "Карта продукта, роли, сценарии и частые вопросы.",
};
const activeSectionMeta = activeSection === "guide" ? guideSectionMeta : navItems[0];
const isGuideOpen = activeSection === "guide";
if (!user) {
return
Все данные из таблицы `order_groups`.