| 
									
										
										
										
											2023-05-15 08:51:32 +08:00
										 |  |  | 'use client' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import { createContext, useContext } from 'use-context-selector' | 
					
						
							|  |  |  | import type { DataSet } from '@/models/datasets' | 
					
						
							| 
									
										
										
										
											2025-04-06 17:56:08 +08:00
										 |  |  | import { noop } from 'lodash-es' | 
					
						
							| 
									
										
										
										
											2023-05-15 08:51:32 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | export type DatasetsContextValue = { | 
					
						
							|  |  |  |   datasets: DataSet[] | 
					
						
							|  |  |  |   mutateDatasets: () => void | 
					
						
							|  |  |  |   currentDataset?: DataSet | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const DatasetsContext = createContext<DatasetsContextValue>({ | 
					
						
							|  |  |  |   datasets: [], | 
					
						
							| 
									
										
										
										
											2025-04-06 17:56:08 +08:00
										 |  |  |   mutateDatasets: noop, | 
					
						
							| 
									
										
										
										
											2023-09-11 09:30:17 +08:00
										 |  |  |   currentDataset: undefined, | 
					
						
							| 
									
										
										
										
											2023-05-15 08:51:32 +08:00
										 |  |  | }) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export const useDatasetsContext = () => useContext(DatasetsContext) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export default DatasetsContext |