import type { FC } from 'react' import { memo } from 'react' import { useAllBuiltInTools, useAllCustomTools, useAllWorkflowTools } from '@/service/use-tools' import type { BlockEnum, NodeDefault, OnSelectBlock, ToolWithProvider, } from '../types' import { TabsEnum } from './types' import Blocks from './blocks' import AllTools from './all-tools' import DataSources from './data-sources' export type TabsProps = { activeTab: TabsEnum searchText: string tags: string[] onSelect: OnSelectBlock availableBlocksTypes?: BlockEnum[] blocks: NodeDefault[] dataSources?: ToolWithProvider[] } const Tabs: FC = ({ activeTab, tags, searchText, onSelect, availableBlocksTypes, blocks, dataSources = [], }) => { const { data: buildInTools } = useAllBuiltInTools() const { data: customTools } = useAllCustomTools() const { data: workflowTools } = useAllWorkflowTools() return (
e.stopPropagation()}> { activeTab === TabsEnum.Blocks && !!blocks.length && ( ) } { activeTab === TabsEnum.Sources && !!dataSources.length && ( ) } { activeTab === TabsEnum.Tools && ( ) }
) } export default memo(Tabs)