diff --git a/package-lock.json b/package-lock.json index 893550a..0819858 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7329,6 +7329,11 @@ "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.0.tgz", "integrity": "sha512-Z93QoXvodoVslA+PWNdk23Hze4RBYIkpb5h8I2HY2Tu2h7A0LpAgLcyrhrSUyo2/Oxm2l1fRZPs1e5hnxnliXA==" }, + "bowser": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.10.0.tgz", + "integrity": "sha512-OCsqTQboTEWWsUjcp5jLSw2ZHsBiv2C105iFs61bOT0Hnwi9p7/uuXdd7mu8RYcarREfdjNN+8LitmEHATsLYg==" + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", diff --git a/package.json b/package.json index 5c4fd1a..cf4ecd0 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "@fortawesome/free-solid-svg-icons": "5.8.2", "@fortawesome/react-fontawesome": "0.1.11", "babel-polyfill": "6.26.0", + "bowser": "^2.10.0", "classnames": "2.2.6", "font-awesome": "4.7.0", "form-urlencoded": "4.0.1", diff --git a/src/id-verification/IdVerification.messages.js b/src/id-verification/IdVerification.messages.js index 9dab397..b9db0fe 100644 --- a/src/id-verification/IdVerification.messages.js +++ b/src/id-verification/IdVerification.messages.js @@ -131,6 +131,131 @@ const messages = defineMessages({ 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.camera.access.failure.temporary.chrome': { + id: 'id.verification.camera.access.failure.temporary.chrome', + defaultMessage: 'To enable camera access in Chrome:', + description: 'Description for the directions on enabling camera access.', + }, + 'id.verification.camera.access.failure.temporary.chrome.step1': { + id: 'id.verification.camera.access.failure.temporary.chrome.step1', + defaultMessage: 'Open Chrome.', + description: 'Text for step one of enabling camera access.', + }, + 'id.verification.camera.access.failure.temporary.chrome.step2': { + id: 'id.verification.camera.access.failure.temporary.chrome.step2', + defaultMessage: 'Navigate to More > Settings.', + description: 'Text for step two of enabling camera access.', + }, + 'id.verification.camera.access.failure.temporary.chrome.step2.windows': { + id: 'id.verification.camera.access.failure.temporary.chrome.step2.windows', + defaultMessage: 'For Windows: Alt+F, Alt+E, or F10 followed by the spacebar', + description: 'Text for Windows keyboard shortcut in chrome.', + }, + 'id.verification.camera.access.failure.temporary.chrome.step2.mac': { + id: 'id.verification.camera.access.failure.temporary.chrome.step2.mac', + defaultMessage: 'For Mac: Command+,', + description: 'Text for Mac keyboard shortcut in chrome.', + }, + 'id.verification.camera.access.failure.temporary.chrome.step3': { + id: 'id.verification.camera.access.failure.temporary.chrome.step3', + defaultMessage: 'Under the "Privacy and security" tab, select "Site Settings" and then "Camera."', + description: 'Text for step three of enabling camera access.', + }, + 'id.verification.camera.access.failure.temporary.chrome.step4': { + id: 'id.verification.camera.access.failure.temporary.chrome.step4', + defaultMessage: 'Under "Blocked," find "edx.org" and select it.', + description: 'Text for step four of enabling camera access.', + }, + 'id.verification.camera.access.failure.temporary.chrome.step5': { + id: 'id.verification.camera.access.failure.temporary.chrome.step5', + defaultMessage: 'In the "Permissions" section, update the camera permissions to "Allow."', + description: 'Text for step five of enabling camera access.', + }, + 'id.verification.camera.access.failure.temporary.ie11': { + id: 'id.verification.camera.access.failure.temporary.ie11', + defaultMessage: 'To enable camera access in Internet Explorer:', + description: 'Description for the directions on enabling camera access.', + }, + 'id.verification.camera.access.failure.temporary.ie11.step1': { + id: 'id.verification.camera.access.failure.temporary.ie11.step1', + defaultMessage: 'Open the Flash Player Settings Manager by navigating to Windows Settings > Control Panel > Flash Player.', + description: 'Text for step one of enabling camera access.', + }, + 'id.verification.camera.access.failure.temporary.ie11.step2': { + id: 'id.verification.camera.access.failure.temporary.ie11.step2', + defaultMessage: 'Select the "Camera and Mic" tab, and then select the "Camera and Microphone Settings by Site" button.', + description: 'Text for step two of enabling camera access.', + }, + 'id.verification.camera.access.failure.temporary.ie11.step3': { + id: 'id.verification.camera.access.failure.temporary.ie11.step3', + defaultMessage: 'Choose "edx.org" from the list of websites and change the permissions by selecting "Allow" in the dropdown menu.', + description: 'Text for step three of enabling camera access.', + }, + 'id.verification.camera.access.failure.temporary.firefox': { + id: 'id.verification.camera.access.failure.temporary.firefox', + defaultMessage: 'To enable camera access in Firefox:', + description: 'Description for the directions on enabling camera access.', + }, + 'id.verification.camera.access.failure.temporary.firefox.step1': { + id: 'id.verification.camera.access.failure.temporary.firefox.step1', + defaultMessage: 'Open Firefox.', + description: 'Text for step one of enabling camera access.', + }, + 'id.verification.camera.access.failure.temporary.firefox.step2': { + id: 'id.verification.camera.access.failure.temporary.firefox.step2', + defaultMessage: 'Enter "about:preferences" in the URL bar.', + description: 'Text for step two of enabling camera access.', + }, + 'id.verification.camera.access.failure.temporary.firefox.step3': { + id: 'id.verification.camera.access.failure.temporary.firefox.step3', + defaultMessage: 'Select the "Privacy & Security" tab, and navigate to the "Permissions" section.', + description: 'Text for step three of enabling camera access.', + }, + 'id.verification.camera.access.failure.temporary.firefox.step4': { + id: 'id.verification.camera.access.failure.temporary.firefox.step4', + defaultMessage: 'Next to "Camera," select the "Settingsā¦" button.', + description: 'Text for step four of enabling camera access.', + }, + 'id.verification.camera.access.failure.temporary.firefox.step5': { + id: 'id.verification.camera.access.failure.temporary.firefox.step5', + defaultMessage: 'In the search bar, enter "edx.org."', + description: 'Text for step five of enabling camera access.', + }, + 'id.verification.camera.access.failure.temporary.firefox.step6': { + id: 'id.verification.camera.access.failure.temporary.firefox.step6', + defaultMessage: 'In the status column for "edx.org," select "Allow" from the drop down.', + description: 'Text for step six of enabling camera access.', + }, + 'id.verification.camera.access.failure.temporary.firefox.step7': { + id: 'id.verification.camera.access.failure.temporary.firefox.step7', + defaultMessage: 'Select "Save Changes."', + description: 'Text for step seven of enabling camera access.', + }, + 'id.verification.camera.access.failure.temporary.safari': { + id: 'id.verification.camera.access.failure.temporary.safari', + defaultMessage: 'To enable camera access in Safari:', + description: 'Description for the directions on enabling camera access.', + }, + 'id.verification.camera.access.failure.temporary.safari.step1': { + id: 'id.verification.camera.access.failure.temporary.safari.step1', + defaultMessage: 'Open Safari.', + description: 'Text for step one of enabling camera access.', + }, + 'id.verification.camera.access.failure.temporary.safari.step2': { + id: 'id.verification.camera.access.failure.temporary.safari.step2', + defaultMessage: 'Click on the Safari app menu, then select "Preferences." You can also use Command+, as a keyboard shortcut.', + description: 'Text for step two of enabling camera access.', + }, + 'id.verification.camera.access.failure.temporary.safari.step3': { + id: 'id.verification.camera.access.failure.temporary.safari.step3', + defaultMessage: 'Select the "Websites" tab and then select "Camera."', + description: 'Text for step three of enabling camera access.', + }, + 'id.verification.camera.access.failure.temporary.safari.step4': { + id: 'id.verification.camera.access.failure.temporary.safari.step4', + defaultMessage: 'Select "edx.org" and change the camera permissions to "Allow."', + description: 'Text for step four of enabling camera access.', + }, 'id.verification.photo.tips.title': { id: 'id.verification.photo.tips.title', defaultMessage: 'Helpful Photo Tips', diff --git a/src/id-verification/panels/EnableCameraDirectionsPanel.jsx b/src/id-verification/panels/EnableCameraDirectionsPanel.jsx new file mode 100644 index 0000000..100749a --- /dev/null +++ b/src/id-verification/panels/EnableCameraDirectionsPanel.jsx @@ -0,0 +1,71 @@ +import PropTypes from 'prop-types'; +import React from 'react'; +import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; +import messages from '../IdVerification.messages'; + +export function EnableCameraDirectionsPanel(props) { + if (props.browserName === 'Internet Explorer') { + return ( + <> +