import React, { useMemo, useState } from "react"; import { FaBars, FaMicrochip, FaTimes, FaSpinner, FaCopy, FaCheck } from "react-icons/fa"; import { useAgentStore } from "@/app/providers/layout/store/agent.store"; import { useAuthStore } from "@/modules/auth/store/useAuthStore"; interface SidebarProps { isOpen?: boolean; onToggle?: () => void; } export const Sidebar: React.FC = ({ isOpen = true, onToggle }) => { const { agents, isLoading, error, fetchAgents } = useAgentStore(); const { token } = useAuthStore(); const [searchQuery, setSearchQuery] = useState(""); const [copied, setCopied] = useState(false); const [showTokenModal, setShowTokenModal] = useState(false); const filteredAgents = useMemo(() => { if (!searchQuery) return agents; const query = searchQuery.toLowerCase(); return agents.filter( (agent) => agent.name.toLowerCase().includes(query) || agent.services.some((s) => s.name.toLowerCase().includes(query)) ); }, [agents, searchQuery]); const handleCopyToken = () => { if (token) { navigator.clipboard.writeText(token); setCopied(true); setTimeout(() => setCopied(false), 2000); } }; if (!isOpen) { return ( ); } return ( <> {/* Overlay для мобильных */}
{/* Modal токена */} {showTokenModal && (
setShowTokenModal(false)} >
e.stopPropagation()} >

Ваш токен доступа

{token || "Токен не найден"} {token && ( )}
)} ); };