mirror of
https://github.com/billsonnn/nitro-react.git
synced 2024-10-23 19:33:04 +02:00
25 lines
861 B
TypeScript
25 lines
861 B
TypeScript
|
import { createContext, Dispatch, FC, ProviderProps, SetStateAction, useContext } from 'react';
|
||
|
import { CameraPicture } from '../common/CameraPicture';
|
||
|
|
||
|
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);
|