import { IconUsersGroup } from "@tabler/icons-react"; import { BookOpen, File, FileText, Globe, Microscope, Search, Sparkles, Telescope, Webhook, } from "lucide-react"; import Image from "next/image"; import { EnumConnectorName } from "./connector"; export const getConnectorIcon = (connectorType: EnumConnectorName | string, className?: string) => { const iconProps = { className: className || "h-4 w-4" }; const imgProps = { className: `${className || "h-5 w-5"} select-none pointer-events-none`, width: 20, height: 20, draggable: false as const, }; switch (connectorType) { case EnumConnectorName.LINKUP_API: return Linkup; case EnumConnectorName.LINEAR_CONNECTOR: return Linear; case EnumConnectorName.GITHUB_CONNECTOR: return GitHub; case EnumConnectorName.TAVILY_API: return Tavily; case EnumConnectorName.SEARXNG_API: return SearXNG; case EnumConnectorName.BAIDU_SEARCH_API: return Baidu; case EnumConnectorName.SLACK_CONNECTOR: return Slack; case EnumConnectorName.TEAMS_CONNECTOR: return Microsoft Teams; case EnumConnectorName.NOTION_CONNECTOR: return Notion; case EnumConnectorName.DISCORD_CONNECTOR: return Discord; case EnumConnectorName.JIRA_CONNECTOR: return Jira; case EnumConnectorName.GOOGLE_CALENDAR_CONNECTOR: return Google Calendar; case EnumConnectorName.GOOGLE_GMAIL_CONNECTOR: return Gmail; case EnumConnectorName.GOOGLE_DRIVE_CONNECTOR: return Google Drive; case EnumConnectorName.AIRTABLE_CONNECTOR: return Airtable; case EnumConnectorName.CONFLUENCE_CONNECTOR: return Confluence; case EnumConnectorName.BOOKSTACK_CONNECTOR: return BookStack; case EnumConnectorName.CLICKUP_CONNECTOR: return ClickUp; case EnumConnectorName.LUMA_CONNECTOR: return Luma; case EnumConnectorName.ELASTICSEARCH_CONNECTOR: return Elasticsearch; case EnumConnectorName.WEBCRAWLER_CONNECTOR: return ; case EnumConnectorName.YOUTUBE_CONNECTOR: return YouTube; case EnumConnectorName.CIRCLEBACK_CONNECTOR: return Circleback; case EnumConnectorName.MCP_CONNECTOR: return MCP; case EnumConnectorName.OBSIDIAN_CONNECTOR: return Obsidian; case EnumConnectorName.COMPOSIO_GOOGLE_DRIVE_CONNECTOR: return Google Drive; case EnumConnectorName.COMPOSIO_GMAIL_CONNECTOR: return Gmail; case EnumConnectorName.COMPOSIO_GOOGLE_CALENDAR_CONNECTOR: return Google Calendar; // Additional cases for non-enum connector types case "YOUTUBE_CONNECTOR": return YouTube; case "CIRCLEBACK": return ; case "CRAWLED_URL": return ; case "YOUTUBE_VIDEO": return YouTube; case "MICROSOFT_TEAMS": case "ms-teams": return Microsoft Teams; case "ZOOM": case "zoom": return Zoom; case "FILE": return ; case "GOOGLE_DRIVE_FILE": return Google Drive; case "COMPOSIO_GOOGLE_DRIVE_CONNECTOR": return Google Drive; case "COMPOSIO_GMAIL_CONNECTOR": return Gmail; case "COMPOSIO_GOOGLE_CALENDAR_CONNECTOR": return Google Calendar; case "NOTE": return ; case "EXTENSION": return ; case "SURFSENSE_DOCS": return ; case "DEEP": return ; case "DEEPER": return ; case "DEEPEST": return ; default: return ; } };