{"version":3,"sources":["Images/olp-logo-white.svg","Components/Layout/FooterBar.js","Components/Layout/Footer.js","Contexts/DocumentContext.js","Images/olp-logo.svg","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","borderTop","textAlign","padding","position","left","bottom","width","display","flexDirection","alignItems","links","transition","color","palette","primary","light","cursor","a","textDecoration","footerSmallPrint","fontSize","useStyles","_jsxs","className","children","_jsx","paddingBottom","maxWidth","minWidth","src","olpLogoWhite","alt","id","break","Footer","_ref","phantom","privacyButton","marginLeft","marginTop","height","_useState","useState","_useState2","_slicedToArray","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","_toConsumableArray","NavBar","isSmallScreen","useMediaQuery","breakpoints","down","navButtonsGroup","navButton","fontWeight","logos","margin","barContent","icon","HideOnScroll","window","trigger","useScrollTrigger","target","undefined","Slide","appear","direction","in","history","useHistory","location","useLocation","useContext","AppBar","Toolbar","Container","href","olpLogo","pathname","localStorage","setItem","push","iconStyle","logo","ExitToAppRounded","Typography","variant","MainLayout","postRequest","params","Promise","resolve","reject","axios","post","then","response","console","log","result","JSON","parse","data","scriptResult","catch","error","getDocumnetBlob","url","get","headers","responseType","err","sha256","require","LoginPage","email","setEmail","_useState3","_useState4","password","setPassword","_useState5","_useState6","setError","_useState7","_useState8","loading","setLoading","useEffect","document","title","loginPage","paddingTop","loginForm","buttonProgress","top","root","disabled","onSubmit","e","preventDefault","hashedPass","hmac","authObj","fieldData","Message","script","stringify","username","code","token","forceChange","replace","message","TextField","borderRadius","label","onChange","currentTarget","type","Button","CircularProgress","DocumentsPage","header","rows","action","hover","rowCell","searchBar","float","searchText","_useContext","searchedDocs","setSearchedDocs","sort","setSort","docLoading","setDocLoading","getItem","length","getRequest","downloaded","map","doc","_doc$date$split","date","split","_doc$date$split2","day","month","year","Date","getTime","sortTable","field","paddingRight","paddingLeft","InputProps","input","placeholder","marginBottom","clear","TableContainer","Table","TableHead","TableRow","TableCell","align","TableBody","property","sortOrder","substr","b","dynamicSort","scope","fileName","docID","requestBody","_asyncToGenerator","_regeneratorRuntime","mark","_callee","urls","filename","ext","zip","i","fileBlob","zipBlob","wrap","_context","prev","next","exec","createElement","URL","createObjectURL","download","click","abrupt","JSZip","fetch","sent","blob","file","generateAsync","saveAs","t0","stop","_x","apply","arguments","getDocument","ForgotPasswordRequestPage","success","setSuccess","page","formSection","passChangeRequest","ForgotPasswordChangePage","query","URLSearchParams","confirmPassword","setConfirmPassword","_useState9","_useState10","changePassObj","ForcePasswordChangePage","oldPassword","setOldPassword","_useState11","_useState12","hashedOld","hashedNew","passObj","newPassword","App","createMuiTheme","main","typography","responsiveFontSizes","MuiThemeProvider","Router","Switch","Route","exact","path","ReactDOM","render","React","StrictMode","getElementById"],"mappings":"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","file":"static/js/main.acedc6bc.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/olp-logo-white.98abbffd.svg\";","import { makeStyles, Typography } from \"@material-ui/core\";\nimport olpLogoWhite from \"../../Images/olp-logo-white.svg\";\n\n\nconst FooterBar = () => {\n\n const useStyles = makeStyles(theme => ({\n style: {\n backgroundColor: '#264c59',\n borderTop: \"1px solid #264c59\",\n textAlign: \"center\",\n padding: 0,\n position: \"fixed\",\n left: \"0\",\n bottom: \"0\",\n width: \"100%\",\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center'\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 footerSmallPrint: {\n color: '#b3b3b3',\n fontSize: 12\n }\n }));\n\n const classes = useStyles();\n\n return (\n
\n \"Oxford\n
\n

© Oxford Lymphoedema Practice Ltd 2023

\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/olp-logo.f86bb321.svg\";","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 olpLogo from \"../../Images/olp-logo.svg\";\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 },\n logos: {\n margin: '0px auto',\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 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
\n
\n {(location.pathname !== '/' && location.pathname !== '/login') &&\n
\n
\n \n \n \n Logout\n
\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://olpsurgery.decentgroup.co.uk/olp-request.php', params)\n .then(function (response) {\n console.log(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 { useEffect, 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 useEffect(() => {\n document.title = 'Oxford Lymphoedema Practice - Login';\n },[]);\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 Message: \"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 console.log(result);\n setError(result.message);\n setLoading(false);\n\n })\n .catch(function (error) {\n console.log(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: '#264c59',\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 document.title = 'Oxford Lymphoedema Practice - Documents';\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 Message: \"Getting doc details\"\n },\n script: \"GetUserCorrespondanceDetails EVENTS\",\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.message === 'User not authenticated') {\n history.replace('/login');\n return; \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 Message: \"Getting document\"\n },\n script: \"GetCorrespondanceByID EVENTS\",\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 console.log(urls);\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 console.log(JSON.parse(urls[0].url))\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 console.log(result);\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 { useEffect, 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 useEffect(() => {\n document.title = 'Oxford Lymphoedema Practice - Forgot Password';\n })\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 Message: \"Changing password\"\n },\n script: \"RequestPasswordChange\",\n \"script.param\": JSON.stringify({ username: email })\n };\n\n postRequest(passChangeRequest)\n .then(function (result) {\n setLoading(false);\n setSuccess('If this email address is registered with us, we will send you a reset email. Please check your junk folder.');\n })\n .catch(function (error) {\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 {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 { useEffect, 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 useEffect(() => {\n document.title = 'Oxford Lymphoedema Practice - Change Password';\n }, []);\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 Message: \"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 document.title = 'Oxford Lymphoedema Practice - Change Password';\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 Message: \"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: '#264c59'\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":""}