import React, { useState } from 'react'; import { Search, FolderOpen } from 'lucide-react'; import { kaliTools } from '../data/tools'; interface SidebarProps { selectedTool: string | null; onSelectTool: (toolName: string) => void; isOpen: boolean; } const Sidebar: React.FC = ({ selectedTool, onSelectTool, isOpen }) => { const [searchTerm, setSearchTerm] = useState(''); const categories = Array.from(new Set(kaliTools.map(tool => tool.category))); const filteredTools = kaliTools.filter(tool => tool.name.toLowerCase().includes(searchTerm.toLowerCase()) || tool.category.toLowerCase().includes(searchTerm.toLowerCase()) ); const filteredCategories = categories.filter(category => filteredTools.some(tool => tool.category === category) ); return (
setSearchTerm(e.target.value)} className="w-full bg-dark-300 rounded-md py-2 pl-10 pr-4 text-sm focus:outline-none focus:ring-2 focus:ring-primary text-nord-4 placeholder-primary/50 transition-colors duration-200 border border-dark-400" />
{filteredCategories.map(category => (

{category}

    {filteredTools .filter(tool => tool.category === category) .map(tool => (
  • ))}
))}
); } export default Sidebar;