{"version":3,"sources":["Components/Layout/FooterBar.js","Components/Layout/Footer.js","Contexts/DocumentContext.js","Images/sgimg.png","Components/Layout/NavBar.js","Layouts/MainLayout.js","Helpers/RequestHelper.js","Pages/LoginPage.js","Pages/DocumentsPage.js","Pages/ForgotPasswordRequestPage.js","Pages/ForgotPasswordChangePage.js","Pages/ForcePasswordChangePage.js","App.js","index.js"],"names":["FooterBar","classes","makeStyles","theme","style","backgroundColor","palette","primary","main","borderTop","textAlign","padding","position","left","bottom","width","display","flexWrap","links","transition","color","light","cursor","a","textDecoration","useStyles","className","margin","alignItems","flexDirection","justifyContent","marginBottom","href","Typography","fontSize","fontWeight","break","Footer","children","phantom","privacyButton","marginLeft","marginTop","height","useState","footer","setFooter","showFooter","Hidden","smDown","mdUp","IconButton","size","onClick","ExpandLessRounded","Drawer","anchor","open","onClose","DocumentContext","createContext","DocumentContextProvider","props","docs","setDocs","Provider","value","getSearchedDocs","search","filter","o","Object","keys","some","k","toString","toLowerCase","includes","setDocsDownloaded","NavBar","isSmallScreen","useMediaQuery","breakpoints","down","navButtonsGroup","navButton","logos","barContent","icon","HideOnScroll","window","trigger","useScrollTrigger","target","undefined","Slide","appear","direction","in","history","useHistory","location","useLocation","useContext","AppBar","Toolbar","Container","maxWidth","paddingBottom","minWidth","src","sgLogo","alt","id","pathname","localStorage","setItem","push","iconStyle","logo","ExitToAppRounded","variant","MainLayout","postRequest","params","Promise","resolve","reject","axios","post","then","response","result","JSON","parse","data","scriptResult","catch","error","getDocumnetBlob","url","get","headers","responseType","err","sha256","require","LoginPage","email","setEmail","password","setPassword","setError","loading","setLoading","loginPage","paddingTop","loginForm","buttonProgress","top","root","disabled","onSubmit","e","preventDefault","hashedPass","hmac","authObj","fieldData","FirstName","script","stringify","username","code","token","forceChange","replace","message","TextField","label","onChange","currentTarget","type","Button","CircularProgress","DocumentsPage","header","rows","action","hover","rowCell","searchBar","float","searchText","searchedDocs","setSearchedDocs","sort","setSort","docLoading","setDocLoading","useEffect","getItem","length","getRequest","console","log","downloaded","map","doc","date","split","day","month","year","Date","getTime","sortTable","field","paddingRight","paddingLeft","InputProps","input","placeholder","clear","TableContainer","Table","TableHead","TableRow","TableCell","align","TableBody","property","sortOrder","substr","b","dynamicSort","scope","fileName","docID","requestBody","urls","filename","ext","exec","document","createElement","URL","createObjectURL","download","click","zip","JSZip","i","fetch","blob","fileBlob","file","generateAsync","zipBlob","saveAs","getDocument","ForgotPasswordRequestPage","success","setSuccess","page","formSection","passChangeRequest","httpResponse","ForgotPasswordChangePage","query","URLSearchParams","confirmPassword","setConfirmPassword","changePassObj","ForcePasswordChangePage","oldPassword","setOldPassword","hashedOld","hashedNew","passObj","newPassword","App","createMuiTheme","typography","responsiveFontSizes","exact","path","ReactDOM","render","StrictMode","getElementById"],"mappings":"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","file":"static/js/main.8cbdf208.chunk.js","sourcesContent":["import { makeStyles, Typography } from \"@material-ui/core\";\n\n\nconst FooterBar = () => {\n\n const useStyles = makeStyles(theme => ({\n style: {\n backgroundColor: theme.palette.primary.main,\n borderTop: \"1px solid #E7E7E7\",\n textAlign: \"center\",\n padding: \"10px\",\n position: \"fixed\",\n left: \"0\",\n bottom: \"0\",\n width: \"100%\",\n display: 'flex',\n flexWrap: 'wrap'\n },\n links: {\n transition: '0.6s',\n \"&:hover\": {\n color: theme.palette.primary.light,\n cursor: 'pointer'\n }\n },\n a: {\n color: 'inherit',\n textDecoration: 'none',\n textAlign: 'center'\n }\n }));\n\n const classes = useStyles();\n\n return (\n
\n
\n
Privacy and Cookie Policy
\n
Terms and Conditions
\n
\n
\n
Copyright © 2023. Sinclair Gore Ltd. Registered in England & Wales No. 9341816
\n
\n );\n}\n\nexport default FooterBar;","import { Drawer, Hidden, IconButton, makeStyles } from \"@material-ui/core\";\nimport { ExpandLessRounded } from \"@material-ui/icons\";\nimport { useState } from \"react\";\nimport FooterBar from './FooterBar';\n\nconst Footer = ({ children }) => {\n const useStyles = makeStyles(theme => ({\n phantom: {\n display: 'block',\n width: '100%',\n },\n privacyButton: {\n position: \"fixed\",\n display: 'flex',\n left: '50%',\n bottom: 0,\n marginLeft: -35,\n marginTop: -35,\n height: 70,\n width: 70\n },\n break: {\n width: '100%'\n }\n }));\n\n const [footer, setFooter] = useState(false);\n\n const showFooter = () => {\n setFooter(!footer);\n };\n\n const classes = useStyles();\n\n return (\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n );\n}\n\nexport default Footer;","import { createContext, useState } from \"react\";\n\nexport const DocumentContext = createContext();\n\nconst DocumentContextProvider = (props) => {\n // var docsTest = [\n // {id: 1, date: '11/02/2020', type: 'Invoice'},\n // {id: 2, date: '14/02/2020', type: 'Letter'},\n // {id: 3, date: '19/02/2020', type: 'Letter'},\n // {id: 4, date: '11/03/2020', type: 'Follow up'},\n // {id: 5, date: '11/03/2020', type: 'Invitation'},\n // {id: 6, date: '11/03/2020', type: 'Letter'},\n // {id: 7, date: '11/04/2020', type: 'Invoice'},\n // {id: 8, date: '05/05/2020', type: 'Invoice'},\n // {id: 9, date: '10/05/2020', type: 'Letter'},\n // {id: 10, date: '10/05/2020', type: 'Invitation'},\n // {id: 2, date: '14/02/2020', type: 'Letter'},\n // {id: 3, date: '19/02/2020', type: 'Letter'},\n // {id: 4, date: '11/03/2020', type: 'Follow up'},\n // {id: 5, date: '11/03/2020', type: 'Invitation'},\n // {id: 6, date: '11/03/2020', type: 'Letter'},\n // {id: 7, date: '11/04/2020', type: 'Invoice'},\n // {id: 8, date: '05/05/2020', type: 'Invoice'},\n // {id: 9, date: '10/05/2020', type: 'Letter'},\n // {id: 10, date: '10/05/2020', type: 'Invitation'},\n // ];\n\n const [docs, setDocs] = useState([]);\n\n // const getDocs = () => {\n\n // return new Promise(async function (resolve, reject) {\n // var token = localStorage.getItem(\"token\");\n // var getRequest = {\n // fieldData: {\n // FirstName: \"Getting doc details\"\n // },\n // script: \"GetUserCorrespondanceDetails\",\n // \"script.param\": JSON.stringify({ token })\n // };\n\n // await postRequest(getRequest)\n // .then(function (result) {\n // if (result.code === 200) {\n // var downloaded = result.data;\n\n // downloaded.map(doc => {\n // var [day, month, year] = doc.date.split('/');\n // doc[\"dateCon\"] = new Date(year, month, day).getTime() / 1000;\n // });\n // setDocs(...[downloaded]);\n // resolve();\n // }\n\n // if (result.code === 401) {\n // history.replace('/choosepassword');\n // reject(\"Force password change\");\n // }\n // })\n // .catch(function (error) {\n // history.push('/portal');\n // console.log(error);\n // });\n // })\n\n // };\n\n const setDocsDownloaded = (docs) => {\n setDocs([...docs]);\n };\n\n const getSearchedDocs = (search) => {\n return docs.filter(o =>\n Object.keys(o).some(k => o[k].toString().toLowerCase().includes(search.toLowerCase())));\n };\n\n return (\n \n {props.children}\n \n );\n}\n\nexport default DocumentContextProvider;","export default __webpack_public_path__ + \"static/media/sgimg.2c121d77.png\";","import { AppBar, Container, IconButton, makeStyles, Toolbar, useScrollTrigger, Slide, useMediaQuery, Typography } from \"@material-ui/core\"\nimport { ExitToAppRounded } from \"@material-ui/icons\";\nimport { useContext } from \"react\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { DocumentContext } from '../../Contexts/DocumentContext';\nimport sgLogo from \"../../Images/sgimg.png\";\n\nconst NavBar = () => {\n const isSmallScreen = useMediaQuery(theme => theme.breakpoints.down(\"md\"));\n const useStyles = makeStyles(theme => ({\n navButtonsGroup: {\n //marginLeft: 'auto',\n display: 'flex',\n alignItems: 'center',\n width: 220\n },\n navButton: {\n fontWeight: 'bold',\n padding: 5,\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n cursor: 'pointer'\n }\n },\n logos: {\n margin: '0px auto',\n width: '70%',\n display: 'inline-block'\n },\n barContent: {\n marginLeft: 'auto',\n width: '50%'\n },\n icon: {\n width: 60,\n height: 60\n }\n }));\n\n function HideOnScroll(props) {\n const { children, window } = props;\n // Note that you normally won't need to set the window ref as useScrollTrigger\n // will default to window.\n // This is only being set here because the demo is in an iframe.\n const trigger = useScrollTrigger({ target: window ? window() : undefined });\n\n return (\n \n {children}\n \n );\n }\n\n const history = useHistory();\n const location = useLocation();\n const classes = useStyles();\n const { setDocsDownloaded } = useContext(DocumentContext);\n\n const logoutPressed = () => {\n localStorage.setItem(\"token\", \"\");\n setDocsDownloaded([]);\n history.push('/login');\n return;\n };\n\n return (\n
\n \n \n \n \n
\n
\n  \n
\n
\n \n \"\"
\n \"Plastic,\n
\n
\n
\n {(location.pathname !== '/' && location.pathname !== '/login') &&\n
\n
\n \n \n \n Logout\n
\n {/* \n Logout\n */}\n
}\n {/*
\n \n Something\n \n
*/}\n
\n
\n
\n
\n
\n
\n
\n );\n}\n\nexport default NavBar;","import Footer from \"../Components/Layout/Footer\";\nimport NavBar from \"../Components/Layout/NavBar\";\n\nconst MainLayout = ({ children }) => {\n return (\n
\n \n {children}\n
\n
\n );\n}\n\nexport default MainLayout;","import axios from 'axios';\n\nexport const postRequest = (params) => {\n\n return new Promise(function (resolve, reject) {\n axios.post('https://sinclairgore.decentgroup.co.uk/request.php', params)\n .then(function (response) {\n var result = JSON.parse(response.data.response.scriptResult);\n resolve(result);\n })\n .catch(function (error) {\n reject(error);\n });\n });\n\n}\n\nexport const getDocumnetBlob = (url) => {\n\n return new Promise(function (resolve, reject) {\n axios.get(url, {\n headers: {\n \"Content-Type\": \"application/octet-stream\"\n },\n responseType: \"blob\"\n })\n .then(response => {\n resolve(response.data)\n })\n .catch(err => {\n reject(err);\n });\n });\n\n}","import { makeStyles, TextField, Typography, Button, CircularProgress } from \"@material-ui/core\"\nimport { useState } from \"react\";\nimport { useHistory } from 'react-router-dom';\nimport { postRequest } from \"../Helpers/RequestHelper\";\nvar sha256 = require('js-sha256');\n\nconst LoginPage = () => {\n const [email, setEmail] = useState('');\n const [password, setPassword] = useState('');\n const [error, setError] = useState('');\n const [loading, setLoading] = useState(false);\n\n const history = useHistory();\n\n const useStyles = makeStyles((theme) => ({\n loginPage: {\n paddingTop: 20,\n width: '80%',\n margin: 'auto'\n },\n loginForm: {\n width: '100%',\n margin: '20px auto',\n position: 'relative'\n },\n buttonProgress: {\n color: 'white',\n position: 'absolute',\n top: '50%',\n left: '50%',\n marginTop: -12,\n marginLeft: -12,\n },\n root: {\n '&$disabled': {\n backgroundColor: theme.palette.primary.light,\n color: 'white'\n },\n },\n disabled: {}\n }));\n\n const loginButtonPressed = (e) => {\n e.preventDefault();\n setLoading(true);\n \n var hashedPass = sha256.hmac('Gbdsk64H2k', password);\n var authObj = {\n fieldData: {\n FirstName: \"Logging in to portal\"\n },\n script: \"Authenticate\",\n \"script.param\": JSON.stringify({ username: email, password: hashedPass })\n };\n\n postRequest(authObj)\n .then(function (result) {\n if (!result.code) {\n setError(\"Something went wrong when trying to log in\");\n setLoading(false);\n return;\n }\n\n if (result.code === 200) {\n localStorage.setItem(\"token\", result.token);\n if (result.forceChange === 1) {\n setLoading(false);\n return;\n }\n history.replace('/documents');\n setLoading(false);\n return;\n }\n\n setError(result.message);\n setLoading(false);\n\n })\n .catch(function (error) {\n setError(error.message);\n localStorage.setItem(\"token\", \"\");\n setLoading(false);\n });\n\n };\n\n const forgotPasswordPressed = () => {\n history.push('/forgotpassword');\n };\n\n const classes = useStyles();\n\n return (\n
\n
\n
\n setEmail(e.currentTarget.value)} />\n
\n
\n setPassword(e.currentTarget.value)} />\n
\n
\n {error !== \"\" && {error}}\n
\n
\n \n {loading && }\n
\n
\n \n
\n
\n
\n );\n}\n\nexport default LoginPage;","import { Button, makeStyles, Table, TableBody, TableCell, TableContainer, TableHead, TableRow, TextField, CircularProgress, Typography } from \"@material-ui/core\";\nimport { useContext, useEffect, useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { DocumentContext } from '../Contexts/DocumentContext';\nimport { postRequest, getDocumnetBlob } from \"../Helpers/RequestHelper\";\nimport { saveAs } from 'file-saver';\nimport JSZip from 'jszip';\n\nconst DocumentsPage = () => {\n const useStyles = makeStyles(theme => ({\n header: {\n backgroundColor: '#152740',\n fontSize: 16,\n color: 'white',\n fontWeight: 'bold',\n '&:hover': {\n cursor: 'pointer'\n }\n },\n rows: {\n '&:nth-of-type(odd)': {\n backgroundColor: theme.palette.action.hover\n }\n },\n rowCell: {\n fontSize: 14\n },\n searchBar: {\n width: '50%',\n float: 'right'\n },\n searchText: {\n fontSize: 16\n },\n buttonProgress: {\n color: '#152740',\n position: 'absolute',\n top: '50%',\n left: '50%',\n marginTop: -12,\n marginLeft: -12\n }\n }));\n\n const history = useHistory();\n\n const classes = useStyles();\n\n const { docs, getSearchedDocs, setDocsDownloaded } = useContext(DocumentContext);\n const [searchedDocs, setSearchedDocs] = useState([]);\n const [sort, setSort] = useState(\"-dateCon\");\n const [loading, setLoading] = useState(false);\n const [docLoading, setDocLoading] = useState(false);\n\n // useEffect(() => {\n // getDocs();\n // }, []);\n\n // useEffect(() => {\n // setRefreshCount(refreshCount + 1);\n // if (refreshCount < 2) {\n // if (localStorage.getItem(\"token\") === '') {\n // history.replace('/portal');\n // return;\n // }\n\n // console.log(docs);\n\n // getDocs()\n // .then(function (doen) {\n // setLoading(false);\n // setSearchedDocs([...getSearchedDocs('')]);\n // })\n // .catch(function (error) {\n // if (error === \"Force password change\") {\n // history.replace('/choosepassword');\n // setLoading(false);\n // return;\n // }\n\n // setLoading(false);\n // history.replace('/portal');\n\n // });\n\n // }\n\n // }, [docs]);\n\n useEffect(() => {\n if (localStorage.getItem(\"token\") === \"\") {\n history.replace('/login');\n return;\n }\n if (docs.length === 0) {\n var token = localStorage.getItem(\"token\");\n var getRequest = {\n fieldData: {\n FirstName: \"Getting doc details\"\n },\n script: \"GetUserCorrespondanceDetails\",\n \"script.param\": JSON.stringify({ token })\n };\n setLoading(true);\n postRequest(getRequest)\n .then(function (result) {\n setLoading(false);\n console.log('downloaded');\n if (result.code === 200) {\n var downloaded = result.data;\n\n downloaded.map(doc => {\n var [day, month, year] = doc.date.split('/');\n doc[\"dateCon\"] = new Date(year, month, day).getTime() / 1000;\n return true;\n });\n\n console.log(downloaded);\n\n setDocsDownloaded(downloaded);\n setSearchedDocs([...downloaded])\n return;\n\n }\n\n if (result.code === 401) {\n history.replace('/choosepassword');\n return;\n }\n\n history.replace('/login');\n localStorage.setItem(\"token\", \"\");\n })\n .catch(function (error) {\n setLoading(false);\n history.push('/login');\n localStorage.setItem(\"token\", \"\");\n });\n return;\n }\n\n setSearchedDocs([...docs]);\n\n }, []);\n\n // var lastDocDate = '';\n\n // const setLastDate = (date) => {\n // lastDocDate = date;\n // return true;\n // };\n\n const getDocument = (docID) => {\n setDocLoading(true);\n var token = localStorage.getItem(\"token\");\n var getRequest = {\n fieldData: {\n FirstName: \"Getting document\"\n },\n script: \"GetCorrespondanceByID\",\n \"script.param\": JSON.stringify({ token, requestBody: { docID } })\n };\n\n postRequest(getRequest)\n .then(async function (result) {\n // var url = JSON.parse(result.data.url)[\"Patient files 01 File\"];\n let urls = result.data;\n if (result.code === 200) {\n if (urls.length === 1) {\n let url = JSON.parse(urls[0].url)['Patient files 01 File'];\n let filename = JSON.parse(urls[0].url)['Patient files 02 File name'];\n var re = /(?:\\.([^.]+))?$/;\n var ext = re.exec(filename)[1];\n\n setDocLoading(false);\n if (ext !== 'pdf') {\n url = url.replace(\"?RCType=EmbeddedRCFileProcessor\", '?RCType=EmbeddedRCFileProcessor');\n\n getDocumnetBlob(url)\n .then(function (result) {\n const a = document.createElement(\"a\");\n const url = window.URL.createObjectURL(result);\n a.href = url;\n a.download = filename;\n a.click();\n })\n .catch(function (error) {\n\n });\n return;\n window.open(\"//\" + url);\n return;\n }\n url = url.replace('https://', '');\n window.open(\"//\" + url, \"_blank\");\n return;\n }\n try {\n const zip = new JSZip();\n \n for (let i = 0; i < urls.length; i++) {\n // Fetch each file\n const response = await fetch(JSON.parse(urls[i].url)['Patient files 01 File']);\n const fileBlob = await response.blob();\n\n // Extract the filename from the URL\n const fileName = JSON.parse(urls[i].url)['Patient files 02 File name'];\n\n // Add the file to the zip\n zip.file(fileName, fileBlob);\n }\n\n // Generate the zip file\n const zipBlob = await zip.generateAsync({ type: 'blob' });\n\n // Save and initiate the download\n saveAs(zipBlob, JSON.parse(urls[0].url)['Patient files 06 zip name']);\n setDocLoading(false);\n return\n } catch (error) {\n console.log(error);\n setDocLoading(false);\n return;\n }\n\n }\n\n if (result.message === \"Force password change\") {\n setDocLoading(false);\n history.replace('/choosepassword');\n return;\n }\n\n localStorage.setItem(\"token\", \"\");\n history.replace('/login');\n })\n .catch(function (error) {\n setDocLoading(false);\n localStorage.setItem(\"token\", \"\");\n // history.push('/login');\n console.log(error);\n });\n };\n\n function dynamicSort(property) {\n var sortOrder = 1;\n if (property[0] === \"-\") {\n sortOrder = -1;\n property = property.substr(1);\n }\n return function (a, b) {\n /* next line works with strings and numbers, \n * and you may want to customize it to your needs\n */\n var result = (a[property] < b[property]) ? -1 : (a[property] > b[property]) ? 1 : 0;\n return result * sortOrder;\n }\n }\n\n const sortTable = (field) => {\n setSort((sort[0] === '-') ? field : '-' + field);\n };\n\n return (\n
\n
\n
\n setSearchedDocs([...getSearchedDocs(e.currentTarget.value)])} />\n
\n
\n If you experience any issues in downloading your correspondence, please check your device settings and ensure popups are allowed from this site.
\n Logout: When you have accessed your documents, please logout using the icon above. This will also happen automatically when closing the portal webpage.
\n Resetting of password: If you forget your password in the future, this can easily be reset at the Portal login page using the ‘forgotten password’ link.\n
\n
\n
\n \n \n \n \n sortTable('dateCon')}>\n Date\n \n sortTable('fileName')}>\n File Name\n \n \n {/* Download */}\n \n \n \n \n\n {\n searchedDocs.sort(dynamicSort(sort)).map(doc => (\n \n \n {doc.date}\n \n \n {doc.fileName}\n \n \n \n \n \n ))\n }\n \n
\n
\n {loading && }\n
\n );\n}\n\nexport default DocumentsPage;","import { Button, makeStyles, TextField, Typography, CircularProgress } from '@material-ui/core';\nimport { useState } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { postRequest } from '../Helpers/RequestHelper';\n\nconst ForgotPasswordRequestPage = () => {\n const [email, setEmail] = useState('');\n const [error, setError] = useState('');\n const [success, setSuccess] = useState('');\n const [loading, setLoading] = useState(false);\n const history = useHistory();\n\n const useStyles = makeStyles(theme => ({\n page: {\n paddingTop: 20,\n width: '80%',\n margin: 'auto'\n },\n formSection: {\n width: '100%',\n margin: '20px auto',\n position: 'relative'\n },\n buttonProgress: {\n color: 'white',\n position: 'absolute',\n top: '50%',\n left: '50%',\n marginTop: -12,\n marginLeft: -12,\n },\n root: {\n '&$disabled': {\n backgroundColor: theme.palette.primary.light,\n color: 'white'\n },\n },\n disabled: {}\n }));\n\n const classes = useStyles();\n\n const forgottenSubmitPressed = (e) => {\n e.preventDefault();\n setLoading(true);\n setSuccess('');\n setError('');\n var passChangeRequest = {\n fieldData: {\n FirstName: \"Changing password\"\n },\n script: \"RequestPasswordChange\",\n \"script.param\": JSON.stringify({ username: email })\n };\n\n postRequest(passChangeRequest)\n .then(function (result) {\n if (result.httpResponse.code === 200) {\n setSuccess('Password change request submitted, please check your email for instructions');\n setLoading(false);\n return;\n }\n\n setError('Something went wrong submitting your password change request');\n setLoading(false);\n })\n .catch(function (error) {\n setError('Something went wrong submitting your password change request');\n setLoading(false);\n });\n }\n\n const backButtonPressed = () => {\n history.replace('/login');\n };\n\n\n return (\n
\n
\n
\n setEmail(e.currentTarget.value)} />\n
\n
\n {error !== \"\" && {error}}\n
\n
\n {success !== \"\" && {success}}\n
\n
\n {success === \"\" && }\n {success !== \"\" && }\n {loading && }\n
\n
\n
\n );\n}\n\nexport default ForgotPasswordRequestPage;","import { makeStyles, TextField, CircularProgress, Typography, Button } from \"@material-ui/core\";\nimport { useState } from \"react\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { postRequest } from \"../Helpers/RequestHelper\";\nvar sha256 = require('js-sha256');\n\nfunction useQuery() {\n return new URLSearchParams(useLocation().search);\n}\n\nconst ForgotPasswordChangePage = () => {\n let query = useQuery();\n const [password, setPassword] = useState('');\n const [confirmPassword, setConfirmPassword] = useState('');\n const [error, setError] = useState('');\n const [success, setSuccess] = useState('');\n const [loading, setLoading] = useState(false);\n const history = useHistory();\n\n const useStyles = makeStyles(theme => ({\n page: {\n paddingTop: 20,\n width: '80%',\n margin: 'auto'\n },\n formSection: {\n width: '100%',\n margin: '20px auto',\n position: 'relative'\n },\n buttonProgress: {\n color: 'white',\n position: 'absolute',\n top: '50%',\n left: '50%',\n marginTop: -12,\n marginLeft: -12,\n },\n root: {\n '&$disabled': {\n backgroundColor: theme.palette.primary.light,\n color: 'white'\n },\n },\n disabled: {}\n }));\n const classes = useStyles();\n\n const onConfirmPressed = (e) => {\n e.preventDefault();\n setLoading(true);\n setSuccess('');\n setError('');\n\n if (password !== confirmPassword) {\n setError('Passwords must match');\n setLoading(false);\n return;\n }\n\n var hashedPass = sha256.hmac('Gbdsk64H2k', password);\n\n var changePassObj = {\n fieldData: {\n FirstName: \"Changing password\"\n },\n script: \"ChangePassword\",\n \"script.param\": JSON.stringify({ username: query.get(\"user\"), password: hashedPass, code: query.get(\"code\") })\n };\n\n postRequest(changePassObj)\n .then(function (result) {\n if (result.code === 200) {\n setSuccess('Password changed successfully, please login with new details');\n setLoading(false);\n return;\n }\n setLoading(false);\n setError('There was a problem resetting your password, please try again');\n })\n .catch(function (error) {\n setError('There was a problem resetting your password, please try again');\n setLoading(false);\n });\n\n };\n\n const backButtonPressed = () => {\n history.replace('/login');\n };\n\n return (\n
\n
\n
\n setPassword(e.currentTarget.value)} />\n
\n
\n setConfirmPassword(e.currentTarget.value)} />\n
\n
\n {error !== \"\" && {error}}\n
\n
\n {success !== \"\" && {success}}\n
\n
\n {success === \"\" && }\n {success !== \"\" && }\n {loading && }\n
\n
\n
\n );\n}\n\nexport default ForgotPasswordChangePage;","import { TextField, Typography, Button, makeStyles, CircularProgress } from '@material-ui/core';\nimport { useState, useEffect } from \"react\";\nimport { useHistory} from \"react-router-dom\";\nimport { postRequest } from \"../Helpers/RequestHelper\";\nvar sha256 = require('js-sha256');\n\nconst ForcePasswordChangePage = () => {\n const [oldPassword, setOldPassword] = useState('');\n const [password, setPassword] = useState('');\n const [confirmPassword, setConfirmPassword] = useState('');\n const [error, setError] = useState('');\n const [success, setSuccess] = useState('');\n const [loading, setLoading] = useState(false);\n\n const useStyles = makeStyles(theme => ({\n page: {\n paddingTop: 20,\n width: '80%',\n margin: 'auto'\n },\n formSection: {\n width: '100%',\n margin: '20px auto',\n position: 'relative'\n },\n buttonProgress: {\n color: 'white',\n position: 'absolute',\n top: '50%',\n left: '50%',\n marginTop: -12,\n marginLeft: -12,\n },\n root: {\n '&$disabled': {\n backgroundColor: theme.palette.primary.light,\n color: 'white'\n },\n },\n disabled: {}\n }));\n\n const classes = useStyles();\n const history = useHistory();\n\n useEffect(() => {\n if(localStorage.getItem('token') === \"\") {\n history.replace('/login');\n return;\n }\n }, []);\n\n const changeButtonPressed = (e) => {\n e.preventDefault();\n setLoading(true);\n setError('');\n setSuccess('');\n if (password !== confirmPassword) {\n setError('Passwords must match');\n setLoading(false);\n return;\n }\n var hashedOld = sha256.hmac('Gbdsk64H2k', oldPassword);\n var hashedNew = sha256.hmac('Gbdsk64H2k', password);\n\n var passObj = {\n fieldData: {\n FirstName: \"Changing password\"\n },\n script: \"ChangePasswordAuthenticated\",\n \"script.param\": JSON.stringify({\n token: localStorage.getItem(\"token\"),\n requestBody: {\n oldPassword: hashedOld,\n newPassword: hashedNew\n }\n })\n };\n\n postRequest(passObj)\n .then(function (result) {\n if (result.code === 200) {\n setSuccess('Password changed successfully');\n setLoading(false);\n history.replace('/documents');\n return;\n }\n setLoading(false);\n setError(result.message);\n })\n .catch(function (error) {\n setError('There was a problem resetting your password, please try again');\n setLoading(false);\n });\n\n }\n\n return (\n
\n
\n
\n setOldPassword(e.currentTarget.value)} />\n
\n
\n setPassword(e.currentTarget.value)} />\n
\n
\n setConfirmPassword(e.currentTarget.value)} />\n
\n
\n {error !== \"\" && {error}}\n
\n
\n {success !== \"\" && {success}}\n
\n
\n \n {loading && }\n
\n
\n
\n );\n}\n\nexport default ForcePasswordChangePage;","import './App.css';\nimport { createMuiTheme, MuiThemeProvider, responsiveFontSizes } from '@material-ui/core';\nimport MainLayout from './Layouts/MainLayout';\nimport { HashRouter as Router, Switch, Route } from \"react-router-dom\";\nimport LoginPage from './Pages/LoginPage';\nimport DocumentsPage from './Pages/DocumentsPage';\nimport ForgotPasswordRequestPage from './Pages/ForgotPasswordRequestPage';\nimport ForgotPasswordChangePage from './Pages/ForgotPasswordChangePage';\nimport ForcePasswordChangePage from './Pages/ForcePasswordChangePage';\nimport DocumentContextProvider from './Contexts/DocumentContext';\n\nfunction App() {\n let theme = createMuiTheme({\n palette: {\n primary: {\n main: '#152740'\n }\n },\n typography: {\n fontSize: 16,\n '@media (min-width:600px)': {\n fontSize: 10,\n }\n }\n });\n\n theme = responsiveFontSizes(theme);\n\n return (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n );\n}\n\nexport default App;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\n//reportWebVitals();\n"],"sourceRoot":""}