From fd3c8ede6d6d4172e308539784c2ac9b8a2c941a Mon Sep 17 00:00:00 2001 From: Bianca Severino Date: Thu, 16 Jul 2020 14:15:22 -0400 Subject: [PATCH] Hide image upload flow --- .../IdVerification.messages.js | 5 +++ .../panels/RequestCameraAccessPanel.jsx | 35 +++++++++---------- .../panels/TakeIdPhotoPanel.jsx | 9 +++-- .../panels/TakePortraitPhotoPanel.jsx | 8 +++-- 4 files changed, 33 insertions(+), 24 deletions(-) diff --git a/src/id-verification/IdVerification.messages.js b/src/id-verification/IdVerification.messages.js index 0b7c007..f2323e0 100644 --- a/src/id-verification/IdVerification.messages.js +++ b/src/id-verification/IdVerification.messages.js @@ -121,6 +121,11 @@ const messages = defineMessages({ defaultMessage: 'It looks like we\'re unable to access your camera. You will need to upload image files of you and your photo id.', description: 'Text indicating that the camera could not be accessed and image upload will be enabled.', }, + 'id.verification.camera.access.failure.temporary': { + id: 'id.verification.camera.access.failure.temporary', + defaultMessage: 'It looks like we\'re unable to access your camera. Please verify that your webcam is connected and that you have allowed your browser to access it.', + description: 'Text indicating that the camera could not be accessed.', + }, 'id.verification.photo.tips.title': { id: 'id.verification.photo.tips.title', defaultMessage: 'Helpful Photo Tips', diff --git a/src/id-verification/panels/RequestCameraAccessPanel.jsx b/src/id-verification/panels/RequestCameraAccessPanel.jsx index 76140a9..77a59c7 100644 --- a/src/id-verification/panels/RequestCameraAccessPanel.jsx +++ b/src/id-verification/panels/RequestCameraAccessPanel.jsx @@ -1,6 +1,6 @@ -import React, { useContext } from 'react'; +import React, { useState, useEffect, useContext } from 'react'; import { Link } from 'react-router-dom'; -import { Collapsible } from '@edx/paragon'; +import { getConfig } from '@edx/frontend-platform'; import { injectIntl, intlShape, FormattedMessage } from '@edx/frontend-platform/i18n'; import { useNextPanelSlug } from '../routing-utilities'; @@ -10,10 +10,21 @@ import { IdVerificationContext, MEDIA_ACCESS } from '../IdVerificationContext'; import messages from '../IdVerification.messages'; function RequestCameraAccessPanel(props) { + const [returnUrl, setReturnUrl] = useState('dashboard'); + const [returnText, setReturnText] = useState('id.verification.return.dashboard'); const panelSlug = 'request-camera-access'; const nextPanelSlug = useNextPanelSlug(panelSlug); const { tryGetUserMedia, mediaAccess } = useContext(IdVerificationContext); + // If the user accessed IDV through a course, + // link back to that course rather than the dashboard + useEffect(() => { + if (sessionStorage.getItem('courseRunKey')) { + setReturnUrl(`courses/${sessionStorage.getItem('courseRunKey')}`); + setReturnText('id.verification.return.course'); + } + }, []); + return ( {props.intl.formatMessage(messages['id.verification.camera.access.enable'])} - - - - {props.intl.formatMessage(messages['id.verification.camera.access.problems'])} - - - - - {props.intl.formatMessage(messages['id.verification.camera.access.skip'])} - - - )} @@ -67,12 +66,12 @@ function RequestCameraAccessPanel(props) { {[MEDIA_ACCESS.UNSUPPORTED, MEDIA_ACCESS.DENIED].includes(mediaAccess) && (

- {props.intl.formatMessage(messages['id.verification.camera.access.failure'])} + {props.intl.formatMessage(messages['id.verification.camera.access.failure.temporary'])}

- - {props.intl.formatMessage(messages['id.verification.next'])} - + + {props.intl.formatMessage(messages[returnText])} +
)} diff --git a/src/id-verification/panels/TakeIdPhotoPanel.jsx b/src/id-verification/panels/TakeIdPhotoPanel.jsx index 67e6173..5ab0002 100644 --- a/src/id-verification/panels/TakeIdPhotoPanel.jsx +++ b/src/id-verification/panels/TakeIdPhotoPanel.jsx @@ -8,15 +8,18 @@ import ImageFileUpload from '../ImageFileUpload'; import ImagePreview from '../ImagePreview'; import Camera from '../Camera'; import CameraHelp from '../CameraHelp'; -import { IdVerificationContext, MEDIA_ACCESS } from '../IdVerificationContext'; +import { IdVerificationContext } from '../IdVerificationContext'; import messages from '../IdVerification.messages'; function TakeIdPhotoPanel(props) { const panelSlug = 'take-id-photo'; const nextPanelSlug = useNextPanelSlug(panelSlug); - const { setIdPhotoFile, idPhotoFile, mediaAccess } = useContext(IdVerificationContext); - const shouldUseCamera = mediaAccess === MEDIA_ACCESS.GRANTED; + const { setIdPhotoFile, idPhotoFile } = useContext(IdVerificationContext); + const shouldUseCamera = true; + // to reenable upload component: + // const shouldUseCamera = mediaAccess === MEDIA_ACCESS.GRANTED; + return (