2024-12-26 12:01:51 +08:00
|
|
|
import { createContext, useContext, useContextSelector } from 'use-context-selector'
|
2023-06-01 23:19:36 +08:00
|
|
|
import type { DataSet } from '@/models/datasets'
|
2024-12-26 12:01:51 +08:00
|
|
|
import type { IndexingType } from '@/app/components/datasets/create/step-two'
|
2025-06-18 15:05:21 +08:00
|
|
|
import type { QueryObserverResult, RefetchOptions } from '@tanstack/react-query'
|
2023-05-15 08:51:32 +08:00
|
|
|
|
2024-12-26 12:01:51 +08:00
|
|
|
type DatasetDetailContextValue = {
|
|
|
|
indexingTechnique?: IndexingType
|
|
|
|
dataset?: DataSet
|
2025-06-18 15:05:21 +08:00
|
|
|
mutateDatasetRes?: (options?: RefetchOptions | undefined) => Promise<QueryObserverResult<DataSet, Error>>
|
2024-12-26 12:01:51 +08:00
|
|
|
}
|
|
|
|
const DatasetDetailContext = createContext<DatasetDetailContextValue>({})
|
2023-05-15 08:51:32 +08:00
|
|
|
|
2023-06-16 21:47:51 +08:00
|
|
|
export const useDatasetDetailContext = () => useContext(DatasetDetailContext)
|
|
|
|
|
2025-05-08 13:48:14 +08:00
|
|
|
export const useDatasetDetailContextWithSelector = <T>(selector: (value: DatasetDetailContextValue) => T): T => {
|
2024-12-26 12:01:51 +08:00
|
|
|
return useContextSelector(DatasetDetailContext, selector)
|
|
|
|
}
|
2023-05-15 08:51:32 +08:00
|
|
|
export default DatasetDetailContext
|