import React, {useState} from "react"; import {HostManagerHostViewer} from "@/ui/Apps/Host Manager/HostManagerHostViewer.tsx" import {Tabs, TabsContent, TabsList, TabsTrigger} from "@/components/ui/tabs.tsx"; import {Separator} from "@/components/ui/separator.tsx"; import {HostManagerHostEditor} from "@/ui/Apps/Host Manager/HostManagerHostEditor.tsx"; import {useSidebar} from "@/components/ui/sidebar.tsx"; interface HostManagerProps { onSelectView: (view: string) => void; isTopbarOpen?: boolean; } interface SSHHost { id: number; name: string; ip: string; port: number; username: string; folder: string; tags: string[]; pin: boolean; authType: string; password?: string; key?: string; keyPassword?: string; keyType?: string; enableTerminal: boolean; enableTunnel: boolean; enableFileManager: boolean; defaultPath: string; tunnelConnections: any[]; createdAt: string; updatedAt: string; } export function HostManager({onSelectView, isTopbarOpen}: HostManagerProps): React.ReactElement { const [activeTab, setActiveTab] = useState("host_viewer"); const [editingHost, setEditingHost] = useState(null); const {state: sidebarState} = useSidebar(); const handleEditHost = (host: SSHHost) => { setEditingHost(host); setActiveTab("add_host"); }; const handleFormSubmit = () => { setEditingHost(null); setActiveTab("host_viewer"); }; const handleTabChange = (value: string) => { setActiveTab(value); if (value === "host_viewer") { setEditingHost(null); } }; const topMarginPx = isTopbarOpen ? 74 : 26; const leftMarginPx = sidebarState === 'collapsed' ? 26 : 8; const bottomMarginPx = 8; return (
Host Viewer {editingHost ? "Edit Host" : "Add Host"}
) }