import type { FC, ReactNode } from 'react' import { useMemo } from 'react' import { useTranslation } from 'react-i18next' import { useFeatures } from '@/app/components/base/features/hooks' import { cn } from '@/utils/classnames' import { InspectTab } from './types' const TAB_ITEMS = [ { value: InspectTab.Variables, labelKey: 'debug.variableInspect.tab.variables' as const }, { value: InspectTab.Artifacts, labelKey: 'debug.variableInspect.tab.artifacts' as const, sandboxOnly: true as const }, ] type TabHeaderProps = { activeTab: InspectTab onTabChange: (tab: InspectTab) => void children?: ReactNode } const TabHeader: FC = ({ activeTab, onTabChange, children, }) => { const { t } = useTranslation('workflow') const sandboxEnabled = useFeatures(s => s.features.sandbox?.enabled) ?? false const visibleTabs = useMemo( () => TAB_ITEMS.filter(tab => !tab.sandboxOnly || sandboxEnabled), [sandboxEnabled], ) return (
{visibleTabs.map(tab => ( ))}
{children}
) } export default TabHeader