Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion wasm_module/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,5 @@ package-lock.json
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.idea
.idea
.nvmrc
4 changes: 4 additions & 0 deletions wasm_module/.prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
build
coverage
dist
public
4 changes: 3 additions & 1 deletion wasm_module/.prettierrc
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
{
"printWidth": 120
"printWidth": 120,
"semi": false,
"arrowParens": "avoid"
}
8 changes: 6 additions & 2 deletions wasm_module/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@
"prebuild": "cp -R ./node_modules/@privateid/cryptonets-web-sdk-alpha/wasm public/ && cp -R ./node_modules/@privateid/cryptonets-web-sdk-alpha/workers public/",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
"eject": "react-scripts eject",
"prettier": "prettier --write \"src/**/*.{js,jsx,json,css,scss}\""
},
"eslintConfig": {
"extends": [
Expand All @@ -47,5 +48,8 @@
"last 1 firefox version",
"last 1 safari version"
]
},
"devDependencies": {
"prettier": "^3.5.3"
}
}
}
39 changes: 16 additions & 23 deletions wasm_module/src/context/DebugContext.jsx
Original file line number Diff line number Diff line change
@@ -1,33 +1,26 @@
import React, { createContext, useMemo, useState } from "react"


export const DebugContext = createContext({
functionLoop: true,
setFuctionLoop: (functionLoop)=>{},
showDebugOptions: false,
setShowDebugOptions: (showDebugOptions)=>{}
functionLoop: true,
setFuctionLoop: functionLoop => {},
showDebugOptions: false,
setShowDebugOptions: showDebugOptions => {},
})

const DebugContextProvider = ({ children }) => {
const [functionLoop, setFuctionLoop] = useState(true)
const [showDebugOptions, setShowDebugOptions] = useState(false)

const DebugContextProvider = ({children})=>{

const [functionLoop, setFuctionLoop] = useState(true);
const [showDebugOptions, setShowDebugOptions] = useState(false);

const values = {
functionLoop,
setFuctionLoop,
showDebugOptions,
setShowDebugOptions
}
const values = {
functionLoop,
setFuctionLoop,
showDebugOptions,
setShowDebugOptions,
}

const memoizedValue = useMemo(()=>values,[values])
const memoizedValue = useMemo(() => values, [values])

return(
<DebugContext.Provider value={memoizedValue}>
{children}
</DebugContext.Provider>
)
return <DebugContext.Provider value={memoizedValue}>{children}</DebugContext.Provider>
}

export default DebugContextProvider;
export default DebugContextProvider
22 changes: 11 additions & 11 deletions wasm_module/src/hooks/index.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
export { default as useCamera } from "./useCamera";
export { default as useContinuousPredict } from "./useContinuousAuthentication";
export { default as useDelete } from "./useDelete";
export { default as useEnroll } from "./useEnroll";
export { default as useIsValid } from "./useIsValid";
export { default as usePredict } from "./usePredict";
export { default as useScanBackDocument } from "./useScanBackDocument";
export { default as useScanFrontDocument } from "./useScanFrontDocument";
export { default as useWasm } from "./useWasm";
export { default as usePredictAge } from "./usePredictAge";
export { default as useScanFrontDocumentWithoutPredict } from "./useScanFrontDocument";
export { default as useCamera } from "./useCamera"
export { default as useContinuousPredict } from "./useContinuousAuthentication"
export { default as useDelete } from "./useDelete"
export { default as useEnroll } from "./useEnroll"
export { default as useIsValid } from "./useIsValid"
export { default as usePredict } from "./usePredict"
export { default as useScanBackDocument } from "./useScanBackDocument"
export { default as useScanFrontDocument } from "./useScanFrontDocument"
export { default as useWasm } from "./useWasm"
export { default as usePredictAge } from "./usePredictAge"
export { default as useScanFrontDocumentWithoutPredict } from "./useScanFrontDocument"
177 changes: 90 additions & 87 deletions wasm_module/src/hooks/useCamera.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/* eslint-disable */
import { useState } from "react";
import { openCamera } from "@privateid/cryptonets-web-sdk-alpha";
import { mapDevices } from "../utils";
import platform, { os } from "platform";
import { useState } from "react"
import { openCamera } from "@privateid/cryptonets-web-sdk-alpha"
import { mapDevices } from "../utils"
import platform, { os } from "platform"

const useCamera = (
element = "userVideo",
Expand All @@ -28,28 +28,27 @@ const useCamera = (
setCameraSettingsList,
) => {
// Initialize the state
const [ready, setReady] = useState(false);
const [devices, setDevices] = useState([]);
const [device, setDevice] = useState("");
const [faceMode, setFaceMode] = useState(false);
const [cameraFeatures, setCameraFeatures] = useState({});

const [ready, setReady] = useState(false)
const [devices, setDevices] = useState([])
const [device, setDevice] = useState("")
const [faceMode, setFaceMode] = useState(false)
const [cameraFeatures, setCameraFeatures] = useState({})

const isSurfaceProWindows = () => {
if(navigator.platform === "windows"){
return true;
if (navigator.platform === "windows") {
return true
}

if(navigator.oscpu === "win32"){
if (navigator.oscpu === "win32") {
return true
}
}

const init = async (requireHd = false) => {
if (ready) return;
if (ready) return

console.log("Platform: ", navigator.platform);
console.log("OS CPU: ", navigator.oscpu);
console.log("Platform: ", navigator.platform)
console.log("OS CPU: ", navigator.oscpu)
console.log("User Agent: ", navigator.userAgent)
try {
const {
Expand All @@ -60,48 +59,52 @@ const useCamera = (
stream,
errorMessage,
capabilities,
} = await openCamera({ videoElementId: element, requestFaceMode: isSurfaceProWindows()? "front" : "", canvasResolution:{
width:1440,
height:1440
} } );
setCameraFeatures({ settings, capabilities });
setFaceMode(faceMode);
console.log({ devices, faceMode, settings, status, stream, errorMessage, capabilities });
console.log("hasError??", { status, errorMessage });
} = await openCamera({
videoElementId: element,
requestFaceMode: isSurfaceProWindows() ? "front" : "",
canvasResolution: {
width: 1440,
height: 1440,
},
})
setCameraFeatures({ settings, capabilities })
setFaceMode(faceMode)
console.log({ devices, faceMode, settings, status, stream, errorMessage, capabilities })
console.log("hasError??", { status, errorMessage })
if (devices.length > 0) {
const options = devices.map(mapDevices);
setDevices(options);
setDevice(settings.deviceId);
const options = devices.map(mapDevices)
setDevices(options)
setDevice(settings.deviceId)
}
setReady(true);
console.log(platform.os.family);
const setCameraFocus = async () => {
try {
const video = document.getElementById("userVideo");
const mediaStream = video.srcObject;
const track = await mediaStream.getTracks()[0];
const capabilities = track.getCapabilities();
if (typeof capabilities.focusDistance !== "undefined") {
await track.applyConstraints({
advanced: [
{
focusMode: capabilities.focusMode.includes("continuous") ? "continuous" : "manual",
focusDistance: 50,
},
],
});
}
} catch (e) {
// eslint-disable-next-line no-console
console.log(e);
setReady(true)
console.log(platform.os.family)
const setCameraFocus = async () => {
try {
const video = document.getElementById("userVideo")
const mediaStream = video.srcObject
const track = await mediaStream.getTracks()[0]
const capabilities = track.getCapabilities()
if (typeof capabilities.focusDistance !== "undefined") {
await track.applyConstraints({
advanced: [
{
focusMode: capabilities.focusMode.includes("continuous") ? "continuous" : "manual",
focusDistance: 50,
},
],
})
}
};
await setCameraFocus();
} catch (e) {
// eslint-disable-next-line no-console
console.log(e)
}
}
await setCameraFocus()
//}
console.log("capabilities:", capabilities);
console.log("settings", settings);
console.log("capabilities:", capabilities)
console.log("settings", settings)
if (capabilities) {
let cameraSettings ={
let cameraSettings = {
focusDistance: false,
exposureTime: false,
sharpness: false,
Expand All @@ -110,49 +113,49 @@ const useCamera = (
contrast: false,
}
if (capabilities.focusDistance) {
setCameraFocusMin(capabilities.focusDistance.min);
setCameraFocusMax(capabilities.focusDistance.max);
setCameraFocusCurrent(settings.focusDistance);
cameraSettings = {...settings, focusDistance: true};
setCameraFocusMin(capabilities.focusDistance.min)
setCameraFocusMax(capabilities.focusDistance.max)
setCameraFocusCurrent(settings.focusDistance)
cameraSettings = { ...settings, focusDistance: true }
}
if (capabilities.exposureTime) {
setCameraExposureTimeMin(Math.ceil(capabilities.exposureTime.min));
setCameraExposureTimeMax(Math.ceil(capabilities.exposureTime.max));
setCameraExposureTimeCurrent(Math.ceil(settings.exposureTime));
cameraSettings = {...settings, exposureTime: true};
setCameraExposureTimeMin(Math.ceil(capabilities.exposureTime.min))
setCameraExposureTimeMax(Math.ceil(capabilities.exposureTime.max))
setCameraExposureTimeCurrent(Math.ceil(settings.exposureTime))
cameraSettings = { ...settings, exposureTime: true }
}
if (capabilities.sharpness){
setCameraSharpnessMin(Math.ceil(capabilities.sharpness.min));
setCameraSharpnessMax(Math.ceil(capabilities.sharpness.max));
setCameraSharpnessCurrent(Math.ceil(settings.sharpness));
cameraSettings = {...settings, sharpness: true};
if (capabilities.sharpness) {
setCameraSharpnessMin(Math.ceil(capabilities.sharpness.min))
setCameraSharpnessMax(Math.ceil(capabilities.sharpness.max))
setCameraSharpnessCurrent(Math.ceil(settings.sharpness))
cameraSettings = { ...settings, sharpness: true }
}
if (capabilities.brightness){
setCameraBrightnessMin(Math.ceil(capabilities.brightness.min));
setCameraBrightnessMax(Math.ceil(capabilities.brightness.max));
setCameraBrightnessCurrent(Math.ceil(settings.brightness));
cameraSettings = {...settings, brightness: true};
if (capabilities.brightness) {
setCameraBrightnessMin(Math.ceil(capabilities.brightness.min))
setCameraBrightnessMax(Math.ceil(capabilities.brightness.max))
setCameraBrightnessCurrent(Math.ceil(settings.brightness))
cameraSettings = { ...settings, brightness: true }
}
if (capabilities.saturation){
setCameraSaturationMin(Math.ceil(capabilities.saturation.min));
setCameraSaturationMax(Math.ceil(capabilities.saturation.max));
setCameraSaturationCurrent(Math.ceil(settings.saturation));
cameraSettings = {...settings, saturation: true};
if (capabilities.saturation) {
setCameraSaturationMin(Math.ceil(capabilities.saturation.min))
setCameraSaturationMax(Math.ceil(capabilities.saturation.max))
setCameraSaturationCurrent(Math.ceil(settings.saturation))
cameraSettings = { ...settings, saturation: true }
}
if (capabilities.contrast){
setCameraContrastMin(Math.ceil(capabilities.contrast.min));
setCameraContrastMax(Math.ceil(capabilities.contrast.max));
setCameraContrastCurrent(Math.ceil(settings.contrast));
cameraSettings = {...settings, contrast: true};
if (capabilities.contrast) {
setCameraContrastMin(Math.ceil(capabilities.contrast.min))
setCameraContrastMax(Math.ceil(capabilities.contrast.max))
setCameraContrastCurrent(Math.ceil(settings.contrast))
cameraSettings = { ...settings, contrast: true }
}
setCameraSettingsList(cameraSettings);
setCameraSettingsList(cameraSettings)
}
} catch (e) {
console.log("Error Message", e);
console.log("Error Message", e)
}
};
}

return { ready, init, devices, device, setDevice, faceMode, ...cameraFeatures, setReady };
};
return { ready, init, devices, device, setDevice, faceMode, ...cameraFeatures, setReady }
}

export default useCamera;
export default useCamera
2 changes: 1 addition & 1 deletion wasm_module/src/hooks/useContinuousAuthentication.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
// result.returnValue.PI.uuid,
// result.returnValue.PI.guid
// );

// } else {
// const { message } = result.returnValue;
// setContinuousPredictMessage(message);
Expand Down
Loading