24 lines
658 B
TypeScript
24 lines
658 B
TypeScript
import {useCallback} from 'react';
|
|
import {useCameraPermission} from 'react-native-vision-camera';
|
|
|
|
export interface PPGCameraPermissionController {
|
|
hasCameraPermission: boolean;
|
|
requestCameraPermission: () => Promise<boolean>;
|
|
}
|
|
|
|
export function usePPGCamera(): PPGCameraPermissionController {
|
|
const {hasPermission, requestPermission} = useCameraPermission();
|
|
|
|
const requestCameraPermission = useCallback(async (): Promise<boolean> => {
|
|
if (hasPermission) {
|
|
return true;
|
|
}
|
|
return requestPermission();
|
|
}, [hasPermission, requestPermission]);
|
|
|
|
return {
|
|
hasCameraPermission: hasPermission,
|
|
requestCameraPermission,
|
|
};
|
|
}
|