{"version":3,"sources":["components/Recover.jsx","components/Reset.jsx","Assets/logo.png","components/NavBar.jsx","components/NotFound.jsx","App.js","reportWebVitals.js","index.js"],"names":["axios","require","Recover","username","setUsername","React","errorFeedback","setErrorFeedback","successFeedback","setSuccessFeedback","listener","event","code","sendRecoverPost","preventDefault","document","addEventListener","removeEventListener","submittedUsername","post","concat","then","response","console","log","catch","error","_jsx","className","children","_jsxs","Typography","variant","gutterBottom","Paper","elevation","Container","id","maxWidth","component","Box","TextField","value","onChange","e","target","label","required","fullWidth","name","autoFocus","ButtonGroup","Button","type","onClick","Alert","severity","Reset","password","setPassword","showPassword","setShowPassword","confirmPassword","setConfirmPassword","showConfirmPassword","setShowConfirmPassword","nonValidToken","setNonValidToken","token","useParams","handleClickShowPassword","selectedInput","resetPassword","newPassword","data","validateToken","style","marginTop","Grid","container","direction","spacing","item","InputProps","endAdornment","InputAdornment","position","IconButton","edge","VisibilityOff","Visibility","NavBar","sx","flexGrow","AppBar","Toolbar","background","paddingLeft","disableGutters","src","Logo","alt","width","NotFound","_Fragment","App","search","useLocation","useMemo","URLSearchParams","useQuery","Routes","Route","path","element","exact","reportWebVitals","onPerfEntry","Function","_ref","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode","BrowserRouter","getElementById"],"mappings":"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","file":"static/js/main.cb08c7bf.chunk.js","sourcesContent":["import * as React from \"react\";\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport Paper from \"@mui/material/Paper\";\r\nimport Container from \"@mui/material/Container\";\r\nimport { ButtonGroup, TextField, Typography } from \"@mui/material\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Alert from \"@mui/material/Alert\";\r\n\r\n \r\nimport \"../App.css\";\r\nconst axios = require(\"axios\");\r\n\r\nexport const Recover = () => {\r\n const [username, setUsername] = React.useState(\"\");\r\n const [errorFeedback, setErrorFeedback] = React.useState(null);\r\n const [successFeedback, setSuccessFeedback] = React.useState(null);\r\n\r\n React.useEffect(() => {\r\n\r\n //Used to let the user press enter to submit.\r\n const listener = (event) => {\r\n if (event.code === \"Enter\" || event.code === \"NumpadEnter\") {\r\n sendRecoverPost(username);\r\n event.preventDefault();\r\n \r\n }\r\n };\r\n document.addEventListener(\"keydown\", listener);\r\n return () => {\r\n document.removeEventListener(\"keydown\", listener);\r\n };\r\n }, [username]);\r\n\r\n const sendRecoverPost = (submittedUsername) => {\r\n setSuccessFeedback(null);\r\n setErrorFeedback(null);\r\n axios\r\n .post(`./api/ForgotPassword?username=${submittedUsername}`)\r\n .then(function (response) {\r\n //Add status-code conditions here\r\n setSuccessFeedback(\"En e-post har blitt sendt til din e-postadresse\");\r\n console.log(response);\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n setErrorFeedback(\"Noe gikk galt, prøv igjen\");\r\n });\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n Tilbakestill passord\r\n \r\n \r\n \r\n \r\n Ditt brukernavn\r\n \r\n \r\n setUsername(e.target.value)}\r\n id=\"recoverInput\"\r\n label=\"Brukernavn\"\r\n required\r\n fullWidth\r\n name=\"Brukernavn\"\r\n autoFocus\r\n />\r\n \r\n \r\n\r\n \r\n \r\n {successFeedback ? (\r\n \r\n {successFeedback}\r\n \r\n ) : errorFeedback ? (\r\n \r\n {errorFeedback}\r\n \r\n ) : null}\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport Container from \"@mui/material/Container\";\r\nimport { ButtonGroup, TextField, Typography } from \"@mui/material\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Grid from \"@mui/material/Grid\";\r\nimport Alert from \"@mui/material/Alert\";\r\nimport Paper from \"@mui/material/Paper\";\r\nimport InputAdornment from '@mui/material/InputAdornment';\r\nimport IconButton from '@mui/material/IconButton';\r\nimport Visibility from '@mui/icons-material/Visibility';\r\nimport VisibilityOff from '@mui/icons-material/VisibilityOff';\r\n\r\nimport \"../App.css\";\r\nimport {\r\n BrowserRouter as Router,\r\n Switch,\r\n Route,\r\n useParams,\r\n} from \"react-router-dom\";\r\nconst axios = require(\"axios\");\r\n\r\nexport const Reset = () => {\r\n const [password, setPassword] = React.useState(\"\");\r\n const [showPassword, setShowPassword] = React.useState(false);\r\n const [confirmPassword, setConfirmPassword] = React.useState(\"\");\r\n const [showConfirmPassword, setShowConfirmPassword] = React.useState(false)\r\n const [errorFeedback, setErrorFeedback] = React.useState(null);\r\n const [successFeedback, setSuccessFeedback] = React.useState(null);\r\n const [nonValidToken, setNonValidToken] = React.useState(false);\r\n React.useEffect(() => { console.log(\"state updated\") }, [errorFeedback])\r\n\r\n let { token } = useParams();\r\n\r\n const handleClickShowPassword = (selectedInput) => {\r\n if (selectedInput === \"password\") {\r\n setShowPassword(!showPassword)\r\n } else if (selectedInput === \"confirmPassword\") {\r\n setShowConfirmPassword(!showConfirmPassword)\r\n }\r\n }\r\n const validateToken = (token) => {\r\n axios\r\n .post(`/api/ValidateToken?token=${token}`)\r\n .then(function (response) {\r\n console.log(response);\r\n setSuccessFeedback(response.data);\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n setNonValidToken(true)\r\n setErrorFeedback(\"Ugyldig tilgang\");\r\n });\r\n };\r\n\r\n const resetPassword = (newPassword, token) => {\r\n if (password === confirmPassword) {\r\n axios.post(`/api/ResetPassword`, \r\n {\r\n newPassword: newPassword,\r\n token: token\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n setSuccessFeedback(\"Passord endret\");\r\n })\r\n .catch(function (error) {\r\n console.log(error);\r\n console.log(error.response.data);\r\n try {\r\n setSuccessFeedback(null);\r\n setErrorFeedback(error.response.data);\r\n } catch (error) {\r\n setSuccessFeedback(null);\r\n setErrorFeedback(\"Noe gikk galt\");\r\n }\r\n });\r\n } else {\r\n setSuccessFeedback(null);\r\n setErrorFeedback(\"Passordene er ikke like\");\r\n }\r\n };\r\n React.useEffect(() => {\r\n const listener = (event) => {\r\n if (event.code === \"Enter\" || event.code === \"NumpadEnter\") {\r\n resetPassword(confirmPassword, token);\r\n //event.preventDefault();\r\n // callMyFunction();\r\n }\r\n };\r\n document.addEventListener(\"keydown\", listener);\r\n return () => {\r\n document.removeEventListener(\"keydown\", listener);\r\n };\r\n }, [password, confirmPassword, token]);\r\n\r\n React.useEffect(() => {\r\n console.log(token);\r\n validateToken(token);\r\n }, []);\r\n return (\r\n
\r\n
\r\n \r\n Tilbakestill passord\r\n \r\n \r\n \r\n \r\n { nonValidToken ? {errorFeedback} :\r\n \r\n \r\n setPassword(e.target.value)}\r\n id=\"resetInput\"\r\n label=\"Passord\"\r\n required\r\n fullWidth\r\n name=\"Passord\"\r\n type={showPassword ? \"text\" : \"password\"}\r\n autoFocus\r\n InputProps={{\r\n endAdornment: \r\n handleClickShowPassword('password')}\r\n edge=\"end\"\r\n >\r\n {showPassword ? : }\r\n \r\n ,\r\n }}\r\n />\r\n \r\n \r\n setConfirmPassword(e.target.value)}\r\n id=\"resetInput\"\r\n label=\"Bekreft passord\"\r\n required\r\n fullWidth\r\n type={showConfirmPassword ? \"text\" : \"password\"}\r\n name=\"confirmPassord\"\r\n InputProps={{\r\n endAdornment: \r\n handleClickShowPassword('confirmPassword')}\r\n edge=\"end\"\r\n >\r\n {showConfirmPassword ? : }\r\n \r\n ,\r\n }}\r\n />\r\n \r\n \r\n \r\n resetPassword(confirmPassword, token)}\r\n variant=\"contained\"\r\n >\r\n Send\r\n \r\n \r\n {successFeedback ? (\r\n \r\n {successFeedback}\r\n \r\n ) : errorFeedback ? (\r\n \r\n {errorFeedback}\r\n \r\n ) : null}\r\n
\r\n \r\n \r\n } \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n","export default __webpack_public_path__ + \"static/media/logo.c1df0004.png\";","import * as React from 'react';\r\nimport AppBar from '@mui/material/AppBar';\r\nimport Box from '@mui/material/Box';\r\nimport Toolbar from '@mui/material/Toolbar';\r\nimport Logo from '../Assets/logo.png';\r\n\r\nexport const NavBar = () => {\r\n return (\r\n \r\n \r\n \r\n \"FinansNorge\r\n \r\n \r\n \r\n );\r\n}","import { Typography } from \"@mui/material\";\r\n\r\nexport const NotFound = () => {\r\n return (\r\n <> \r\n \r\n Siden finnes ikke\r\n \r\n \r\n );\r\n};","\r\nimport React from 'react';\r\nimport {Routes, Route, Link, Navigate, useLocation} from \"react-router-dom\";\r\nimport './App.css';\r\nimport { Recover } from './components/Recover';\r\nimport { Reset } from './components/Reset';\r\nimport { NavBar } from './components/NavBar';\r\nimport { NotFound } from './components/NotFound';\r\n\r\n\r\nfunction useQuery() {\r\n const { search } = useLocation();\r\n\r\n return React.useMemo(() => new URLSearchParams(search), [search]);\r\n}\r\nfunction App() {\r\n let query = useQuery();\r\n return (\r\n
\r\n \r\n \r\n } />\r\n } />\r\n }>\r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default App;\r\n","const reportWebVitals = onPerfEntry => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport App from './App';\r\nimport reportWebVitals from './reportWebVitals';\r\nimport { BrowserRouter } from 'react-router-dom';\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n"],"sourceRoot":""}