nitro-react/src/components/camera/CameraWidgetContext.tsx

25 lines
860 B
TypeScript
Raw Normal View History

2022-01-11 06:54:24 +01:00
import { createContext, Dispatch, FC, ProviderProps, SetStateAction, useContext } from 'react';
2022-02-02 21:56:04 +01:00
import { CameraPicture } from './common/CameraPicture';
2022-01-11 06:54:24 +01:00
export interface ICameraWidgetContext
{
cameraRoll: CameraPicture[],
setCameraRoll: Dispatch<SetStateAction<CameraPicture[]>>;
selectedPictureIndex: number,
setSelectedPictureIndex: Dispatch<SetStateAction<number>>;
}
const CameraWidgetContext = createContext<ICameraWidgetContext>({
cameraRoll: null,
setCameraRoll: null,
selectedPictureIndex: null,
setSelectedPictureIndex: null
});
export const CameraWidgetContextProvider: FC<ProviderProps<ICameraWidgetContext>> = props =>
{
return <CameraWidgetContext.Provider value={ props.value }>{ props.children }</CameraWidgetContext.Provider>
}
export const useCameraWidgetContext = () => useContext(CameraWidgetContext);