import { IconLinkPlus, 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", width: 20, height: 20 }; switch (connectorType) { case EnumConnectorName.LINKUP_API: return ; 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 ; // 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 ; case "NOTE": return ; case "EXTENSION": return ; case "SURFSENSE_DOCS": return ; case "DEEP": return ; case "DEEPER": return ; case "DEEPEST": return ; default: return ; } };