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}
);
}