import { useCallback } from "react"; import { useLocation } from "wouter"; import { queryClient } from "@/lib/queryClient"; import { Sidebar, SidebarContent, SidebarGroup, SidebarGroupContent, SidebarGroupLabel, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarHeader, } from "@/components/ui/sidebar"; import { LayoutDashboard, TrendingUp, Wallet, AlertCircle, Settings, Database, Handshake, Calculator, CalendarRange, Banknote, ShieldCheck, Grid3X3 } from "lucide-react"; const settingsItems = [ { title: "Настройки", url: "/settings", icon: Settings }, ]; export function AppSidebar() { const [location] = useLocation(); const prefetch = useCallback((keys: string[]) => { keys.forEach(key => { queryClient.prefetchQuery({ queryKey: [key] }); }); }, []); const isIncomeSection = location.startsWith("/income"); const isExpenseSection = location.startsWith("/expenses"); return (
ОмегаПром
Финансы
Аналитика prefetch(["/api/di2/dashboard"])}> Дашборд prefetch(["/api/income/tree-summary"])}> Доходы Прибыльность prefetch(["/api/expense-categories"])}> Расходы prefetch(["/api/debt/filters", "/api/debt/analytics"])}> Дебиторская задолженность Расчеты Планирование Зарплата Аудит данных Тепловая карта Настройки {settingsItems.map((item) => ( {item.title} ))}
); }