import React, { useCallback, useState } from 'react'; import { LabelsList } from './LabelsList'; import { LabelCategoriesView } from './LabelCategoriesView'; import { LabelTypesView } from './LabelTypesView'; import { LabelTemplatesView } from './LabelTemplatesView'; import { MultipleOptionsView } from './MultipleOptionsView'; type Tab = 'Labels' | 'Label Categories' | 'Label Types' | 'Label Templates' | 'Multiple Option Sets'; interface LabelsViewProps { currentView?: string; onViewChange?: (view: string) => void; /** 标签模板新增/编辑时 true,用于布局层隐藏侧栏与顶栏 */ onLabelTemplateEditorLayoutOverlay?: (fullscreen: boolean) => void; } export function LabelsView({ currentView = 'Labels', onViewChange, onLabelTemplateEditorLayoutOverlay, }: LabelsViewProps) { const [templateEditorHidesTabs, setTemplateEditorHidesTabs] = useState(false); const handleTemplateEditorOverlay = useCallback( (fullscreen: boolean) => { setTemplateEditorHidesTabs(fullscreen); onLabelTemplateEditorLayoutOverlay?.(fullscreen); }, [onLabelTemplateEditorLayoutOverlay], ); const tabs: Tab[] = [ 'Labels', 'Label Categories', 'Label Types', 'Label Templates', 'Multiple Option Sets' ]; const handleTabClick = (tab: Tab) => { if (onViewChange) { onViewChange(tab); } }; return (