From 1b48cc3dc624b85b8e22e475769453e767d5a36b Mon Sep 17 00:00:00 2001 From: rohan09-raj Date: Mon, 8 Aug 2022 13:09:01 +0530 Subject: integrated react webcam --- .../pages/Enrollment/PhotoCapture/PhotoCapture.jsx | 46 +++++++++++++++++++--- .../PhotoCapture/PhotoCapture.module.css | 8 ++-- 2 files changed, 45 insertions(+), 9 deletions(-) (limited to 'client/src/pages') diff --git a/client/src/pages/Enrollment/PhotoCapture/PhotoCapture.jsx b/client/src/pages/Enrollment/PhotoCapture/PhotoCapture.jsx index 0b30848..c4960c2 100644 --- a/client/src/pages/Enrollment/PhotoCapture/PhotoCapture.jsx +++ b/client/src/pages/Enrollment/PhotoCapture/PhotoCapture.jsx @@ -1,17 +1,44 @@ -import React from 'react' +/* eslint-disable multiline-ternary */ +import React, { useState } from 'react' +import Webcam from 'react-webcam' +import { useNavigate } from 'react-router-dom' import Header from '../../../components/Header/Header' -import CardScanner from '../../../components/Card/CardScanner' +import SubmitButton from '../../../components/SubmitButton/SubmitButton' import styles from './PhotoCapture.module.css' import { Button, Grid, Typography } from '@mui/material' const PhotoCapture = () => { + const [photo, setPhoto] = useState() + + const navigate = useNavigate() + + const webcamRef = React.useRef(null) + + const capture = React.useCallback(() => { + const imageSrc = webcamRef.current.getScreenshot() + setPhoto(imageSrc) + }) + return ( <>
- + {photo === '' ? ( + + ) : ( + + )}
@@ -20,6 +47,10 @@ const PhotoCapture = () => { size="large" type="submit" variant="contained" + onClick={(e) => { + e.preventDefault() + capture() + }} > Capture @@ -30,6 +61,10 @@ const PhotoCapture = () => { size="large" type="submit" variant="contained" + onClick={(e) => { + e.preventDefault() + setPhoto('') + }} > Reset @@ -45,6 +80,7 @@ const PhotoCapture = () => { + navigate('/enrollment/documents')} /> ) } diff --git a/client/src/pages/Enrollment/PhotoCapture/PhotoCapture.module.css b/client/src/pages/Enrollment/PhotoCapture/PhotoCapture.module.css index ec59f61..a1ff9c0 100644 --- a/client/src/pages/Enrollment/PhotoCapture/PhotoCapture.module.css +++ b/client/src/pages/Enrollment/PhotoCapture/PhotoCapture.module.css @@ -1,5 +1,5 @@ .card__container { - display: flex; - justify-content: center; - } - \ No newline at end of file + display: flex; + justify-content: center; + margin: 10px; +} -- cgit