import { useMemo, useState, } from 'react' import { useTranslation } from 'react-i18next' import { TabsEnum, ToolTypeEnum, } from './types' export const useTabs = (noBlocks?: boolean, noSources?: boolean) => { const { t } = useTranslation() const tabs = useMemo(() => { return [ ...( noBlocks ? [] : [ { key: TabsEnum.Blocks, name: t('workflow.tabs.blocks'), }, ] ), ...( noSources ? [] : [ { key: TabsEnum.Sources, name: t('workflow.tabs.sources'), }, ] ), { key: TabsEnum.Tools, name: t('workflow.tabs.tools'), }, ] }, [t, noBlocks, noSources]) const initialTab = useMemo(() => { if (noBlocks) return TabsEnum.Sources return TabsEnum.Blocks }, [noBlocks]) const [activeTab, setActiveTab] = useState(initialTab) return { tabs, activeTab, setActiveTab, } } export const useToolTabs = () => { const { t } = useTranslation() return [ { key: ToolTypeEnum.All, name: t('workflow.tabs.allTool'), }, { key: ToolTypeEnum.BuiltIn, name: t('workflow.tabs.plugin'), }, { key: ToolTypeEnum.Custom, name: t('workflow.tabs.customTool'), }, { key: ToolTypeEnum.Workflow, name: t('workflow.tabs.workflowTool'), }, ] }