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);
|