{"version":3,"sources":["components/Uploads/UploadService.js","Contexts/AuthenticationContext.js","components/Uploads/UploadHistoryTable.js","components/Uploads/Uploads.js","components/Help/Help.js","components/Impressum/Impressum.js","components/Users/UserInfo.js","components/Users/UsersTable.js","components/Users/UserForm.js","components/Users/Users.js","components/Providers/ProvidersTable.js","components/Providers/ProviderForm.js","components/Providers/Providers.js","components/Jobs/BatchLogTable.js","components/Jobs/Jobs.js","components/Jobs/JobDetail.js","components/Dashboard/Dashboard.js","components/Login/Login.js","components/PasswordReset/PasswordReset.js","components/App/App.js","components/App/useAuthentication.js","reportWebVitals.js","index.js"],"names":["token","file","onUploadProgress","formData","FormData","append","axios","post","headers","Authorization","AuthenticationContext","React","createContext","user","columns","title","dataIndex","key","render","uploadTime","format","Date","size","Math","floor","hash","substring","align","version","successful","color","txt","UploadHistoryTable","props","dataSource","data","rowKey","BorderLinearProgress","withStyles","theme","root","width","height","borderRadius","colorPrimary","backgroundColor","bar","LinearProgress","useStyles","makeStyles","alignItems","flexDirection","display","errorBox","padding","successBox","Uploads","classes","isMounted","useRef","auth","useContext","useState","currentFile","progress","isError","isSuccess","message","uploads","state","setState","useEffect","current","getUploads","then","response","prev","a","get","Grid","container","className","Paper","style","maxWidth","justify","item","fileList","onFileRemove","beforeUpload","accept","maxCount","icon","UploadOutlined","marginTop","Box","pt","variant","value","Typography","Divider","pb","Button","component","disabled","onClick","uploading","UploadService","upload","event","round","loaded","total","status","catch","reason","msg","finally","type","description","closable","p","length","Help","paragraph","href","Impressum","UserInfo","firstName","lastName","email","provider","name","street","zip_Code","city","Link","deletedRow","ROLES","UsersTable","last_Name","first_Name","sorter","b","deleted","role","indexOf","row","initEditUser","QuestionCircleOutlined","onConfirm","setUserActiveStatus","okText","cancelText","fontWeight","resetPassword","active","config","Accept","put","user_Id","delete","setActive","Modal","success","content","error","rowClassName","pagination","Option","Select","layout","labelCol","span","wrapperCol","tailLayout","offset","UserForm","allProviders","xs","initialValues","provider_Id","providerId","onFinish","submitUser","onFinishFailed","Item","label","rules","required","isEditing","showSearch","placeholder","optionFilterProp","filterOption","input","option","children","toLowerCase","filterSort","optionA","optionB","localeCompare","map","abort","initialUser","Users","params","useParams","history","useHistory","currentProviderId","parseInt","users","isLoading","newUser","editUser","redirectToUsersProvider","push","mt","ix","findIndex","u","direction","startIcon","to","ProvidersTable","initEditProvider","showSuperusers","setProviderActivateStatus","url","ProviderForm","submitProvider","initialProvider","Providers","providers","newProvider","editProvider","newData","BatchLogTable","time","showInfo","Jobs","batch_control","JobDetail","jobId","jobLogs","drawerWidth","appBar","marginLeft","drawer","flexShrink","drawerPaper","toolbar","mixins","flexGrow","palette","background","default","spacing","logo","backgroundImage","backgroundRepeat","backgroundSize","marginRight","headerTitle","fontSize","Dashboard","CssBaseline","AppBar","position","Toolbar","noWrap","IconButton","logout","Drawer","paper","anchor","clsx","List","ListItem","button","ListItemIcon","ListItemText","primary","path","paddingTop","marginBottom","form","submit","margin","Login","setAuthentication","setEmail","password","setPassword","setError","loginUser","credentials","handleSubmit","e","preventDefault","Container","onSubmit","TextField","fullWidth","id","autoComplete","autoFocus","onChange","target","PasswordReset","fullHref","window","location","protocol","hostname","passwordConfirmation","setPasswordConfirmation","info","setInfo","resetSuccessful","setResetSuccessful","requestNewPassword","resetRequest","newPassword","resetToken","createMuiTheme","typography","fontFamily","join","main","App","sessionStorage","removeItem","authString","getItem","userAuthentication","JSON","parse","getAuthentication","authentication","setItem","stringify","useAuthentication","ThemeProvider","Provider","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","defaults","baseURL","ReactDOM","document","getElementById"],"mappings":"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","file":"static/js/main.3fc912f4.chunk.js","sourcesContent":["import axios from \"axios\";\n\nclass UploadService {\n upload(token, file, onUploadProgress) {\n let formData = new FormData();\n\n formData.append(\"file\", file);\n\n return axios.post(\"/uploads-generic\", formData, {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n Authorization: `Bearer ${token}`,\n },\n onUploadProgress,\n });\n }\n}\n\nexport default new UploadService();\n","import React from 'react';\n\nconst AuthenticationContext = React.createContext({user: {}});\n\nexport default AuthenticationContext","import { format } from \"date-fns\";\nimport { Table, Tag } from \"antd\";\n\nconst columns = [\n {\n title: \"Upload-Zeit\",\n dataIndex: \"upload_Time\",\n key: \"upload_Time\",\n render: (uploadTime) =>\n format(new Date(uploadTime), \"dd.MM.yyyy HH:mm\"),\n },\n {\n title: \"Size (KB)\",\n dataIndex: \"file_Size_Bytes\",\n key: \"file_Size_Bytes\",\n render: (size) => Math.floor(size / 1024) + \" KB\",\n },\n {\n title: \"File-Hash\",\n dataIndex: \"file_Hash\",\n key: \"file_Hash\",\n render: (hash) => {hash.substring(0, 10)},\n },\n {\n title: \"XML-Version\",\n dataIndex: \"xml_Version\",\n align: \"center\",\n render: (version) => {\n if (version === \"450\") return 4.5\n else if (version === \"440\") return 4.4\n }\n },\n {\n title: \"Status\",\n dataIndex: \"successful\",\n key: \"successful\",\n render: (successful) => {\n let color = successful ? \"green\" : \"volcano\";\n let txt = successful ? \"ERFOLGREICH\" : \"FEHLGESCHLAGEN\";\n return (\n \n {txt}\n \n );\n },\n align: \"center\"\n },\n];\n\nconst UploadHistoryTable = (props) => {\n return (\n \n );\n};\nexport default UploadHistoryTable;\n","import React, { useEffect, useRef } from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport \"./Uploads.css\";\nimport { Button, Divider } from \"@material-ui/core\";\nimport UploadService from \"./UploadService\";\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\nimport { Box, Typography, withStyles, Grid, Paper } from \"@material-ui/core\";\nimport AuthenticationContext from \"../../Contexts/AuthenticationContext\";\nimport UploadHistoryTable from \"./UploadHistoryTable\";\nimport { Alert } from \"antd\";\nimport axios from \"axios\";\nimport { Upload, Button as Antbutton } from \"antd\";\nimport { UploadOutlined } from \"@ant-design/icons\";\n\nconst BorderLinearProgress = withStyles((theme) => ({\n root: {\n width: 300,\n height: 15,\n borderRadius: 5,\n },\n colorPrimary: {\n backgroundColor: \"#EEEEEE\",\n },\n bar: {\n borderRadius: 5,\n backgroundColor: \"#1a90ff\",\n },\n}))(LinearProgress);\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n alignItems: \"center\",\n flexDirection: \"column\",\n display: \"flex\",\n },\n errorBox: {\n color: \"#611a15\",\n backgroundColor: \"#fdecea\",\n borderRadius: 5,\n padding: 20,\n },\n successBox: {\n color: \"#611a15\",\n backgroundColor: \"#edf7ed\",\n borderRadius: 5,\n padding: 20,\n },\n}));\n\nconst Uploads = (props) => {\n const classes = useStyles();\n const isMounted = useRef(false);\n const auth = React.useContext(AuthenticationContext);\n\n const [state, setState] = React.useState({\n currentFile: null,\n progress: 0,\n isError: false,\n isSuccess: false,\n message: null,\n uploads: [],\n });\n\n useEffect(() => {\n isMounted.current = true;\n\n getUploads().then((response) => {\n if (isMounted.current)\n setState((prev) => ({ ...prev, uploads: [...response.data] }));\n });\n\n return () => (isMounted.current = false);\n }, []);\n\n const getUploads = async () => {\n return axios.get(\"/user-uploads\", {\n headers: {\n Authorization: `Bearer ${auth.token}`,\n },\n });\n };\n\n const onFileRemove = (file) => {\n setState({\n ...state,\n currentFile: null,\n });\n };\n\n const beforeUpload = (file) => {\n setState((state) => ({\n ...state,\n currentFile: file,\n }));\n return false;\n };\n\n const upload = () => {\n setState({\n ...state,\n progress: 0,\n uploading: true,\n });\n\n UploadService.upload(auth.token, state.currentFile, (event) => {\n setState({\n ...state,\n progress: Math.round((100 * event.loaded) / event.total),\n });\n })\n .then((response) => {\n setState({\n ...state,\n message: response.data.message,\n isError: false,\n isSuccess: response.status === 200,\n uploading: false,\n });\n })\n .catch((reason) => {\n const msg =\n typeof reason.response?.data === \"string\"\n ? reason.response?.data\n : \"Beim Upload ist ein Fehler aufgetreten.\";\n setState((prev) => ({\n ...prev,\n message: msg,\n currentFile: null,\n isError: true,\n uploading: false,\n }));\n })\n .finally(() => {\n getUploads().then((response) => {\n if (isMounted.current)\n setState((prev) => ({\n ...prev,\n uploads: [...response.data],\n currentFile: null,\n }));\n });\n });\n };\n\n return (\n \n \n \n \n \n \n }\n style={{ marginTop: 15 }}\n >\n Datei auswählen\n \n \n \n\n \n \n {state.currentFile && (\n \n \n \n \n \n {`${state.progress}%`}\n \n \n )}\n \n \n\n \n\n \n \n \n {state.uploading\n ? \"Uploading...\"\n : \"Upload starten\"}\n \n \n \n \n\n \n \n {state.isError && (\n \n )}\n\n {state.isSuccess && (\n \n )}\n \n \n \n\n \n \n {state.uploads && state.uploads.length > 0 && (\n \n )}\n \n \n \n \n );\n};\n\nexport default Uploads;\n","import React from \"react\";\nimport Typography from \"@material-ui/core/Typography\";\n\nconst Help = (props) => {\n return (\n \n Bei Fragen zur LOA Tarifdatenbank oder der Benutzerverwaltung wenden Sie sich bitte an das Team Tarife von pharmaSuisse: tarife@pharmaSuisse.org.\n \n );\n};\n\nexport default Help","import React from \"react\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Box from \"@material-ui/core/Box\";\n\nconst Impressum = (props) => {\n return (\n \n pharmaSuisse\n

\n Schweizerischer Apothekerverband
\n Société Suisse des Pharmaciens
\n Società Svizzera die Farmacisti\n

\n\n

\n Stationsstrasse 12
\n CH-3097 Bern-Liebefeld
\n Tel. +41 (0)31 978 58 58
\n info@pharmaSuisse.org

\n\n

\n\n\n Websites | Sites de web\n

\n www.pharmaSuisse.org
\n www.ihre-apotheke.ch
\n www.votre-pharmacie.ch
\n www.vostra-farmacia.ch

\n\n www.impfapotheke.ch
\n www.vaccinationenpharmacie.ch
\n www.vaccinazioneinfarmacia.ch

\n\n Facebook
\n www.facebook.com → pharmaSuisse
\n www.facebook.com → Ihre Apotheke / Votre pharmacie / Vostra farmacia

\n\n Twitter
\n @pharma_suisse

\n\n YouTube
\n www.youTube.com → pharmaSuisse\n

\n
\n );\n};\n\nexport default Impressum","import React from \"react\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Box from \"@material-ui/core/Box\";\nimport PropTypes from \"prop-types\";\n\nconst UserInfo = (props) => {\n return (\n \n Benutzerinformation\n {props.user.firstName} {props.user.lastName}
\n {props.user.email}
\n\n \n\n Validator\n {props.user.provider.name}
\n {props.user.provider.street}
\n {props.user.provider.zip_Code} {props.user.provider.city}\n
\n );\n};\n\nexport default UserInfo\n\n\nUserInfo.propTypes = {\n user: PropTypes.object.isRequired\n}","import { makeStyles } from \"@material-ui/core/styles\";\nimport { Table, Tag, Space, Typography, Modal } from \"antd\";\nimport { Popconfirm } from \"antd\";\nimport { QuestionCircleOutlined } from \"@ant-design/icons\";\nimport axios from \"axios\";\nimport PropTypes from \"prop-types\";\n\nconst { Link } = Typography;\n\nconst useStyles = makeStyles((theme) => ({\n deletedRow: {\n color: \"rgb(0 0 0 / 50%)\",\n },\n}));\n\nconst ROLES = [ \"ADMIN\", \"SUPERUSER\", \"STANDARD\"]\n\nconst UsersTable = (props) => {\n const classes = useStyles();\n\n const columns = [\n {\n title: \"Name\",\n key: \"name\",\n render: (data) => `${data.last_Name} ${data.first_Name}`,\n sorter: (a, b) => `${a.last_Name} ${a.first_Name}` < `${b.last_Name} ${b.first_Name}` ? 1 : -1\n },\n {\n title: \"E-Mail\",\n dataIndex: \"email\",\n sorter: (a, b) => a.email < b.email ? 1 : -1\n },\n {\n title: \"Status\",\n dataIndex: \"deleted\",\n render: (deleted) => {\n let color = deleted ? \"volcano\" : \"green\";\n let txt = deleted ? \"DEAKTIVIERT\" : \"AKTIV\";\n return (\n \n {txt}\n \n );\n },\n sorter: (a, b) => a.deleted > b.deleted ? 1 : -1\n },\n {\n title: \"Rolle\",\n dataIndex: \"role\",\n render: (role) => {\n let color = role === \"STANDARD\" ? \"default\" : \"processing\";\n return (\n \n {role}\n \n );\n },\n sorter: (a, b) => ROLES.indexOf(a.role) - ROLES.indexOf(b.role)\n },\n {\n title: \"Aktionen\",\n key: \"aktionen\",\n render: (row) => {\n return (\n \n props.initEditUser(row)}>\n Bearbeiten\n \n {row.deleted && (\n \n }\n onConfirm={() => setUserActiveStatus(row, true)}\n okText=\"Ja\"\n cancelText=\"Nein\"\n >\n Aktivieren\n \n )}\n {!row.deleted && (\n \n }\n onConfirm={() =>\n setUserActiveStatus(row, false)\n }\n okText=\"Ja\"\n cancelText=\"Nein\"\n >\n Deaktivieren\n \n )}\n \n );\n },\n },\n {\n title: \"Passwort zurücksetzen\",\n key: \"resetPassword\",\n render: (user) => {\n return (\n \n \n \n Möchten Sie wirklich das Passwort\n zurücksetzen?\n \n
\n
\n Dem Benutzer wird dadurch ein E-Mail\n zugesendet mit welchem sie/er das Passwort\n neu setzen kann.\n \n }\n icon={\n \n }\n onConfirm={() => resetPassword(user)}\n okText=\"Ja\"\n cancelText=\"Nein\"\n >\n Passwort zurücksetzen\n \n
\n );\n },\n },\n ];\n\n const setUserActiveStatus = async (user, active) => {\n const config = {\n headers: {\n Authorization: `Bearer ${props.auth.token}`,\n Accept: \"application/json\",\n },\n };\n\n const func = active\n ? () => axios.put(`/users/activate/${user.user_Id}`, null, config)\n : () => axios.delete(`/users/${user.user_Id}`, config);\n\n func()\n .then((response) => {\n props.setActive(user, active);\n if (!active)\n Modal.success({\n title: \"Benutzer deaktiviert\",\n content:\n \"Der Benutzer wurde erfolgreich deaktiviert und ist nicht mehr in der Lage Daten zu liefern. Sie können den Benutzer jederzeit wieder aktivieren.\",\n });\n })\n .catch((reason) => {\n Modal.error({\n title: \"Fehler\",\n content: \"Es ist ein unerwarteter Fehler aufgetreten.\",\n });\n });\n };\n\n const resetPassword = async (user) => {\n axios\n .post(`/users/requestPasswordReset/${user.user_Id}`, null, {\n headers: {\n Authorization: `Bearer ${props.auth.token}`,\n },\n })\n .then((response) => {\n Modal.success({\n title: \"Aktion erfolgreich\",\n content:\n \"Dem Benutzer wurden die Instruktionen zum Zurücksetzen des Passworts direkt per E-Mail zugestellt.\",\n });\n })\n .catch((reason) => {\n Modal.error({\n title: \"Fehler\",\n content:\n \"Während dem Zurücksetzen des Passwortes ist ein Fehler aufgetreten.\",\n });\n });\n };\n\n return (\n row.deleted && classes.deletedRow}\n pagination={true}\n />\n );\n};\n\nexport default UsersTable;\n\nUsersTable.propTypes = {\n data: PropTypes.array.isRequired,\n auth: PropTypes.object.isRequired,\n setActive: PropTypes.func.isRequired,\n initEditUser: PropTypes.func.isRequired,\n};\n","import React from \"react\";\n\nimport Grid from \"@material-ui/core/Grid\";\nimport Button from \"@material-ui/core/Button\";\nimport PropTypes from \"prop-types\";\nimport { Form, Input, Space } from \"antd\";\nimport axios from \"axios\";\nimport AuthenticationContext from \"../../Contexts/AuthenticationContext\";\nimport { Select } from \"antd\";\n\nconst { Option } = Select;\n\nconst layout = {\n labelCol: { span: 5 },\n wrapperCol: { span: 12 },\n};\nconst tailLayout = {\n wrapperCol: { offset: 10, span: 12 },\n};\n\nconst UserForm = (props) => {\n const auth = React.useContext(AuthenticationContext);\n const isMounted = React.useRef(false);\n\n const [state, setState] = React.useState({\n allProviders: [],\n });\n\n React.useEffect(() => {\n isMounted.current = true;\n\n if (auth.role === \"ADMIN\") {\n axios\n .get(`/providers`, {\n headers: {\n Authorization: `Bearer ${auth.token}`,\n },\n })\n .then((response) => {\n if (isMounted.current)\n setState((prev) => ({\n ...prev,\n allProviders: response.data,\n }));\n });\n }\n\n return () => (isMounted.current = false);\n }, [auth.token, auth.role]);\n\n return (\n \n \n {}}\n >\n \n \n \n\n \n \n \n\n \n \n \n\n \n {auth.role === \"SUPERUSER\" ? (\n \n {props.provider?.name}\n \n ) : (\n state.allProviders.length > 0 && (\n \n option.children\n .toLowerCase()\n .indexOf(input.toLowerCase()) >= 0\n }\n filterSort={(optionA, optionB) =>\n optionA.children\n .toLowerCase()\n .localeCompare(\n optionB.children.toLowerCase()\n )\n }\n >\n {state.allProviders.map((p) => (\n \n {p.name}\n \n ))}\n \n )\n )}\n \n\n \n \n \n \n {props.isEditing ? \"Speichern\" : \"Erstellen\"}\n \n \n \n \n \n \n );\n};\n\nexport default UserForm;\n\nUserForm.propTypes = {\n submitUser: PropTypes.func.isRequired,\n abort: PropTypes.func.isRequired,\n initialValues: PropTypes.object,\n isEditing: PropTypes.bool,\n providerId: PropTypes.any.isRequired,\n};\n","import React, { useEffect } from \"react\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Box from \"@material-ui/core/Box\";\nimport Button from \"@material-ui/core/Button\";\nimport UsersTable from \"./UsersTable\";\nimport UserForm from \"./UserForm\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport AuthenticationContext from \"../../Contexts/AuthenticationContext\";\nimport axios from \"axios\";\nimport { Modal, Space } from \"antd\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport { Link } from \"react-router-dom\";\n\nconst initialUser = {\n email: \"\",\n first_Name: \"\",\n last_Name: \"\",\n};\n\nconst Users = (props) => {\n const auth = React.useContext(AuthenticationContext);\n const isMounted = React.useRef(false);\n const params = useParams();\n const history = useHistory();\n\n const currentProviderId =\n auth.role === \"ADMIN\"\n ? parseInt(params.providerId)\n : auth.provider.provider_Id;\n\n const [state, setState] = React.useState({\n users: [],\n isLoading: true,\n newUser: null,\n editUser: null,\n provider: null,\n });\n\n useEffect(() => {\n isMounted.current = true;\n\n axios\n .get(`/users/providers/${currentProviderId}`, {\n headers: {\n Authorization: `Bearer ${auth.token}`,\n },\n })\n .then((response) => {\n if (isMounted.current)\n setState((prev) => ({\n ...prev,\n users: [...response.data],\n isLoading: false,\n }));\n });\n\n axios\n .get(`/providers/${currentProviderId}`, {\n headers: {\n Authorization: `Bearer ${auth.token}`,\n },\n })\n .then((response) => {\n if (isMounted.current)\n setState((prev) => ({\n ...prev,\n provider: response.data,\n }));\n });\n\n return () => (isMounted.current = false);\n }, [currentProviderId, auth.token]);\n\n if (auth.role === \"ADMIN\" && !params.providerId)\n return

Es wurde kein Validator ausgewählt.

;\n\n const setActive = (user, active) => {\n setState((prev) => {\n const ix = prev.users.findIndex((u) => u.user_Id === user.user_Id);\n prev.users[ix].deleted = !active;\n return {\n ...prev,\n users: [...prev.users],\n };\n });\n };\n\n const initNewUser = () => {\n setState((prev) => ({\n ...prev,\n newUser: {\n ...initialUser,\n },\n }));\n };\n\n const doneCreatingUser = (newUser) => {\n setState((prev) => ({\n ...prev,\n newUser: null,\n users: [...prev.users, newUser],\n }));\n };\n\n const createUser = (data) => {\n axios\n .post(\n \"/users\",\n {\n provider_Id: data.provider_Id,\n first_Name: data.first_Name,\n last_Name: data.last_Name,\n email: data.email,\n },\n {\n headers: {\n Authorization: `Bearer ${auth.token}`,\n },\n }\n )\n .then((response) => {\n Modal.success({\n title: \"Benutzer erstellt\",\n content:\n \"Der Benutzer wurde erfolgreich erstellt. Eine Bestätigung wurde dem Benutzer direkt per E-Mail zugestellt.\",\n });\n doneCreatingUser(response.data);\n redirectToUsersProvider(response.data);\n })\n .catch((reason) => {\n Modal.error({\n title: \"Fehler\",\n content:\n typeof reason.response?.data === \"string\"\n ? reason.response?.data\n : \"Es ist ein Verarbeitungsfehler aufgetreten.\",\n });\n });\n };\n\n const initEditUser = (user) => {\n setState((prev) => ({\n ...prev,\n editUser: { ...user },\n }));\n };\n\n const doneUpdatingUser = (user) => {\n setState((prev) => {\n const ix = prev.users.findIndex((u) => u.user_Id === user.user_Id);\n prev.users[ix] = user;\n return {\n ...prev,\n users: [...prev.users],\n editUser: null,\n };\n });\n };\n\n const editUserSubmit = (data) => {\n const newUser = { ...state.editUser, ...data };\n axios\n .put(`/users/${state.editUser.user_Id}`, newUser, {\n headers: {\n Authorization: `Bearer ${auth.token}`,\n },\n })\n .then((response) => {\n Modal.success({\n title: \"Benutzer aktualisiert\",\n content: \"Der Benutzer wurde erfolgreich aktualisiert.\",\n });\n doneUpdatingUser(response.data);\n redirectToUsersProvider(newUser);\n })\n .catch((reason) => {\n Modal.error({\n title: \"Fehler\",\n content:\n typeof reason.response?.data === \"string\"\n ? reason.response?.data\n : \"Es ist ein Verarbeitungsfehler aufgetreten.\",\n });\n });\n };\n\n const redirectToUsersProvider = (user) => {\n history.push(`/users/${user.provider_Id}`);\n };\n\n const abortUserEdit = () => {\n setState((prev) => ({\n ...prev,\n editUser: null,\n }));\n };\n\n const abortUserCreation = () => {\n setState((prev) => ({\n ...prev,\n newUser: null,\n }));\n };\n\n if (state.newUser) {\n return (\n \n Neuer Benutzer\n \n \n \n );\n }\n\n if (state.editUser) {\n return (\n \n Benutzer bearbeiten\n \n \n \n );\n }\n\n return (\n \n \n \n Validator: {state.provider?.name}\n \n Benutzerverwaltung\n \n\n \n \n \n }\n onClick={initNewUser}\n >\n Neuer Benutzer\n \n {auth.role === \"ADMIN\" && (\n \n \n \n )}\n \n \n \n );\n};\n\nexport default Users;\n\nUsers.propTypes = {};\n","import { makeStyles } from \"@material-ui/core/styles\";\nimport { Table, Tag, Space, Typography, Modal } from \"antd\";\nimport { Popconfirm } from \"antd\";\nimport { QuestionCircleOutlined } from \"@ant-design/icons\";\nimport axios from \"axios\";\nimport PropTypes from \"prop-types\";\nimport { useHistory } from \"react-router-dom\";\n\nconst { Link } = Typography;\n\nconst useStyles = makeStyles((theme) => ({\n deletedRow: {\n color: \"rgb(0 0 0 / 50%)\",\n },\n}));\n\nconst ProvidersTable = (props) => {\n const classes = useStyles();\n const history = useHistory();\n\n const columns = [\n {\n title: \"Name\",\n dataIndex: \"name\",\n },\n {\n title: \"Ort\",\n render: (row) => `${row.zip_Code} ${row.city}`,\n },\n {\n title: \"Strasse\",\n dataIndex: \"street\",\n },\n {\n title: \"Status\",\n dataIndex: \"deleted\",\n render: (deleted) => {\n let color = deleted ? \"volcano\" : \"green\";\n let txt = deleted ? \"DEAKTIVIERT\" : \"AKTIV\";\n return (\n \n {txt}\n \n );\n },\n },\n {\n title: \"Aktionen\",\n key: \"aktionen\",\n render: (row) => {\n return (\n \n props.initEditProvider(row)}>\n Bearbeiten\n \n showSuperusers(row.provider_Id)}>\n Benutzer verwalten\n \n {row.deleted && (\n \n }\n onConfirm={() =>\n setProviderActivateStatus(row, true)\n }\n okText=\"Ja\"\n cancelText=\"Nein\"\n >\n Aktivieren\n \n )}\n {!row.deleted && (\n \n }\n onConfirm={() =>\n setProviderActivateStatus(row, false)\n }\n okText=\"Ja\"\n cancelText=\"Nein\"\n >\n Deaktivieren\n \n )}\n \n );\n },\n },\n ];\n\n const setProviderActivateStatus = async (provider, active) => {\n const url = active ? \"/providers/activate\" : \"/providers/deactivate\";\n axios\n .put(`${url}/${provider.provider_Id}`, null, {\n headers: {\n Authorization: `Bearer ${props.auth.token}`,\n },\n })\n .then((response) => {\n props.setActive(provider, active);\n if (!active)\n Modal.success({\n title: \"Validator deaktiviert\",\n content:\n \"Der Validator wurde erfolgreich deaktiviert und ist nicht mehr in der Lage Daten zu liefern. Sie können den Validator jederzeit wieder aktivieren.\",\n });\n })\n .catch((reason) => {\n Modal.error({\n title: \"Fehler\",\n content: \"Es ist ein unerwarteter Fehler aufgetreten.\",\n });\n });\n };\n\n const showSuperusers = (providerId) => {\n history.push(`/users/${providerId}`);\n };\n\n return (\n row.deleted && classes.deletedRow}\n pagination={true}\n />\n );\n};\n\nexport default ProvidersTable;\n\nProvidersTable.propTypes = {\n data: PropTypes.array.isRequired,\n auth: PropTypes.object.isRequired,\n setActive: PropTypes.func.isRequired,\n initEditProvider: PropTypes.func.isRequired,\n};\n","import React from \"react\";\n\nimport Grid from \"@material-ui/core/Grid\";\nimport Button from \"@material-ui/core/Button\";\nimport PropTypes from \"prop-types\";\nimport { Form, Input, Space, Tooltip, Switch } from \"antd\";\n\nconst layout = {\n labelCol: { span: 3 },\n wrapperCol: { span: 12 },\n};\nconst tailLayout = {\n wrapperCol: { offset: 10, span: 12 },\n};\n\nconst ProviderForm = (props) => {\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 {props.isEditing ? \"Speichern\" : \"Erstellen\"}\n \n \n \n \n \n \n );\n};\n\nexport default ProviderForm;\n\nProviderForm.propTypes = {\n submitProvider: PropTypes.func.isRequired,\n abort: PropTypes.func.isRequired,\n initialValues: PropTypes.object,\n isEditing: PropTypes.bool,\n};\n","import React, { useEffect } from \"react\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Box from \"@material-ui/core/Box\";\nimport Button from \"@material-ui/core/Button\";\nimport ProvidersTable from \"./ProvidersTable\";\nimport ProviderForm from \"./ProviderForm\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport AuthenticationContext from \"../../Contexts/AuthenticationContext\";\nimport axios from \"axios\";\nimport { Modal } from \"antd\";\n\nconst initialProvider = {\n name: \"\",\n street: \"\",\n zip_Code: \"\",\n city: \"\",\n};\n\nconst Providers = (props) => {\n const auth = React.useContext(AuthenticationContext);\n const isMounted = React.useRef(false);\n\n const [state, setState] = React.useState({\n providers: [],\n isLoading: true,\n newProvider: null,\n editProvider: null,\n });\n\n const getProviders = () => {\n setState((prev) => ({ ...prev, isLoading: true }));\n return axios.get(`/providers`, {\n headers: {\n Authorization: `Bearer ${auth.token}`,\n },\n });\n };\n\n const setActive = (provider, active) => {\n setState((prev) => {\n const ix = prev.providers.findIndex(\n (u) => u.provider_Id === provider.provider_Id\n );\n prev.providers[ix].deleted = !active;\n return {\n ...prev,\n providers: [...prev.providers],\n };\n });\n };\n\n const initNewProvider = () => {\n setState((prev) => ({\n ...prev,\n newProvider: {\n ...initialProvider,\n },\n }));\n };\n\n const doneCreatingProvider = (newProvider) => {\n setState((prev) => ({\n ...prev,\n newProvider: null,\n providers: [...prev.providers, newProvider],\n }));\n };\n\n const createProvider = (newData) => {\n axios\n .post(\n \"/providers\",\n {\n ...newData,\n provider_Id: auth.provider.provider_Id,\n },\n {\n headers: {\n Authorization: `Bearer ${auth.token}`,\n },\n }\n )\n .then((response) => {\n Modal.success({\n title: \"Validator erstellt\",\n content:\n \"Der Validator wurde erfolgreich erstellt.\",\n });\n doneCreatingProvider(response.data);\n })\n .catch((reason) => {\n Modal.error({\n title: \"Fehler\",\n content:\n typeof reason.response?.data === \"string\"\n ? reason.response?.data\n : \"Es ist ein Verarbeitungsfehler aufgetreten.\",\n });\n });\n };\n\n const initEditProvider = (provider) => {\n setState((prev) => ({\n ...prev,\n editProvider: { ...provider },\n }));\n };\n\n const doneUpdatingProvider = (provider) => {\n setState((prev) => {\n const ix = prev.providers.findIndex(\n (u) => u.provider_Id === provider.provider_Id\n );\n prev.providers[ix] = provider;\n return {\n ...prev,\n providers: [...prev.providers],\n editProvider: null,\n };\n });\n };\n\n const editProviderSubmit = (data) => {\n const newProvider = { ...state.editProvider, ...data };\n axios\n .put(`/providers/${state.editProvider.provider_Id}`, newProvider, {\n headers: {\n Authorization: `Bearer ${auth.token}`,\n },\n })\n .then((response) => {\n Modal.success({\n title: \"Validator aktualisiert\",\n content: \"Der Validator wurde erfolgreich aktualisiert.\",\n });\n doneUpdatingProvider(response.data);\n })\n .catch((reason) => {\n Modal.error({\n title: \"Fehler\",\n content:\n typeof reason.response?.data === \"string\"\n ? reason.response?.data\n : \"Es ist ein Verarbeitungsfehler aufgetreten.\",\n });\n });\n };\n\n const abortProviderEdit = () => {\n setState((prev) => ({\n ...prev,\n editProvider: null,\n }));\n };\n\n const abortProviderCreation = () => {\n setState((prev) => ({\n ...prev,\n newProvider: null,\n }));\n };\n\n useEffect(() => {\n isMounted.current = true;\n\n getProviders().then((response) => {\n if (isMounted.current)\n setState((prev) => ({\n ...prev,\n providers: [...response.data],\n isLoading: false,\n }));\n });\n\n return () => (isMounted.current = false);\n }, []);\n\n if (state.newProvider) {\n return (\n \n Neuer Validator\n \n \n \n );\n }\n\n if (state.editProvider) {\n return (\n \n Validator bearbeiten\n \n \n \n );\n }\n\n return (\n \n Validatoren verwalten\n \n\n \n }\n onClick={initNewProvider}\n >\n Neuer Validator\n \n \n \n );\n};\n\nexport default Providers;\n","import { Table, Tag, Space, Typography } from \"antd\";\nimport PropTypes from \"prop-types\";\nimport { format } from \"date-fns\";\n\nconst { Link } = Typography;\n\n\nconst BatchLogTable = (props) => {\n const columns = [\n {\n title: \"Ausführungszeitpunkt\",\n dataIndex: \"batch_Start_Date\",\n render: (time) => {\n return format(new Date(time), \"dd.MM.yyyy HH:mm T\");\n },\n },\n {\n title: \"Bezeichnung\",\n dataIndex: \"batch_Name\",\n },\n {\n title: \"Job-Id\",\n dataIndex: \"job_Id\",\n },\n {\n title: \"Status\",\n dataIndex: \"batch_Status\",\n render: (status) => {\n let color = status === \"FAILED\" ? \"volcano\" : \"green\";\n let txt =\n status === \"FAILED\" ? \"FEHLGESCHLAGEN\" : \"ERFOLGREICH\";\n return (\n \n {txt}\n \n );\n },\n },\n {\n title: \"Aktionen\",\n key: \"aktionen\",\n render: (row) => {\n return (\n \n props.showInfo(row)}>Infos\n \n );\n },\n },\n ];\n\n return (\n row.deleted && classes.deletedRow}\n pagination={true}\n />\n );\n};\n\nexport default BatchLogTable;\n\nBatchLogTable.propTypes = {\n data: PropTypes.array.isRequired,\n auth: PropTypes.object.isRequired,\n showInfo: PropTypes.func.isRequired,\n};\n","import React, { useEffect } from \"react\";\nimport { Modal } from \"antd\";\nimport { Box } from \"@material-ui/core\";\nimport axios from \"axios\";\nimport BatchLogTable from \"./BatchLogTable\";\nimport AuthenticationContext from \"../../Contexts/AuthenticationContext\";\n\nconst Jobs = (props) => {\n const isMounted = React.useRef(false);\n const auth = React.useContext(AuthenticationContext);\n\n const [state, setState] = React.useState({\n batch_control: [],\n });\n\n useEffect(() => {\n isMounted.current = true;\n\n axios\n .get(\"/audits/batch-log\")\n .then((response) => {\n setState({\n ...state,\n batch_control: response.data,\n });\n })\n .catch((reason) => {\n Modal.error({\n title: \"Fehler\",\n content:\n typeof reason.response?.data === \"string\"\n ? reason.response?.data\n : \"Es ist ein Verarbeitungsfehler aufgetreten.\",\n });\n });\n\n return () => (isMounted.current = false);\n }, [state]);\n\n return (\n \n \n \n );\n};\n\nexport default Jobs;\n","import React from \"react\";\nimport axios from \"axios\";\nimport { useParams } from \"react-router-dom\";\nimport AuthenticationContext from \"../../Contexts/AuthenticationContext\";\nimport { format } from \"date-fns\";\nimport { Table } from \"antd\";\n\nconst JobDetail = (props) => {\n const params = useParams();\n const isMounted = React.useRef(false);\n const auth = React.useContext(AuthenticationContext);\n\n const jobId = params.jobId;\n\n const [state, setState] = React.useState({\n jobLogs: [],\n });\n\n React.useEffect(() => {\n isMounted.current = true;\n\n axios\n .get(`/audits/jobs/${jobId}`, {\n headers: {\n Authorization: `Bearer ${auth.token}`,\n },\n })\n .then((response) => {\n if (isMounted.current)\n setState((prev) => ({\n ...prev,\n jobLogs: response.data,\n }));\n });\n\n return () => (isMounted.current = false);\n }, [auth.token, jobId]);\n\n const columns = [\n {\n title: \"EventLogId\",\n dataIndex: \"event_Log_Id\",\n },\n {\n title: \"Job_Id\",\n dataIndex: \"job_Id\",\n },\n {\n title: \"Entity\",\n dataIndex: \"entity\",\n },\n {\n title: \"Time_Start\",\n dataIndex: \"time_Start\",\n render: (time) => format(new Date(time), \"dd.MM.yyyy HH:mm T\"),\n },\n {\n title: \"Time_End\",\n dataIndex: \"time_End\",\n render: (time) => format(new Date(time), \"dd.MM.yyyy HH:mm T\"),\n },\n {\n title: \"rows_Before\",\n dataIndex: \"rows_Before\",\n },\n {\n title: \"rows_After\",\n dataIndex: \"rows_After\",\n },\n {\n title: \"note\",\n dataIndex: \"note\",\n },\n ];\n\n return (\n \n );\n};\n\nexport default JobDetail;\n","import React from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Drawer from \"@material-ui/core/Drawer\";\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport List from \"@material-ui/core/List\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Divider from \"@material-ui/core/Divider\";\nimport Box from \"@material-ui/core/Box\";\nimport ListItem from \"@material-ui/core/ListItem\";\nimport HelpIcon from \"@material-ui/icons/Help\";\nimport { Link, Redirect } from \"react-router-dom\";\nimport PersonIcon from \"@material-ui/icons/Person\";\nimport ListItemIcon from \"@material-ui/core/ListItemIcon\";\nimport ListItemText from \"@material-ui/core/ListItemText\";\nimport { Route, Switch } from \"react-router-dom\";\nimport CloudUploadIcon from \"@material-ui/icons/CloudUpload\";\nimport ExitToAppIcon from \"@material-ui/icons/ExitToApp\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Uploads from \"../Uploads/Uploads\";\nimport AuthenticationContext from \"../../Contexts/AuthenticationContext\";\nimport Help from \"../Help/Help\";\nimport Impressum from \"../Impressum/Impressum\";\nimport UserInfo from \"../Users/UserInfo\";\nimport PeopleIcon from \"@material-ui/icons/People\";\nimport Users from \"../Users/Users\";\nimport Providers from \"../Providers/Providers\";\nimport clsx from \"clsx\";\nimport Jobs from \"../Jobs/Jobs\";\nimport JobDetail from \"../Jobs/JobDetail\";\nimport LocalPharmacyIcon from \"@material-ui/icons/LocalPharmacy\";\nimport SecurityIcon from \"@material-ui/icons/Security\";\n\nconst drawerWidth = 360;\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: \"flex\",\n },\n appBar: {\n width: `calc(100% - ${drawerWidth}px)`,\n marginLeft: drawerWidth,\n backgroundColor: \"#009a53\",\n },\n drawer: {\n width: drawerWidth,\n flexShrink: 0,\n },\n drawerPaper: {\n width: drawerWidth,\n },\n // necessary for content to be below app bar\n toolbar: {\n ...theme.mixins.toolbar,\n height: 160,\n },\n content: {\n flexGrow: 1,\n backgroundColor: theme.palette.background.default,\n padding: theme.spacing(3),\n marginTop: -50,\n },\n logo: {\n backgroundImage: \"url('./logo-pharmaSuisse-mit-Schriftzug.png')\",\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"contain\",\n display: \"block\",\n marginLeft: \"auto\",\n marginRight: \"auto\",\n marginTop: 20,\n width: 290,\n },\n headerTitle: {\n color: \"white\",\n marginTop: 7,\n fontSize: 22,\n fontWeight: 400,\n },\n}));\n\nconst Dashboard = (props) => {\n const auth = React.useContext(AuthenticationContext);\n const classes = useStyles();\n\n return (\n
\n \n \n \n \n \n \n LOA Tarifdatenbank\n \n \n \n \n \n \n \n \n \n \n \n
\n\n \n {(auth.role === \"SUPERUSER\" ||\n auth.role === \"STANDARD\") && (\n \n \n \n \n \n \n )}\n\n \n\n {/* */}\n\n {auth.role === \"SUPERUSER\" && (\n \n \n \n \n \n \n )}\n\n {auth.role === \"ADMIN\" && (\n \n \n \n \n \n \n )}\n\n \n \n \n \n \n \n{/* \n {auth.role === \"ADMIN\" && (\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 auth.logout()}>\n \n \n \n \n \n \n \n
\n
\n\n \n \n {auth.role === \"ADMIN\" ? (\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 {auth.role === \"ADMIN\" ? : }\n \n \n
\n
\n );\n};\n\nexport default Dashboard;\n","import React, { useEffect } from \"react\";\nimport Button from \"@material-ui/core/Button\";\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\nimport TextField from \"@material-ui/core/TextField\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Container from \"@material-ui/core/Container\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport { useHistory } from \"react-router-dom\";\n\nimport PropTypes from \"prop-types\";\nimport \"./Login.css\";\nimport axios from \"axios\";\n\nconst useStyles = makeStyles((theme) => ({\n paper: {\n paddingTop: theme.spacing(8),\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n },\n logo: {\n background: \"url('./logo_pharmaSuisse_wo_text.png')\",\n width: 74,\n height: 80,\n marginBottom: 25,\n },\n form: {\n width: \"100%\", // Fix IE 11 issue.\n marginTop: theme.spacing(1),\n },\n submit: {\n margin: theme.spacing(3, 0, 2),\n },\n error: {\n color: \"#da0d0d\",\n fontWeight: 500,\n },\n}));\n\nconst Login = ({ setAuthentication }) => {\n const classes = useStyles();\n const history = useHistory();\n\n const isMounted = React.useRef(false);\n const [email, setEmail] = React.useState();\n const [password, setPassword] = React.useState();\n const [error, setError] = React.useState(false);\n\n useEffect(() => {\n isMounted.current = true;\n return () => (isMounted.current = false);\n }, []);\n\n const loginUser = async (credentials) => {\n return axios\n .post(\"/users/authenticate\", credentials)\n .then((response) => {\n if (response.status === 200) {\n history.push(\"/\");\n return response.data;\n }\n })\n .catch((data) => {\n setError(true);\n });\n };\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n const user = await loginUser({\n email,\n password,\n });\n if (user) setAuthentication(user);\n };\n\n return (\n \n \n
\n
\n \n Anmelden\n \n
\n setEmail(e.target.value)}\n />\n setPassword(e.target.value)}\n />\n {error && (\n \n \n \n E-Mail Adresse oder Passwort ist falsch.\n \n \n \n )}\n \n Anmelden\n \n \n
\n \n );\n};\n\nLogin.propTypes = {\n setAuthentication: PropTypes.func.isRequired,\n};\n\nexport default Login;\n","import React, { useEffect } from \"react\";\nimport Button from \"@material-ui/core/Button\";\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\nimport TextField from \"@material-ui/core/TextField\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Container from \"@material-ui/core/Container\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport { Alert } from \"antd\";\nimport Box from \"@material-ui/core/Box\";\nimport Link from \"@material-ui/core/Link\";\n\nimport axios from \"axios\";\nimport { useParams } from \"react-router-dom\";\n\nconst useStyles = makeStyles((theme) => ({\n paper: {\n paddingTop: theme.spacing(8),\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n },\n logo: {\n background: \"url('../logo_pharmaSuisse_wo_text.png')\",\n width: 74,\n height: 80,\n marginBottom: 25,\n },\n form: {\n width: \"100%\", // Fix IE 11 issue.\n marginTop: theme.spacing(1),\n },\n submit: {\n margin: theme.spacing(3, 0, 2),\n },\n error: {\n color: \"#da0d0d\",\n fontWeight: 500,\n },\n}));\n\nconst PasswordReset = (props) => {\n const classes = useStyles();\n const params = useParams();\n\n const token = params.token;\n const protocol = window.location.protocol;\n const hostname = window.location.hostname;\n const fullHref = protocol + \"//\" + hostname;\n\n const isMounted = React.useRef(false);\n const [password, setPassword] = React.useState();\n const [passwordConfirmation, setPasswordConfirmation] = React.useState();\n const [error, setError] = React.useState(null);\n const [info, setInfo] = React.useState(null);\n const [resetSuccessful, setResetSuccessful] = React.useState(false);\n\n useEffect(() => {\n isMounted.current = true;\n\n // check if the token is still valid\n axios\n .get(`/users/resetTokenStillValid/${token}`)\n .then((response) => {\n if (response.status === 200 && response.data !== true)\n setError(\n \"Der Link ist leider nicht mehr gültig. Fordern Sie bitte einen neuen an.\"\n );\n })\n .catch((data) => {\n setError(\"Es ist leider ein Verarbeitungsfehler aufgetreten.\");\n });\n\n return () => (isMounted.current = false);\n }, [token]);\n\n const requestNewPassword = async (resetRequest) => {\n return axios\n .put(\"/users/passwordReset\", resetRequest)\n .then((response) => {\n if (response.status === 200) {\n setInfo(response.data);\n setResetSuccessful(true);\n }\n })\n .catch((reason) => {\n setError(\n reason.response\n ? reason.response.data\n : \"Es ist ein unbekannter Verarbeitungsfehler aufgetreten\"\n );\n });\n };\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n\n requestNewPassword({\n newPassword: password,\n resetToken: token,\n });\n };\n\n if (resetSuccessful)\n return (\n \n \n
\n
\n \n Neues Passwort erfolgreich gesetzt\n \n\n \n

\n Das neue Paswort wurde erfolgreich gesetzt. Sie\n können sich nun mit Ihrem neuen Passwort einloggen.\n

\n Zum Login\n
\n
\n \n );\n\n return (\n \n \n
\n
\n \n Neues Passwort setzen\n \n
\n setPassword(e.target.value)}\n />\n \n setPasswordConfirmation(e.target.value)\n }\n />\n {error && (\n \n \n \n )}\n {info && (\n \n \n \n )}\n \n Neues Passwort setzen\n \n \n
\n \n );\n};\n\nexport default PasswordReset;\n","import React from \"react\";\nimport { BrowserRouter } from \"react-router-dom\";\nimport { createMuiTheme, ThemeProvider } from \"@material-ui/core/styles\";\n\nimport \"../../fonts/fonts.css\";\nimport \"./App.css\";\nimport \"antd/dist/antd.css\";\nimport Dashboard from \"../Dashboard/Dashboard\";\nimport Login from \"../Login/Login\";\nimport AuthenticationContext from \"../../Contexts/AuthenticationContext\";\nimport useAuthentication from \"./useAuthentication\";\nimport { Route, Switch } from \"react-router-dom\";\nimport PasswordReset from \"../PasswordReset/PasswordReset\";\n\nconst theme = createMuiTheme({\n typography: {\n fontFamily: [\n \"Myriad Pro\",\n \"-apple-system\",\n \"BlinkMacSystemFont\",\n '\"Segoe UI\"',\n \"Roboto\",\n '\"Helvetica Neue\"',\n \"Arial\",\n \"sans-serif\",\n '\"Apple Color Emoji\"',\n '\"Segoe UI Emoji\"',\n '\"Segoe UI Symbol\"',\n ].join(\",\"),\n },\n palette: {\n primary: {\n main: \"#009a53\",\n },\n },\n});\n\nconst App = () => {\n const { authentication, setAuthentication } = useAuthentication();\n\n return (\n \n
\n \n \n \n \n \n \n {!authentication || !authentication.token ? (\n \n ) : (\n \n \n \n )}\n \n \n \n
\n
\n );\n};\n\nexport default App;\n","import { useState } from \"react\";\n\nexport default function useAuthentication() {\n const logout = () => {\n sessionStorage.removeItem(\"authentication\");\n setAuthentication(null);\n };\n\n const getAuthentication = () => {\n const authString = sessionStorage.getItem(\"authentication\");\n const userAuthentication = JSON.parse(authString);\n\n return { ...userAuthentication, logout: logout };\n };\n\n const [authentication, setAuthentication] = useState(getAuthentication());\n\n const saveAuthentication = (auth) => {\n sessionStorage.setItem(\"authentication\", JSON.stringify(auth));\n setAuthentication({ ...auth, logout });\n };\n\n return {\n setAuthentication: saveAuthentication,\n authentication,\n };\n}\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport \"./index.css\";\nimport App from \"./components/App/App\";\nimport reportWebVitals from \"./reportWebVitals\";\nimport axios from \"axios\";\n\naxios.defaults.baseURL =\n process.env.NODE_ENV === \"development\"\n ? \"http://localhost:5000/api\"\n : \"/api\";\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\nreportWebVitals();\n"],"sourceRoot":""}