UNPKG

focalxaiinspection

Version:

Focalx AI Inspection

68 lines (54 loc) 2.16 kB
import React, { useRef, useState, useEffect } from 'react'; import Webcam from 'react-webcam'; import { useNavigate } from 'react-router-dom'; import './CaptureDamageImages.scss'; const CaptureDamageImages = () => { const webcamRef = useRef(null); const navigate = useNavigate(); const handleCapturePhoto = async () => { const base64Data = webcamRef.current.getScreenshot(); const blob = await (await fetch(base64Data)).blob(); const imageUrl = window.URL.createObjectURL(blob); document.getElementById("damagePrevieImg").src = imageUrl; const damageObj = { img: base64Data } sessionStorage.setItem("manualDamage", JSON.stringify(damageObj)); setTimeout(() => { navigate("/select-car-position") }, 300); } const constraints = { // facingMode: isRearCameraAvailable ? { exact: 'environment' } : 'user' facingMode: { exact: "environment" } }; return ( <> <div className='phone-rotate-message-portrait'> <img src={require('../../Assets/images/rotated.svg').default} alt='' /> <h3>Please rotate your screen</h3> </div> <div className="camera-portrait-container"> <Webcam className='camera-portrait' audio={false} ref={webcamRef} screenshotFormat='image/jpeg' videoConstraints={constraints} /> <div className='damage-preview-container d-none'> <img id="damagePrevieImg" alt='' /> </div> <div className='camera-bottom'> <button className='capture-photo' onClick={handleCapturePhoto}> {/* <img width={52} src={require('../../Assets/images/camera.svg').default} alt='' /> */} </button> {/* <button className='close-button' onClick={() => navigate("/damage-report")}> <img width={52} src={require('../../Assets/images/close-with-circle.svg').default} alt='' /> </button> */} </div> </div> </> ); }; export default CaptureDamageImages;