Skip to content

Commit

Permalink
Add device UUID support
Browse files Browse the repository at this point in the history
  • Loading branch information
sanchitd5 committed Mar 28, 2021
1 parent 1971a28 commit 7b52a43
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 10 deletions.
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
"node-sass": "^5.0.0",
"prop-types": "^15.7.2",
"react": "^17.0.1",
"react-device-detect": "^1.17.0",
"react-dom": "^17.0.1",
"react-router-dom": "^5.2.0",
"react-scripts": "^4.0.3",
Expand Down
8 changes: 5 additions & 3 deletions src/contexts/common/DeviceInfoContext.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@ import React from 'react';
import PropTypes from 'prop-types';
import { LoadingScreen } from 'components/index';
import { validate, v4 } from 'uuid';

import { deviceDetect } from 'react-device-detect';

export const DeviceInfoContext = React.createContext();

export const DeviceInfoProvider = (props) => {
const [deviceUUID, setDeviceUUID] = React.useState();
const [deviceInfo, setDeviceInfo] = React.useState();
React.useEffect(() => {
const string = window.localStorage.getItem('uuid');
if (!validate(string)) {
Expand All @@ -16,11 +17,12 @@ export const DeviceInfoProvider = (props) => {
setDeviceUUID(newUUID);
}
else setDeviceUUID(string);
setDeviceInfo(deviceDetect());
}, []);

if (deviceUUID === undefined) return <LoadingScreen loadingText='loading device info' />;
if (deviceUUID === undefined || deviceInfo === undefined) return <LoadingScreen loadingText='loading device info' />;

return <DeviceInfoContext.Provider value={{ deviceUUID }} >{props.children}</DeviceInfoContext.Provider>;
return <DeviceInfoContext.Provider value={{ deviceUUID, deviceInfo, deviceName: `${deviceInfo.browserName} ${deviceInfo.browserMajorVersion} on ${deviceInfo.osName} ${deviceInfo.osVersion}` }} >{props.children}</DeviceInfoContext.Provider>;
};

DeviceInfoProvider.propTypes = {
Expand Down
19 changes: 12 additions & 7 deletions src/views/common/Login/Login.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,11 @@
import React, { useState, useContext, useCallback } from 'react';
import { Link } from 'react-router-dom';
import { TextField, Paper, makeStyles, Typography, Button, Box, Grid } from '@material-ui/core';
import { LoginContext } from 'contexts';
import { LoginContext, DeviceInfoContext } from 'contexts';
import { notify } from 'components';
import { DevModeConfig } from 'configurations';
import { API, useKeyPress, TextHelper } from 'helpers';


const useStyles = makeStyles(theme => ({
'@global': {
body: {
Expand Down Expand Up @@ -49,21 +48,27 @@ export const Login = () => {
const [emailId, setEmailId] = useState('');
const [password, setPassword] = useState('');
const { devMode, loginStatus, setAccessToken } = useContext(LoginContext);
const { deviceUUID, deviceName } = useContext(DeviceInfoContext);

const performLogin = useCallback(() => {
const performLogin = useCallback(async () => {
if (DevModeConfig.bypassBackend) {
setAccessToken('dummyToken');
} else {
let details = {
username: (devMode ? (DevModeConfig.devDetails !== undefined ? DevModeConfig.devDetails.user : '') : emailId),
password: (devMode ? (DevModeConfig.devDetails !== undefined ? DevModeConfig.devDetails.password : '') : password)
emailId: (devMode ? (DevModeConfig.devDetails !== undefined ? DevModeConfig.devDetails.user : '') : emailId),
password: (devMode ? (DevModeConfig.devDetails !== undefined ? DevModeConfig.devDetails.password : '') : password),
deviceData: {
deviceType: 'WEB',
deviceName: deviceName,
deviceUUID: deviceUUID
}
};
let apiResponse = API.login(details);
let apiResponse = await API.login(details);
if (apiResponse.success) {
setAccessToken(apiResponse.data);
}
}
}, [devMode, emailId, password, setAccessToken]);
}, [devMode, emailId, password, setAccessToken, deviceUUID, deviceName]);

const validationCheck = useCallback(() => {
if (devMode) {
Expand Down

0 comments on commit 7b52a43

Please sign in to comment.