import { Activity, Box, CircuitBoard, Cog, Gauge, LayoutList, Loader2, Network, TerminalSquare } from 'lucide-react'; import type { LucideIcon } from 'lucide-react'; import React, { memo, useCallback, useEffect, useLayoutEffect, useMemo, useState } from 'react'; import { useI18n } from '../../application/i18n/I18nProvider'; import { SYSTEM_MANAGER_TAB_LAYOUT_DEFAULTS } from '../../application/state/systemManagerTabLayout'; import { useSystemManagerBackend } from '../../application/state/useSystemManagerBackend'; import { useToolbarItemLayout } from '../../application/state/useToolbarItemLayout'; import type { TerminalSettings } from '../../domain/models'; import type { Host } from '../../domain/models/connection'; import type { SystemManagerSubTab } from '../../domain/systemManager/types'; import { resolveCapabilityPanelState } from '../../domain/systemManagerPanelState'; import { allowSystemManagerMutations, buildSystemManagerTabs, shouldCollectServerStats, } from '../../domain/systemManager/systemTarget'; import { partitionToolbarItems } from '../../domain/toolbarItemLayout'; import { STORAGE_KEY_SYSTEM_MANAGER_TAB_LAYOUT } from '../../infrastructure/config/storageKeys'; import type { Snippet, TerminalSession } from '../../types'; import { cn } from '../../lib/utils'; import { DockerManagerTab } from './DockerManagerTab'; import { GpuManagerTab } from './GpuManagerTab'; import { PortsManagerTab } from './PortsManagerTab'; import { ProcessManagerTab } from './ProcessManagerTab'; import { ServicesManagerTab } from './ServicesManagerTab'; import { SystemOverviewTab } from './SystemOverviewTab'; import { TmuxManagerTab } from './TmuxManagerTab'; import { WorkspaceSidebarHostHeader } from '../terminalLayer/WorkspaceSidebarHostHeader'; import { TERMINAL_SIDE_PANEL_INNER_HEADER_CLASS } from '../terminalLayer/terminalSidePanelChrome'; import { SystemPanelEmpty, SystemPanelShell } from './SystemPanelUi'; import { useSessionCapabilities } from '../../application/state/useSystemManager'; import { ToolbarCustomizeContextMenu, ToolbarOverflowMenu, type ToolbarCustomizeItem, } from '../ui/toolbar-item-layout'; import { Tooltip, TooltipContent, TooltipTrigger } from '../ui/tooltip'; import { applyHorizontalWheelToScrollContainer, measureSystemManagerTabBarLabeledFit, resolveSystemManagerTabBarIconOnly, scrollSystemManagerTabIntoView, SYSTEM_MANAGER_TAB_BAR_ICON_ONLY_CLASS, SYSTEM_MANAGER_TAB_BAR_SETTLE_MS, } from './systemManagerTabBarScroll'; const SystemPanelChecking = memo(function SystemPanelChecking({ message, }: { message: string; }) { return (