Renders the appropriate logo icon for a given MSP tool type, mapping each `ToolType` to its corresponding icon component. ## Key Components ### `ToolIcon` (`React.FC`) The primary exported component. Looks up the correct icon renderer from `toolIconMap` using the provided `toolType` and delegates rendering with `size` and `className`. ### `toolIconMap` Internal mapping of every `ToolType` value to a render function returning a `React.ReactNode`. All OpenFrame variants share `renderOpenFrameLogo`; `SYSTEM` renders `null`. ### `renderOpenFrameLogo` Private helper that renders the `OpenFrameLogo` with themed CSS variable colors (`--color-accent-primary`, `--color-text-primary`). ## Supported Tool Types | Tool Type | Icon Component | |---|---| | `FLEET_MDM` | `FleetMdmLogoGreyIcon` | | `MESHCENTRAL` | `MeshcentralLogoGreyIcon` | | `OPENFRAME` / `OPENFRAME_CHAT` / `OPENFRAME_CLIENT` / `OPENFRAME_RMM` | `OpenFrameLogo` | | `AUTHENTIK` | `AuthentikLogoGreyIcon` | | `OSQUERY` | `OsqueryLogoGreyIcon` | | `SYSTEM` | *(none — renders `null`)* | ## Props ```typescript interface ToolIconProps { toolType: ToolType; // Required — determines which icon to render size?: number; // Icon size in px (default: 16) className?: string; // Optional CSS class override } ``` ## Usage Example ```typescript import { ToolIcon } from "./tool-icon"; import { ToolTypeValues } from "../types/tool.types"; // Render a Fleet MDM icon at 24px // Render an OpenFrame icon with a custom class // SYSTEM type renders nothing // → null ```