"use client"; import React, { useState } from "react"; import { Search, Plus, Minus, GitBranch } from "lucide-react"; import { Input } from "./ui/Input"; import { appsMetadata as apps } from "../constants/appsMetadata"; const tools = [ // { id: "t1", name: "HTTP Request", icon: "H", iconBg: "bg-slate-700" }, // { id: "t2", name: "Code", icon: "<>", iconBg: "bg-emerald-600" }, { id: "t3", name: "Webhook", icon: "W", iconBg: "bg-violet-600" }, // { id: "t4", name: "Schedule", icon: "S", iconBg: "bg-amber-500" }, // { id: "t5", name: "Filter", icon: "F", iconBg: "bg-cyan-600" }, // { id: "t6", name: "Merge", icon: "M", iconBg: "bg-pink-500" }, // { id: "t7", name: "Split", icon: "Sp", iconBg: "bg-teal-500" }, // { id: "t8", name: "Wait", icon: "W", iconBg: "bg-gray-500" }, ]; export function Sidebar({ onZoomIn, onZoomOut, onAddRouter, onAddNode }) { const [search, setSearch] = useState(""); const [activeTab, setActiveTab] = useState("apps"); const [draggedItem, setDraggedItem] = useState(null); const items = activeTab === "apps" ? apps : tools; const filteredItems = items.filter((item) => item.name.toLowerCase().includes(search.toLowerCase()) ); const handleDragStart = (e, app) => { setDraggedItem(app.id); e.dataTransfer.setData("application/json", JSON.stringify(app)); e.dataTransfer.effectAllowed = "copy"; }; const handleDragEnd = () => { setDraggedItem(null); }; return (