| 
									
										
										
										
											2025-05-07 11:30:13 +08:00
										 |  |  | import { useCallback, useMemo, useState } from 'react' | 
					
						
							| 
									
										
										
										
											2025-05-03 17:16:00 +08:00
										 |  |  | import Tab from './tab' | 
					
						
							|  |  |  | import BuiltInPipelineList from './built-in-pipeline-list' | 
					
						
							|  |  |  | import CustomizedList from './customized-list' | 
					
						
							| 
									
										
										
										
											2025-05-07 11:30:13 +08:00
										 |  |  | import { useTranslation } from 'react-i18next' | 
					
						
							| 
									
										
										
										
											2025-05-03 17:16:00 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | const List = () => { | 
					
						
							| 
									
										
										
										
											2025-05-07 11:30:13 +08:00
										 |  |  |   const { t } = useTranslation() | 
					
						
							| 
									
										
										
										
											2025-05-03 17:16:00 +08:00
										 |  |  |   const [activeTab, setActiveTab] = useState('built-in') | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-05-07 11:30:13 +08:00
										 |  |  |   const options = useMemo(() => { | 
					
						
							|  |  |  |     return [ | 
					
						
							|  |  |  |       { value: 'built-in', label: t('datasetPipeline.tabs.builtInPipeline') }, | 
					
						
							|  |  |  |       { value: 'customized', label: t('datasetPipeline.tabs.customized') }, | 
					
						
							|  |  |  |     ] | 
					
						
							|  |  |  |   }, [t]) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-05-03 17:16:00 +08:00
										 |  |  |   const handleTabChange = useCallback((tab: string) => { | 
					
						
							|  |  |  |     setActiveTab(tab) | 
					
						
							|  |  |  |   }, []) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   return ( | 
					
						
							|  |  |  |     <div className='flex grow flex-col'> | 
					
						
							|  |  |  |       <Tab | 
					
						
							|  |  |  |         activeTab={activeTab} | 
					
						
							|  |  |  |         handleTabChange={handleTabChange} | 
					
						
							| 
									
										
										
										
											2025-05-07 11:30:13 +08:00
										 |  |  |         options={options} | 
					
						
							| 
									
										
										
										
											2025-05-03 17:16:00 +08:00
										 |  |  |       /> | 
					
						
							|  |  |  |       { | 
					
						
							|  |  |  |         activeTab === 'built-in' && <BuiltInPipelineList /> | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |       { | 
					
						
							|  |  |  |         activeTab === 'customized' && <CustomizedList /> | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     </div> | 
					
						
							|  |  |  |   ) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export default List |