import ConnectorImages from "@/components/DataConnectorOption/media"; import { MagnifyingGlass } from "@phosphor-icons/react"; import { useTranslation } from "react-i18next"; import GithubOptions from "./Connectors/Github"; import GitlabOptions from "./Connectors/Gitlab"; import YoutubeOptions from "./Connectors/Youtube"; import ConfluenceOptions from "./Connectors/Confluence"; import DrupalWikiOptions from "./Connectors/DrupalWiki"; import { useState } from "react"; import ConnectorOption from "./ConnectorOption"; import WebsiteDepthOptions from "./Connectors/WebsiteDepth"; import ObsidianOptions from "./Connectors/Obsidian"; export const getDataConnectors = (t) => ({ github: { name: t("connectors.github.name"), image: ConnectorImages.github, description: t("connectors.github.description"), options: , }, gitlab: { name: t("connectors.gitlab.name"), image: ConnectorImages.gitlab, description: t("connectors.gitlab.description"), options: , }, "youtube-transcript": { name: t("connectors.youtube.name"), image: ConnectorImages.youtube, description: t("connectors.youtube.description"), options: , }, "website-depth": { name: t("connectors.website-depth.name"), image: ConnectorImages.websiteDepth, description: t("connectors.website-depth.description"), options: , }, confluence: { name: t("connectors.confluence.name"), image: ConnectorImages.confluence, description: t("connectors.confluence.description"), options: , }, drupalwiki: { name: "Drupal Wiki", image: ConnectorImages.drupalwiki, description: "Import Drupal Wiki spaces in a single click.", options: , }, obsidian: { name: "Obsidian", image: ConnectorImages.obsidian, description: "Import Obsidian vault in a single click.", options: , }, }); export default function DataConnectors() { const { t } = useTranslation(); const [selectedConnector, setSelectedConnector] = useState("github"); const [searchQuery, setSearchQuery] = useState(""); const DATA_CONNECTORS = getDataConnectors(t); const filteredConnectors = Object.keys(DATA_CONNECTORS).filter((slug) => DATA_CONNECTORS[slug].name.toLowerCase().includes(searchQuery.toLowerCase()) ); return (
setSearchQuery(e.target.value)} />
{filteredConnectors.length > 0 ? ( filteredConnectors.map((slug, index) => ( )) ) : (
{t("connectors.no-connectors")}
)}
{DATA_CONNECTORS[selectedConnector].options}
); }