{"version":3,"sources":["store/customizationReducer.js","contexts/JWTContext.js","utils/Array.js","utils/Interactions.js","ui-component/Icons.js","store/constant.js","ui-component/Logo.js","assets/scss/_themes-vars.module.scss","store/interactionsSlice.js","utils/User.js","assets/scss/_theme1.module.scss","assets/scss/_theme2.module.scss","assets/scss/_theme3.module.scss","assets/scss/_theme4.module.scss","assets/scss/_theme5.module.scss","routes/paths.js","assets/scss/_theme6.module.scss","layout/MainLayout/Header/index.js","ui-component/LogoFooter.js","layout/MainLayout/Footer/index.js","layout/MainLayout/index.js","ui-component/Loadable.js","routes/GuestRoutes.js","utils/Login.js","utils/route-guard/AuthGuard.js","routes/UserRoutes.js","utils/route-guard/GuestGuard.js","layout/NoLayout/index.js","layout/NavMotion.js","routes/LoginRoutes.js","routes/index.js","themes/palette.js","themes/typography.js","themes/shadows.js","themes/index.js","themes/compStyleOverride.js","layout/NavigationScroll.js","ui-component/extended/Snackbar.js","App.js","index.js","utils/Axios.js","store/authReducer.js","hooks/useAuth.js","config.js","store/actions.js","ui-component/Loader.js","utils/Drugs.js","utils/ReduxPersistTransformDrugs.js","store/snackbarReducer.js","store/reducer.js","store/index.js"],"names":["setTheme","createAction","initialState","fontFamily","config","borderRadius","outlinedFilled","navType","theme","presetColor","customizationReducer","state","action","type","payload","isLoggedIn","isInitialized","user","verifyToken","token","jwtDecode","exp","Date","now","setSession","validate","localStorage","setItem","JSON","stringify","axios","defaults","headers","common","Authorization","removeItem","JWTContext","createContext","JWTProvider","children","useReducer","authReducer","dispatch","useState","refreshTimer","setRefreshTimer","useEffect","init","parse","window","getItem","LOGIN","startRefreshTimer","LOGOUT","refreshInterval","refreshToken","timer","setInterval","stopRefreshTimer","Math","max","clearInterval","login","email","password","post","response","data","handleNewToken","ipLogin","decoded","sub","role","dbu","firstName","fname","lastName","lname","cin","tin","logout","delete","register","licenseAgreement","confirmEmail","code","forgotPassword","restorePassword","changePassword","newPassword","confirmNewPassword","old","new","confirm","updateProfile","companyIdentificationNumber","taxIdentificationNumber","undefined","Provider","value","pushSorted","el","arr","compare","x","y","length","push","isLast","i","len","splice","padSukl","a","slice","getOrCreateDrugLeft","name","drugLeft","find","sukl","highestAssessment","drugs","getOrCreateDrugRight","drugRight","interactions","assessment","pushInteraction","interaction","mirror","atc1","atc2","found","pair","atcPairs","newInteraction","normalizeDrugs","res","forEach","drugLeft1","sukl1","drugLeft2","sukl2","drugRight1","drugRight2","normalizeFood","drugFirst","HeartIcon","props","viewBox","d","ElderlyIcon","InfoIcon","PLIIcon","BookIcon","AcademyIcon","RotateToLandscape","Visa","fill","width","height","rx","id","x1","y1","x2","y2","gradientUnits","offset","stopColor","MasterCard","GooglePay","ApplePay","Bank","Attention","CE","MD","Book","Factory","points","gridSpacing","Logo","useTheme","xmlns","palette","mode","module","exports","getDrugs","createAsyncThunk","arg","thunkAPI","getState","get","version","apiVersion","drug","atc","status","SNACKBAR_OPEN","open","message","variant","alertSeverity","fulfillWithValue","interactionsSlice","createSlice","selectedDrugs","reducers","setSelectedDrugs","extraReducers","builder","addCase","fulfilled","actions","hasDbAccess","path","root","sublink","ROOTS_HOME","ROOTS_INTERACTIONS","ROOTS_ABOUT_DATABASE","ROOTS_ACCOUNT","PATH_HOME","PATH_AUTH","confirmEmail2","restorePassword2","PATH_INTERACTIONS","pli","PATH_ABOUT_INTERACTIONS","PATH_ABOUT_DATABASE","databaseCreation","evaluationOfInteractions","workWithDatabse","glossary","termsAndConditions","PATH_ACCOUNT","extendLicense","paymentStatus","NestedListItemButton","styled","ListItemButton","paddingLeft","Tooltip","arrow","placement","TransitionComponent","Zoom","TransitionProps","timeout","Header","useDispatch","useAuth","navigate","useNavigate","mdDown","useMediaQuery","breakpoints","down","anchorAboutDb","setAnchorAboutDb","openAboutDb","Boolean","anchorAccount","setAnchorAccount","openAccount","drawerToggle","setDrawerToggle","expandAboutDatabase","setExpandAboutDatabase","drawerToggler","event","key","toggleThemeMode","handleLogin","replace","handleLogout","handleAccountClose","console","error","handleAboutDbClose","Container","disableGutters","Toolbar","Typography","component","sx","flexGrow","textAlign","title","Link","RouterLink","to","Stack","direction","display","xs","md","spacing","Button","textTransform","color","text","primary","onClick","currentTarget","Menu","anchorEl","onClose","MenuListProps","MenuItem","IconButton","ListItemIcon","Box","size","Drawer","anchor","List","style","textDecoration","href","onKeyDown","ListItemText","disablePadding","LogoFooter","hover","setHover","onMouseEnter","onMouseLeave","FooterLink","alignItems","fontsize","marginRight","opacity","FooterCard","Card","borderBottomLeftRadius","borderBottomRightRadius","border","borderBottom","borderColor","background","default","FooterSubCard","padding","margin","borderTop","FooterPage","CardContent","Grid","container","item","sm","target","underline","justifyContent","getFullYear","Body","flexDirection","minHeight","backgroundColor","light","flexShrink","flexBasis","dark","grey","Footer","MainContainer","MainLayout","Alert","severity","toLocaleDateString","Loadable","Component","fallback","Loader","HomePage","lazy","AboutInteractionsPage","DatabaseCreationPage","EvaluationOfInteractionsPage","WorkWithDatabsePage","GlossaryPage","LicenseAgreementPage","TermsAndConditionsPage","GuestRoutes","element","getLoginWithReturnUrl","url","URL","location","pathname","encodeURIComponent","search","AuthGuard","useSearchParams","searchParams","setSearchParams","ott","reload","then","resp","catch","err","propTypes","PropTypes","node","InteractionsPage","PLIPage","AccountPage","ExtendLicensePage","PaymentStatusPage","UserRoutes","GuestGuard","NoLayout","NavMotion","motion","div","initial","animate","exit","variants","scale","in","out","transition","ease","duration","AuthLogin","NotFoundPage","AuthRegister","AuthConfirmEmail","AuthForgotPassword","AuthRestorePassword","LoginRoutes","ThemeRoutes","useRoutes","themePalette","customization","black","colors","darkPaper","darkPrimaryLight","primaryLight","main","darkPrimaryMain","primaryMain","darkPrimaryDark","primaryDark","darkPrimary200","primary200","darkPrimary800","primary800","secondary","darkSecondaryLight","secondaryLight","darkSecondaryMain","secondaryMain","darkSecondaryDark","secondaryDark","darkSecondary200","secondary200","darkSecondary800","secondary800","errorLight","errorMain","errorDark","orange","orangeLight","orangeMain","orangeDark","warning","warningLight","warningMain","warningDark","success","successLight","success200","successMain","successDark","grey50","grey100","darkTextSecondary","heading","darkTextPrimary","textDark","darkLevel1","darkLevel2","darkBackground","hint","paper","backgroundDefault","themeTypography","h6","fontWeight","fontSize","h5","h4","h3","h2","h1","subtitle1","subtitle2","caption","body1","lineHeight","body2","letterSpacing","button","customInput","marginTop","marginBottom","top","left","grey500","mainContent","menuCaption","subMenuCaption","commonAvatar","cursor","smallAvatar","mediumAvatar","largeAvatar","createCustomShadow","transparent","alpha","z1","z8","z12","z16","z20","z24","customShadows","grey600","theme1","theme2","theme3","theme4","theme5","theme6","themeOption","menuSelected","menuSelectedBack","divider","darkTextTitle","grey700","grey900","grey200","themeOptions","rtlLayout","mixins","toolbar","typography","themes","createTheme","components","bgColor","MuiButton","styleOverrides","MuiPaper","defaultProps","elevation","backgroundImage","rounded","MuiCardHeader","MuiCardContent","MuiCardActions","MuiAlert","outlined","MuiListItemButton","paddingTop","paddingBottom","MuiListItemIcon","minWidth","MuiListItemText","MuiInputBase","input","MuiOutlinedInput","grey400","inputAdornedStart","notchedOutline","MuiSlider","grey300","mark","valueLabel","MuiAutocomplete","popper","boxShadow","MuiDivider","MuiSelect","select","MuiCheckbox","MuiAvatar","MuiChip","MuiTimelineContent","MuiTreeItem","label","MuiTimelineDot","MuiInternalDateTimePickerTabs","tabs","MuiTabs","flexContainer","MuiDialog","MuiTableCell","MuiTooltip","tooltip","MuiDialogTitle","componentStyleOverrides","NavigationScroll","useLocation","scrollTo","behavior","SlideLeft","Slide","SlideUp","SlideRight","SlideDown","Grow","Fade","Snackbar","setOpen","snackbarInitial","useSelector","snackbar","handleClose","reason","anchorOrigin","autoHideDuration","e","v","bgcolor","actionButton","close","App","StyledEngineProvider","injectFirst","ThemeProvider","CssBaseline","ReactDOM","render","StrictMode","store","loading","persistor","persister","basename","document","getElementById","axiosServices","create","baseURL","interceptors","use","setTimeout","Promise","reject","context","useContext","Error","defaultPath","i18n","jwt","secret","LoaderWrapper","position","zIndex","createDrugsLookup","drugsLookup","suklCodes","split","join","normalizeSuklCodes","suklCode","vertical","horizontal","snackbarReducer","actionTypes","reducer","combineReducers","auth","persistReducer","storage","keyPrefix","transforms","createTransform","fullState","whitelist","interactionsReducer","configureStore","devTools","process","middleware","thunk","persistStore"],"mappings":"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","file":"static/js/main.0cfa7988.chunk.js","sourcesContent":["import { createAction } from '@reduxjs/toolkit'\n\n// project imports\nimport config from 'config';\n\n// action - customization reducer\nexport const setTheme = createAction('customization/setTheme')\n\nexport const initialState = {\n fontFamily: config.fontFamily,\n borderRadius: config.borderRadius,\n outlinedFilled: config.outlinedFilled,\n navType: config.theme,\n presetColor: config.presetColor\n};\n\n// ==============================|| CUSTOMIZATION REDUCER ||============================== //\n\nconst customizationReducer = (state = initialState, action) => {\n switch (action.type) {\n case setTheme.type:\n return {\n ...state,\n navType: action.payload\n };\n default:\n return { ...state };\n }\n};\n\nexport default customizationReducer;\n","import PropTypes from 'prop-types';\r\nimport { createContext, useEffect, useReducer, useState } from 'react';\r\n\r\n// third-party\r\nimport jwtDecode from 'jwt-decode';\r\n\r\n// reducer - state management\r\nimport { LOGIN, LOGOUT } from 'store/authReducer';\r\nimport authReducer from 'store/authReducer';\r\n\r\n// project imports\r\nimport Loader from 'ui-component/Loader';\r\nimport axios from 'utils/Axios';\r\n\r\n// constant\r\nconst initialState = {\r\n isLoggedIn: false,\r\n isInitialized: false,\r\n user: null\r\n};\r\n\r\nconst verifyToken = (token) => {\r\n if (!token) {\r\n return false;\r\n }\r\n const decoded = jwtDecode(token);\r\n /**\r\n * Property 'exp' does not exist on type '(token: string, options?: JwtDecodeOptions | undefined) => T'.\r\n */\r\n return decoded.exp > Date.now() / 1000;\r\n};\r\n\r\nconst setSession = (user, validate) => {\r\n if (user && user.token && verifyToken(user.token)) {\r\n localStorage.setItem('user', JSON.stringify(user));\r\n axios.defaults.headers.common.Authorization = `Bearer ${user.token}`;\r\n } else {\r\n localStorage.removeItem('user');\r\n delete axios.defaults.headers.common.Authorization;\r\n }\r\n};\r\n\r\n// ==============================|| JWT CONTEXT & PROVIDER ||============================== //\r\nconst JWTContext = createContext(null);\r\n\r\nexport const JWTProvider = ({ children }) => {\r\n const [state, dispatch] = useReducer(authReducer, initialState);\r\n const [refreshTimer, setRefreshTimer] = useState(null);\r\n\r\n useEffect(() => {\r\n const init = async () => {\r\n const user = JSON.parse(window.localStorage.getItem('user'));\r\n if (user && user.token && verifyToken(user.token)) {\r\n\r\n setSession(user);\r\n\r\n dispatch({\r\n type: LOGIN,\r\n payload: {\r\n isLoggedIn: true,\r\n user\r\n }\r\n });\r\n\r\n startRefreshTimer(user.token);\r\n } else {\r\n dispatch({\r\n type: LOGOUT\r\n });\r\n }\r\n };\r\n\r\n init();\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n const startRefreshTimer = (token) => {\r\n const decoded = jwtDecode(token);\r\n const expirationTime = decoded.exp * 1000; // Převod exp času na milisekundy\r\n\r\n // Čas do vypršení tokenu mínus určitý časový polštář (12 hodin)\r\n const refreshInterval = expirationTime - Date.now() - 43200000;\r\n\r\n // Nastavení intervalu pro obnovu tokenu\r\n if (refreshInterval < 0) {\r\n refreshToken();\r\n }\r\n else {\r\n const timer = setInterval(() => {\r\n refreshToken();\r\n stopRefreshTimer();\r\n }, Math.max(refreshInterval, 0));\r\n setRefreshTimer(timer);\r\n }\r\n };\r\n\r\n const stopRefreshTimer = () => {\r\n // Zastavení intervalu pro obnovu tokenu\r\n clearInterval(refreshTimer);\r\n setRefreshTimer(null);\r\n };\r\n\r\n const login = async (email, password) => {\r\n const response = await axios.post('/auth', { email, password });\r\n const { token } = response.data;\r\n handleNewToken(token);\r\n };\r\n\r\n const ipLogin = async (email ) => {\r\n const response = await axios.post('/auth/ip', { email });\r\n const { token } = response.data;\r\n handleNewToken(token);\r\n };\r\n\r\n const handleNewToken = (token) => {\r\n const decoded = jwtDecode(token);\r\n\r\n const user =\r\n {\r\n email: decoded.sub,\r\n role: decoded.role,\r\n dbu: decoded.dbu,\r\n firstName: decoded.fname,\r\n lastName: decoded.lname,\r\n cin: decoded.cin,\r\n tin: decoded.tin,\r\n token: token\r\n };\r\n\r\n setSession(user);\r\n dispatch({\r\n type: LOGIN,\r\n payload: {\r\n isLoggedIn: true,\r\n user\r\n }\r\n });\r\n startRefreshTimer(user.token);\r\n };\r\n\r\n const logout = async () => {\r\n try { await axios.delete(`/auth`); }\r\n catch(err) {}\r\n stopRefreshTimer();\r\n setSession(null);\r\n dispatch({ type: LOGOUT });\r\n };\r\n\r\n const register = async (email, password, firstName, lastName, licenseAgreement) => {\r\n axios.post('/users/register', {\r\n email,\r\n firstName,\r\n lastName,\r\n password,\r\n licenseAgreement\r\n });\r\n };\r\n\r\n const confirmEmail = async(email, code, password) => {\r\n const response = await axios.post('/users/confirm', {\r\n email,\r\n token: code,\r\n password\r\n });\r\n\r\n const { token } = response.data;\r\n handleNewToken(token);\r\n };\r\n\r\n const forgotPassword = async(email) => {\r\n axios.post('/users/forgot-password', {\r\n email\r\n });\r\n\r\n };\r\n\r\n const restorePassword = async(email, code, password) => {\r\n const response = await axios.post('/users/restore-password', {\r\n email,\r\n token: code,\r\n password\r\n });\r\n\r\n const { token } = response.data;\r\n handleNewToken(token);\r\n };\r\n\r\n const changePassword = async (password, newPassword, confirmNewPassword) => {\r\n var response = await axios.post('/users/change-password',\r\n {\r\n old: password,\r\n new: newPassword,\r\n confirm: confirmNewPassword\r\n });\r\n\r\n const { token } = response.data;\r\n handleNewToken(token);\r\n }\r\n\r\n const updateProfile = async (firstName, lastName, companyIdentificationNumber, taxIdentificationNumber) => {\r\n var response = await axios.post('/users/update',\r\n {\r\n firstName,\r\n lastName,\r\n companyIdentificationNumber,\r\n taxIdentificationNumber\r\n });\r\n\r\n const { token } = response.data;\r\n handleNewToken(token);\r\n };\r\n\r\n const refreshToken = async () => {\r\n var response = await axios.post('/auth/refresh-token');\r\n\r\n const { token } = response.data;\r\n handleNewToken(token);\r\n };\r\n\r\n if (state.isInitialized !== undefined && !state.isInitialized) {\r\n return ;\r\n }\r\n\r\n return (\r\n {children}\r\n );\r\n};\r\n\r\nJWTProvider.propTypes = {\r\n children: PropTypes.node.isRequired\r\n};\r\n\r\nexport default JWTContext;\r\n","\nexport const pushSorted = (el, arr, compare = (x, y) => x > y) => {\n if(arr.length === 0) arr.push(el)\n else {\n let isLast = true;\n for (let i = 0, len = arr.length; i < len; i++) {\n if (compare(arr[i], el)) {\n isLast = false;\n arr.splice(i, 0, el);\n break;\n }\n }\n\n if(isLast) arr.push(el);\n }\n }\n","import {pushSorted} from 'utils/Array'\n\nexport const padSukl = (a) => {\n if(!a) return null;\n return(1e15 + a + '').slice(-7);\n}\n\nconst getOrCreateDrugLeft = (code, name, arr) => {\n let drugLeft = arr.find(i => i.sukl === code);\n if(!drugLeft) {\n drugLeft = {sukl: code, name, highestAssessment: 0, drugs: []};\n arr.push(drugLeft);\n }\n return drugLeft;\n};\n\nconst getOrCreateDrugRight = (drugLeft, code, name) => {\n let drugRight = drugLeft.drugs.find(i => i.code === code);\nif(!drugRight) {\n drugRight = {code, highestAssessment: 0, interactions: []};\n if(name) drugRight['name'] = name;\n pushSorted(drugRight, drugLeft.drugs, (x, y) =>\n x.interactions.length > 0 &&\n y.interactions.length > 0 &&\n x.interactions[0].assessment > y.interactions[0].assessment);\n}\nreturn drugRight;\n};\n\nconst pushInteraction = (drugRight, interaction, mirror = false) => {\n const atc1 = { code: interaction.atc1, name: interaction['atc1.name'] };\n const atc2 = { code: interaction.atc2, name: interaction['atc2.name'] };\n\n if(drugRight.highestAssessment < interaction.assessment)\n drugRight.highestAssessment = interaction.assessment;\n\n const found = drugRight.interactions.find(i => (i.assessment === interaction.assessment)\n || (i.assessment > 6 && interaction.assessment > 6));\n\n const pair = mirror ? {atc1: atc2, atc2: atc1} : {atc1, atc2};\n if(found) {\n found.atcPairs.push(pair);\n }\n else {\n const newInteraction = { assessment: interaction.assessment, atcPairs: [pair] };\n pushSorted(newInteraction, drugRight.interactions, (x, y) => x.assessment < y.assessment);\n }\n};\n\nexport const normalizedInteractions = (interactions) => {\n interactions.forEach(interaction => {\n interaction.sukl1 = padSukl(interaction.sukl1);\n interaction.sukl2 = padSukl(interaction.sukl2);\n });\n\n return interactions;\n}\n\nexport const normalizeDrugs = (interactions) => {\n let res = [];\n interactions.forEach(interaction => {\n const drugLeft1 = getOrCreateDrugLeft(interaction.sukl1, interaction['sukl1.name'], res);\n const drugLeft2 = getOrCreateDrugLeft(interaction.sukl2, interaction['sukl2.name'], res);\n\n const drugRight1 = getOrCreateDrugRight(drugLeft1, interaction.sukl2, interaction['sukl2.name']);\n const drugRight2 = getOrCreateDrugRight(drugLeft2, interaction.sukl1, interaction['sukl1.name']);\n\n pushInteraction(drugRight1, interaction);\n pushInteraction(drugRight2, interaction, true);\n\n if (drugLeft1.highestAssessment < drugRight1.highestAssessment)\n drugLeft1.highestAssessment = drugRight1.highestAssessment;\n\n if (drugLeft2.highestAssessment < drugRight2.highestAssessment)\n drugLeft2.highestAssessment = drugRight2.highestAssessment;\n });\n return res;\n}\n\nexport const normalizeFood = (interactions) => {\n let res = [];\n interactions.forEach(interaction => {\n const drugFirst = interaction.sukl1 ? true : false;\n const drugLeft = getOrCreateDrugLeft(\n drugFirst ? interaction.sukl1 : interaction.sukl2,\n drugFirst ? interaction['sukl1.name'] : interaction['sukl2.name'],\n res);\n const drugRight = getOrCreateDrugRight(\n drugLeft,\n drugFirst ? interaction.atc2 : interaction.atc1,\n drugFirst ? interaction['atc2.name'] : interaction['atc1.name']);\n pushInteraction(drugRight, interaction, !drugFirst);\n\n if(drugLeft.highestAssessment < drugRight.highestAssessment)\n drugLeft.highestAssessment = drugRight.highestAssessment;\n });\n\n return res;\n}\n","import React from 'react'\nimport SvgIcon from '@mui/material/SvgIcon';\n\nexport function HeartIcon(props) {\n return (\n \n \n \n );\n}\n\nexport function ElderlyIcon(props) {\n return (\n \n \n \n );\n}\n\nexport function InfoIcon(props) {\n return (\n \n \n \n );\n}\n\nexport function PLIIcon(props) {\n return (\n \n \n \n );\n}\n\nexport function BookIcon(props) {\n return (\n \n \n \n );\n}\n\nexport function AcademyIcon(props) {\n return (\n \n \n \n \n );\n}\n\nexport function RotateToLandscape(props) {\n return (\n \n \n \n );\n}\n\nexport function Email(props) {\n return (\n \n \n \n );\n}\n\nexport function Visa(props) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n );\n}\n\nexport function MasterCard(props) {\n return (\n \n \n \n \n \n \n \n );\n}\n\nexport function GooglePay(props) {\n return (\n \n \n \n \n \n \n \n \n \n \n );\n}\n\nexport function ApplePay(props) {\n return (\n \n \n \n \n \n );\n}\n\nexport function Bank(props) {\n return (\n \n \n \n \n \n );\n}\n\nexport function Attention(props) {\n return (\n \n \n \n );\n}\n\nexport function CE(props) {\n return (\n \n \n \n );\n}\n\nexport function MD(props) {\n return (\n \n \n \n );\n}\n\nexport function Book(props) {\n return (\n \n \n \n );\n}\n\nexport function Factory(props) {\n return (\n \n \n \n );\n}\n\nexport function LogoFooter(props) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n","// theme constant\nexport const gridSpacing = 3;\nexport const drawerWidth = 260;\nexport const appDrawerWidth = 320;\n","// material-ui\nimport { useTheme } from '@mui/material/styles';\n\n/**\n * if you want to use image instead of uncomment following.\n *\n * import logoDark from 'assets/images/logo-dark.svg';\n * import logo from 'assets/images/logo.svg';\n *\n */\n\n// ==============================|| LOGO SVG ||============================== //\n\n\nconst Logo = () => {\n const theme = useTheme();\n\n return (\n \n \n \n \n \n );\n};\n\nexport default Logo;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"paper\":\"#fff\",\"primaryLight\":\"#e3f2fd\",\"primary200\":\"#90caf9\",\"primaryMain\":\"#2196f3\",\"primaryDark\":\"#1e88e5\",\"primary800\":\"#1565c0\",\"secondaryLight\":\"#ede7f6\",\"secondary200\":\"#b39ddb\",\"secondaryMain\":\"#4064aa\",\"secondaryDark\":\"#4d79ce\",\"secondary800\":\"#4527a0\",\"successLight\":\"#b9f6ca\",\"success200\":\"#69f0ae\",\"successMain\":\"#00e676\",\"successDark\":\"#00c853\",\"errorLight\":\"#ef9a9a\",\"errorMain\":\"#f44336\",\"errorDark\":\"#c62828\",\"orangeLight\":\"#fbe9e7\",\"orangeMain\":\"#ffab91\",\"orangeDark\":\"#d84315\",\"warningLight\":\"#ffa624\",\"warningMain\":\"#ffe57f\",\"warningDark\":\"#ffc107\",\"grey50\":\"#fafafa\",\"grey100\":\"#f5f5f5\",\"grey200\":\"#eee\",\"grey300\":\"#e0e0e0\",\"grey500\":\"#9e9e9e\",\"grey600\":\"#757575\",\"grey700\":\"#616161\",\"grey900\":\"#212121\",\"darkPaper\":\"#111936\",\"darkBackground\":\"#1a223f\",\"darkLevel1\":\"#29314f\",\"darkLevel2\":\"#212946\",\"darkTextTitle\":\"#d7dcec\",\"darkTextPrimary\":\"#bdc8f0\",\"darkTextSecondary\":\"#8492c4\",\"darkPrimaryLight\":\"#e3f2fd\",\"darkPrimaryMain\":\"#2196f3\",\"darkPrimaryDark\":\"#1e88e5\",\"darkPrimary200\":\"#90caf9\",\"darkPrimary800\":\"#1565c0\",\"darkSecondaryLight\":\"#d1c4e9\",\"darkSecondaryMain\":\"#4065ac\",\"darkSecondaryDark\":\"#4d79ce\",\"darkSecondary200\":\"#b39ddb\",\"darkSecondary800\":\"#6200ea\"};","import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';\nimport axios from 'utils/Axios';\nimport { SNACKBAR_OPEN } from 'store/actions';\n\nconst drugListMembers = 'sukl,suklCodes,name,form.name,atc,atc.oldAgeOverallWeight';\n\nexport const getDrugs = createAsyncThunk('interactions/getDrugs', async (arg, thunkAPI) => {\n const state = thunkAPI.getState();\n\n try\n {\n const apiVersion = await (await axios.get(`/info`)).data.version;\n\n const forceUpdate = apiVersion > localStorage.getItem('data-version');\n\n if(forceUpdate || state.interactions.drugs.length === 0)\n {\n const response = await axios.get(`/drugs?rql=$m=${drugListMembers}$o=name`);\n localStorage.setItem('data-version', apiVersion);\n\n response.data.forEach(drug => {\n if (!drug['atc.oldAgeOverallWeight']) delete drug.atc;\n });\n\n return response.data;\n }\n } catch (error) {\n if (error.status !== 401) {\n thunkAPI.dispatch({\n type: SNACKBAR_OPEN,\n open: true,\n message: 'Načítání léků selhalo je možné že aplikace nebude správně fungovat.',\n variant: 'alert',\n alertSeverity: 'error',\n });\n }\n };\n\n\n return thunkAPI.fulfillWithValue(state.interactions.drugs);\n});\n\nconst initialState = {\n drugs: [],\n selectedDrugs: []\n}\n\nconst interactionsSlice = createSlice({\n name: 'interactions',\n initialState,\n reducers: {\n setSelectedDrugs: (state, action) => {\n if (state.selectedDrugs !== action.payload) {\n state.selectedDrugs = action.payload;\n }\n }\n },\n extraReducers: (builder) => {\n builder.addCase(getDrugs.fulfilled, (state, action) => {\n state.drugs = action.payload;\n });\n },\n});\n\nexport const {\n setSelectedDrugs\n} = interactionsSlice.actions;\n\nexport default interactionsSlice.reducer;\n","\n\nexport function hasDbAccess(user)\n{\n const now = Date.now();\n const dbu = user ? new Date(user.dbu * 1000) : new Date(0);\n return dbu > now;\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"paper\":\"#fff\",\"primaryLight\":\"#eceff1\",\"primary200\":\"#b0bec5\",\"primaryMain\":\"#607d8b\",\"primaryDark\":\"#546e7a\",\"primary800\":\"#455a64\",\"secondaryLight\":\"#e0f2f1\",\"secondary200\":\"#80cbc4\",\"secondaryMain\":\"#009688\",\"secondaryDark\":\"#00897b\",\"secondary800\":\"#00695c\",\"successLight\":\"#edf7ed\",\"success200\":\"#b6e0b3\",\"successMain\":\"#6cc067\",\"successDark\":\"#64ba5f\",\"errorLight\":\"#e48784\",\"errorMain\":\"#d9534f\",\"errorDark\":\"#d54c48\",\"orangeLight\":\"#fbe9e7\",\"orangeMain\":\"#ffab91\",\"orangeDark\":\"#d84315\",\"warningLight\":\"#fdf5ea\",\"warningMain\":\"#f0ad4e\",\"warningDark\":\"#ec9c3d\",\"grey50\":\"#fafafa\",\"grey100\":\"#f5f5f5\",\"grey200\":\"#eee\",\"grey300\":\"#e0e0e0\",\"grey500\":\"#9e9e9e\",\"grey600\":\"#757575\",\"grey700\":\"#616161\",\"grey900\":\"#212121\",\"darkPaper\":\"#060d12\",\"darkBackground\":\"#0e1b23\",\"darkLevel1\":\"#0b161d\",\"darkLevel2\":\"#14252f\",\"darkTextTitle\":\"#e4e8f7\",\"darkTextPrimary\":\"#d5d9e9\",\"darkTextSecondary\":\"#d8ddf0\",\"darkPrimaryLight\":\"#eceff1\",\"darkPrimaryMain\":\"#78919c\",\"darkPrimaryDark\":\"#587583\",\"darkPrimary200\":\"#b0bec5\",\"darkPrimary800\":\"#44606e\",\"darkSecondaryLight\":\"#e0f2f1\",\"darkSecondaryMain\":\"#009688\",\"darkSecondaryDark\":\"#00897b\",\"darkSecondary200\":\"#80cbc4\",\"darkSecondary800\":\"#00695c\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"paper\":\"#fff\",\"primaryLight\":\"#e4e7ec\",\"primary200\":\"#909ab0\",\"primaryMain\":\"#203461\",\"primaryDark\":\"#1c2f59\",\"primary800\":\"#132145\",\"secondaryLight\":\"#fde8ef\",\"secondary200\":\"#f6a0bd\",\"secondaryMain\":\"#ec407a\",\"secondaryDark\":\"#ea3a72\",\"secondary800\":\"#e42a5d\",\"successLight\":\"#e3f8e8\",\"success200\":\"#8be09f\",\"successMain\":\"#17c13e\",\"successDark\":\"#14bb38\",\"errorLight\":\"#e48784\",\"errorMain\":\"#d9534f\",\"errorDark\":\"#d54c48\",\"orangeLight\":\"#fbe9e7\",\"orangeMain\":\"#ffab91\",\"orangeDark\":\"#d84315\",\"warningLight\":\"#fdf5ea\",\"warningMain\":\"#f0ad4e\",\"warningDark\":\"#ec9c3d\",\"grey50\":\"#fafafa\",\"grey100\":\"#f5f5f5\",\"grey200\":\"#eee\",\"grey300\":\"#e0e0e0\",\"grey500\":\"#9e9e9e\",\"grey600\":\"#757575\",\"grey700\":\"#616161\",\"grey900\":\"#212121\",\"darkPaper\":\"#030614\",\"darkBackground\":\"#0a0f23\",\"darkLevel1\":\"#070e13\",\"darkLevel2\":\"#12172f\",\"darkTextTitle\":\"#e4e8f7\",\"darkTextPrimary\":\"#d5d9e9\",\"darkTextSecondary\":\"#d8ddf0\",\"darkPrimaryLight\":\"#ecedf1\",\"darkPrimaryMain\":\"#606d88\",\"darkPrimaryDark\":\"#586580\",\"darkPrimary200\":\"#b0b6c4\",\"darkPrimary800\":\"#44506b\",\"darkSecondaryLight\":\"#fde8ef\",\"darkSecondaryMain\":\"#ec407a\",\"darkSecondaryDark\":\"#ea3a72\",\"darkSecondary200\":\"#f6a0bd\",\"darkSecondary800\":\"#e42a5d\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"paper\":\"#fff\",\"primaryLight\":\"#e3ebeb\",\"primary200\":\"#8bacad\",\"primaryMain\":\"#16595a\",\"primaryDark\":\"#135152\",\"primary800\":\"#0c3e3f\",\"secondaryLight\":\"#f8f0e5\",\"secondary200\":\"#e3bf91\",\"secondaryMain\":\"#c77e23\",\"secondaryDark\":\"#c1761f\",\"secondary800\":\"#b36115\",\"successLight\":\"#b9f6ca\",\"success200\":\"#69f0ae\",\"successMain\":\"#00e676\",\"successDark\":\"#00c853\",\"errorLight\":\"#ef9a9a\",\"errorMain\":\"#f44336\",\"errorDark\":\"#c62828\",\"orangeLight\":\"#fbe9e7\",\"orangeMain\":\"#ffab91\",\"orangeDark\":\"#d84315\",\"warningLight\":\"#fff8e1\",\"warningMain\":\"#ffe57f\",\"warningDark\":\"#ffc107\",\"grey50\":\"#fafafa\",\"grey100\":\"#f5f5f5\",\"grey200\":\"#eee\",\"grey300\":\"#e0e0e0\",\"grey500\":\"#9e9e9e\",\"grey600\":\"#757575\",\"grey700\":\"#616161\",\"grey900\":\"#212121\",\"darkPaper\":\"#010f17\",\"darkBackground\":\"#010606\",\"darkLevel1\":\"#02131d\",\"darkLevel2\":\"#010f17\",\"darkTextTitle\":\"#fff\",\"darkTextPrimary\":\"#fff\",\"darkTextSecondary\":\"#8492c4\",\"darkPrimaryLight\":\"#eceff1\",\"darkPrimaryMain\":\"#1f7778\",\"darkPrimaryDark\":\"#1b6f70\",\"darkPrimary200\":\"#8fbbbc\",\"darkPrimary800\":\"#125a5b\",\"darkSecondaryLight\":\"#f8f0e5\",\"darkSecondaryMain\":\"#c77e23\",\"darkSecondaryDark\":\"#c1761f\",\"darkSecondary200\":\"#e3bf91\",\"darkSecondary800\":\"#b36115\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"paper\":\"#fff\",\"primaryLight\":\"#e3e8e8\",\"primary200\":\"#8b9fa1\",\"primaryMain\":\"#173e43\",\"primaryDark\":\"#14383d\",\"primary800\":\"#0d282c\",\"secondaryLight\":\"#e8f6f5\",\"secondary200\":\"#9fd8d6\",\"secondaryMain\":\"#3fb0ac\",\"secondaryDark\":\"#39a9a5\",\"secondary800\":\"#299792\",\"successLight\":\"#b9f6ca\",\"success200\":\"#69f0ae\",\"successMain\":\"#00e676\",\"successDark\":\"#00c853\",\"errorLight\":\"#ef9a9a\",\"errorMain\":\"#f44336\",\"errorDark\":\"#c62828\",\"orangeLight\":\"#fbe9e7\",\"orangeMain\":\"#ffab91\",\"orangeDark\":\"#d84315\",\"warningLight\":\"#fff8e1\",\"warningMain\":\"#ffe57f\",\"warningDark\":\"#ffc107\",\"grey50\":\"#fafafa\",\"grey100\":\"#f5f5f5\",\"grey200\":\"#eee\",\"grey300\":\"#e0e0e0\",\"grey500\":\"#9e9e9e\",\"grey600\":\"#757575\",\"grey700\":\"#616161\",\"grey900\":\"#212121\",\"darkPaper\":\"#051114\",\"darkBackground\":\"#030708\",\"darkLevel1\":\"#02131d\",\"darkLevel2\":\"#051114\",\"darkTextTitle\":\"#fff\",\"darkTextPrimary\":\"#fff\",\"darkTextSecondary\":\"#ccd2eb\",\"darkPrimaryLight\":\"#e3e8e8\",\"darkPrimaryMain\":\"#3a5b5f\",\"darkPrimaryDark\":\"#14383d\",\"darkPrimary200\":\"#8b9fa1\",\"darkPrimary800\":\"#0d282c\",\"darkSecondaryLight\":\"#e8f6f5\",\"darkSecondaryMain\":\"#3fb0ac\",\"darkSecondaryDark\":\"#39a9a5\",\"darkSecondary200\":\"#9fd8d6\",\"darkSecondary800\":\"#299792\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"paper\":\"#fff\",\"primaryLight\":\"#e2e5e8\",\"primary200\":\"#8591a1\",\"primaryMain\":\"#0a2342\",\"primaryDark\":\"#091f3c\",\"primary800\":\"#05152b\",\"secondaryLight\":\"#e6f4f1\",\"secondary200\":\"#96d2c6\",\"secondaryMain\":\"#2ca58d\",\"secondaryDark\":\"#279d85\",\"secondary800\":\"#1b8a70\",\"successLight\":\"#b9f6ca\",\"success200\":\"#69f0ae\",\"successMain\":\"#00e676\",\"successDark\":\"#00c853\",\"errorLight\":\"#ef9a9a\",\"errorMain\":\"#f44336\",\"errorDark\":\"#c62828\",\"orangeLight\":\"#fbe9e7\",\"orangeMain\":\"#ffab91\",\"orangeDark\":\"#d84315\",\"warningLight\":\"#fff8e1\",\"warningMain\":\"#ffe57f\",\"warningDark\":\"#ffc107\",\"grey50\":\"#fafafa\",\"grey100\":\"#f5f5f5\",\"grey200\":\"#eee\",\"grey300\":\"#e0e0e0\",\"grey500\":\"#9e9e9e\",\"grey600\":\"#757575\",\"grey700\":\"#616161\",\"grey900\":\"#212121\",\"darkPaper\":\"#030c1d\",\"darkBackground\":\"#051327\",\"darkLevel1\":\"#071a33\",\"darkLevel2\":\"#091f3c\",\"darkTextTitle\":\"#d7dcec\",\"darkTextPrimary\":\"#bdc8f0\",\"darkTextSecondary\":\"#8492c4\",\"darkPrimaryLight\":\"#e2e5e8\",\"darkPrimaryMain\":\"#54657b\",\"darkPrimaryDark\":\"#2f445e\",\"darkPrimary200\":\"#8591a1\",\"darkPrimary800\":\"#05152b\",\"darkSecondaryLight\":\"#e6f4f1\",\"darkSecondaryMain\":\"#2ca58d\",\"darkSecondaryDark\":\"#279d85\",\"darkSecondary200\":\"#96d2c6\",\"darkSecondary800\":\"#1b8a70\"};","function path(root, sublink) {\n return `${root}${sublink}`;\n}\n\nconst ROOTS_HOME = '/'\nconst ROOTS_INTERACTIONS = '/kontrola-preskripce'\nconst ROOTS_ABOUT_INTERACTIONS = '/o-interakcich'\nconst ROOTS_ABOUT_DATABASE = '/o-databazi'\nconst ROOTS_ACCOUNT = '/ucet'\n\n\nexport const PATH_HOME = {\n root: ROOTS_HOME\n}\n\nexport const PATH_AUTH = {\n root: ROOTS_HOME,\n login: path(ROOTS_HOME, 'prihlasit'),\n register: path(ROOTS_HOME, 'registrovat'),\n confirmEmail: path(ROOTS_HOME, 'potvrdit-email'),\n confirmEmail2: (token) => path(ROOTS_HOME, `potvrdit-email?token=${token}`),\n forgotPassword: path(ROOTS_HOME, 'zapomenute-heslo'),\n restorePassword: path(ROOTS_HOME, 'obnovit-heslo'),\n restorePassword2: (token) => path(ROOTS_HOME, `obnovit-heslo?token=${token}`)\n}\n\nexport const PATH_INTERACTIONS = {\n root: ROOTS_INTERACTIONS,\n pli: (sukl) => path(ROOTS_INTERACTIONS, `/${sukl}`)\n}\n\nexport const PATH_ABOUT_INTERACTIONS = {\n root: ROOTS_ABOUT_INTERACTIONS\n}\n\nexport const PATH_ABOUT_DATABASE = {\n databaseCreation: path(ROOTS_ABOUT_DATABASE, '/tvorba-databaze'),\n evaluationOfInteractions: path(ROOTS_ABOUT_DATABASE, '/hodnoceni-interakci'),\n workWithDatabse: path(ROOTS_ABOUT_DATABASE, '/prace-s-databazi'),\n glossary: path(ROOTS_ABOUT_DATABASE, '/slovnik-pojmu'),\n licenseAgreement: path(ROOTS_ABOUT_DATABASE, '/licencni-ujednani'),\n termsAndConditions: path(ROOTS_ABOUT_DATABASE, '/obchodni-podminky'),\n};\n\nexport const PATH_ACCOUNT = {\n root: ROOTS_ACCOUNT,\n extendLicense: ROOTS_ACCOUNT, //path(ROOTS_ACCOUNT, '/prodlouzit-licenci'),\n paymentStatus: ROOTS_ACCOUNT //path(ROOTS_ACCOUNT, '/stav-platby')\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"paper\":\"#fff\",\"primaryLight\":\"#e8eaf6\",\"primary200\":\"#9fa8da\",\"primaryMain\":\"#3f51b5\",\"primaryDark\":\"#3949ab\",\"primary800\":\"#283593\",\"secondaryLight\":\"#e8eaf6\",\"secondary200\":\"#9fa8da\",\"secondaryMain\":\"#3f51b5\",\"secondaryDark\":\"#3949ab\",\"secondary800\":\"#283593\",\"successLight\":\"#b9f6ca\",\"success200\":\"#69f0ae\",\"successMain\":\"#00e676\",\"successDark\":\"#00c853\",\"errorLight\":\"#ef9a9a\",\"errorMain\":\"#f44336\",\"errorDark\":\"#c62828\",\"orangeLight\":\"#fbe9e7\",\"orangeMain\":\"#ffab91\",\"orangeDark\":\"#d84315\",\"warningLight\":\"#fff8e1\",\"warningMain\":\"#ffe57f\",\"warningDark\":\"#ffc107\",\"grey50\":\"#fafafa\",\"grey100\":\"#f5f5f5\",\"grey200\":\"#eee\",\"grey300\":\"#e0e0e0\",\"grey500\":\"#9e9e9e\",\"grey600\":\"#757575\",\"grey700\":\"#616161\",\"grey900\":\"#212121\",\"darkPaper\":\"#111936\",\"darkBackground\":\"#1a223f\",\"darkLevel1\":\"#29314f\",\"darkLevel2\":\"#212946\",\"darkTextTitle\":\"#d7dcec\",\"darkTextPrimary\":\"#bdc8f0\",\"darkTextSecondary\":\"#8492c4\",\"darkPrimaryLight\":\"#eeedfd\",\"darkPrimaryMain\":\"#7267ef\",\"darkPrimaryDark\":\"#6a5fed\",\"darkPrimary200\":\"#b9b3f7\",\"darkPrimary800\":\"#554ae8\",\"darkSecondaryLight\":\"#eeedfd\",\"darkSecondaryMain\":\"#7267ef\",\"darkSecondaryDark\":\"#6a5fed\",\"darkSecondary200\":\"#b9b3f7\",\"darkSecondary800\":\"#554ae8\"};","import { useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { Link as RouterLink } from 'react-router-dom';\nimport { useNavigate } from 'react-router-dom';\n\n// material-ui\nimport { styled, useTheme } from '@mui/material/styles';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport {\n Box,\n Button,\n Container,\n Drawer,\n IconButton,\n Link,\n List,\n ListItemButton,\n ListItemIcon,\n ListItemText,\n Menu,\n MenuItem,\n Stack,\n Toolbar,\n Typography\n} from '@mui/material';\nimport MuiTooltip from '@mui/material/Tooltip';\nimport Zoom from '@mui/material/Zoom';\n\n// project imports\nimport Logo from 'ui-component/Logo';\nimport { setTheme } from 'store/customizationReducer';\nimport useAuth from 'hooks/useAuth';\n\n// assets\nimport MenuIcon from '@mui/icons-material/Menu';\nimport DarkModeIcon from '@mui/icons-material/DarkMode';\nimport LightModeIcon from '@mui/icons-material/LightMode';\nimport LoginIcon from '@mui/icons-material/Login';\nimport LogoutIcon from '@mui/icons-material/Logout';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport ExpandLessIcon from '@mui/icons-material/ExpandLess';\nimport ManageAccountsIcon from '@mui/icons-material/ManageAccounts';\nimport PersonIcon from '@mui/icons-material/Person';\n\nimport { PATH_HOME, PATH_AUTH, PATH_INTERACTIONS, PATH_ABOUT_INTERACTIONS, PATH_ABOUT_DATABASE, PATH_ACCOUNT } from 'routes/paths'\n\nconst NestedListItemButton = styled(ListItemButton)(({ theme }) => ({\n paddingLeft: '32px'\n}));\n\nconst Tooltip = styled(({ ...props }) => (\n \n))``;\n\n// ==============================|| MINIMAL LAYOUT APP BAR ||============================== //\n\nconst Header = ({ ...others }) => {\n const dispatch = useDispatch();\n const theme = useTheme();\n const { logout, isLoggedIn } = useAuth();\n const navigate = useNavigate();\n const mdDown = useMediaQuery((theme) => theme.breakpoints.down('md'));\n\n const [anchorAboutDb, setAnchorAboutDb] = useState(null);\n const openAboutDb = Boolean(anchorAboutDb);\n\n const [anchorAccount, setAnchorAccount] = useState(null);\n const openAccount = Boolean(anchorAccount);\n\n const [drawerToggle, setDrawerToggle] = useState(false);\n\n const [expandAboutDatabase, setExpandAboutDatabase] = useState(false);\n\n /** Method called on multiple components with different event types */\n const drawerToggler = (open) => (event) => {\n if (event.type === 'keydown' && (event.key === 'Tab' || event.key === 'Shift')) {\n return;\n }\n setDrawerToggle(open);\n };\n\n const toggleThemeMode = (event) => {\n dispatch(setTheme(theme.palette.mode === 'dark' ? 'light' : 'dark'));\n };\n\n const handleLogin = async () => {\n navigate(PATH_AUTH.login, { replace: true });\n };\n\n const handleLogout = async () => {\n handleAccountClose();\n try {\n await logout();\n } catch (err) {\n console.error(err);\n }\n };\n\n const handleAboutDbOpen = (event) => {\n if(!anchorAboutDb) setAnchorAboutDb(event.currentTarget);\n };\n\n const handleAboutDbClose = () => {\n setAnchorAboutDb(null);\n };\n\n const toggleExpandAboutDatabase = () => {\n setExpandAboutDatabase(!expandAboutDatabase);\n };\n\n const handleAccountOpen = (event) => {\n if(!anchorAccount) setAnchorAccount(event.currentTarget);\n };\n\n const handleAccountClose = () => {\n setAnchorAccount(null);\n };\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n O Databázi\n \n \n Tvorba databáze\n Hodnocení interakcí\n Práce s databází\n Slovník pojmů\n Licenční ujednání\n Obchodní podmínky\n \n \n \n \n {\n theme.palette.mode === 'dark' ? : \n }\n \n \n \n {isLoggedIn\n ?\n <>\n \n \n \n {\n \n }\n \n \n \n \n \n \n \n \n Účet\n \n \n \n \n \n Odhlásit\n \n \n \n :\n \n \n \n {\n \n }\n \n \n \n }\n \n \n \n {theme.palette.mode === 'dark' ? : }\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n { expandAboutDatabase ? : }\n \n { expandAboutDatabase ?\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 : <> }\n { isLoggedIn\n ?\n \n \n \n \n \n : <>\n }\n \n {\n drawerToggler(false)(event);\n isLoggedIn ? handleLogout(event) : handleLogin(event);\n }}\n component=\"span\"\n >\n \n \n \n\n \n \n \n \n \n \n );\n};\n\nexport default Header;\n","import { useState } from 'react';\n// material-ui\nimport { useTheme } from '@mui/material/styles';\n\n/**\n * if you want to use image instead of uncomment following.\n *\n * import logoDark from 'assets/images/logo-dark.svg';\n * import logo from 'assets/images/logo.svg';\n *\n */\n\n// ==============================|| LOGO SVG ||============================== //\n\nconst LogoFooter = () => {\n const theme = useTheme();\n const [hover, setHover] = useState(false);\n const color = hover\n ? theme.palette.mode === 'dark' ? '#9ea8ce' : '#818181'\n : theme.palette.text.primary;\n\n return (\n setHover(true)} onMouseLeave={() => setHover(false)}>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default LogoFooter;\n","// material-ui\nimport { useTheme, styled } from '@mui/material/styles';\nimport { Grid, Link, Typography } from '@mui/material';\nimport Card from '@mui/material/Card';\nimport CardContent from '@mui/material/CardContent';\nimport SchoolIcon from '@mui/icons-material/School';\n\n// project imports\nimport { gridSpacing } from 'store/constant';\nimport LogoFooter from 'ui-component/LogoFooter';\n\n// assets\nimport { AcademyIcon } from 'ui-component/Icons';\n\n// styles\nconst FooterLink = styled(Link)(({ theme }) => ({\n color: `${theme.palette.text.primary} !important`,\n display: 'inline-flex',\n alignItems: 'center',\n textDecoration: 'none !important',\n '& svg': {\n fontsize: '1.125rem',\n marginRight: 8\n },\n '&:hover': {\n opacity: 0.8\n }\n}));\n\nconst FooterCard = styled(Card)(({ theme }) => ({\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n border: '1px solid',\n borderBottom: 0,\n borderColor: theme.palette.mode === 'dark' ? theme.palette.background.default : theme.palette.primary[200] + 75,\n [theme.breakpoints.down('md')]: {\n textAlign: 'center'\n }\n\n}));\n\nconst FooterSubCard = styled(Card)(({ theme }) => ({\n padding: 0,\n margin: 0,\n borderRadius: 0,\n border: '1px solid',\n borderTop: 0,\n borderBottom: 0,\n borderColor: theme.palette.mode === 'dark' ? theme.palette.background.default : theme.palette.primary[200] + 75,\n background: theme.palette.mode === 'dark' ? '#1a223f' : '#f7f7f7',\n [theme.breakpoints.down('md')]: {\n textAlign: 'center'\n }\n}));\n\n// ==============================|| LANDING - FOOTER PAGE ||============================== //\n\nconst FooterPage = () => {\n const theme = useTheme();\n\n const getYear = () => {\n const currentYear = new Date().getFullYear();\n return currentYear;\n };\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n Interakční akademie\n \n \n \n \n \n Léková akademie\n \n \n\n \n \n \n \n \n \n \n DrugAgency a.s. © {getYear()} | Všechna práva vyhrazena\n \n \n \n );\n};\n\nexport default FooterPage;\n","import { Fragment } from 'react';\nimport { Outlet } from 'react-router-dom';\nimport { Link as RouterLink } from 'react-router-dom';\nimport { styled } from '@mui/material/styles';\n\n// material-ui\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport { useTheme } from '@mui/material/styles';\nimport { Container, IconButton, Tooltip } from '@mui/material';\nimport Alert from '@mui/material/Alert';\nimport PersonIcon from '@mui/icons-material/Person';\n\n// project imports\nimport HeaderOutlet from 'layout/MainLayout/Header';\nimport FooterOutlet from 'layout/MainLayout/Footer';\nimport useAuth from 'hooks/useAuth';\nimport { hasDbAccess } from 'utils/User';\n\n// assets\nimport { PATH_ACCOUNT } from 'routes/paths'\n\nconst Body = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n minHeight: '100vh',\n // minWidth: '25rem',\n backgroundColor: theme.palette.mode === 'dark' ? theme.palette.background.default : theme.palette.primary.light\n}));\n\nconst Header = styled('div')(({ theme }) => ({\n flexGrow: 0,\n flexShrink: 0,\n flexBasis: 'auto',\n backgroundColor: theme.palette.background.default,\n borderBottom: '1px solid',\n borderColor: theme.palette.mode === 'dark' ? theme.palette.dark.dark : theme.palette.grey[200],\n color: theme.palette.text.dark\n}));\n\nconst Footer = styled('div')(({ theme }) => ({\n flexGrow: 0,\n flexShrink: 0,\n flexBasis: 'auto'\n}));\n\nconst MainContainer = styled(Container)(({ theme }) => ({\n flexGrow: 1,\n flexShrink: 0,\n flexBasis: 'auto',\n minHeight: 0,\n padding: '0 20px 0 20px',\n display: 'flex',\n flexDirection: 'column'\n}));\n\nconst MainLayout = () => {\n const theme = useTheme();\n const { user, isLoggedIn } = useAuth();\n const mdDown = useMediaQuery(theme.breakpoints.down('md'));\n\n return (\n \n { !isLoggedIn || hasDbAccess(user)\n ? \n :\n \n {user.dbu\n ? `Platnost Vaší licence vypršela ${new Date(user.dbu * 1000).toLocaleDateString('cs-CZ')}`\n : 'Pro používání aplikace je nutná platná licence' }\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 MainLayout;\n","import { Suspense } from 'react';\n\n// project imports\nimport Loader from './Loader';\n\n// ==============================|| LOADABLE - LAZY LOADING ||============================== //\n\nconst Loadable = (Component) => (props) => (\n }>\n \n \n);\n\nexport default Loadable;\n","import { lazy } from 'react';\n\n// project imports\nimport MainLayout from 'layout/MainLayout';\nimport Loadable from 'ui-component/Loadable';\nimport { PATH_HOME, PATH_ABOUT_INTERACTIONS, PATH_ABOUT_DATABASE } from 'routes/paths'\n\n// Home\nconst HomePage = Loadable(lazy(() => import('views/home')));\n// O interakcích\nconst AboutInteractionsPage = Loadable(lazy(() => import('views/about-interactions')));\n// O databázi\nconst DatabaseCreationPage = Loadable(lazy(() => import('views/about-database/DatabaseCreation')));\nconst EvaluationOfInteractionsPage = Loadable(lazy(() => import('views/about-database/EvaluationOfInteractions')));\nconst WorkWithDatabsePage = Loadable(lazy(() => import('views/about-database/WorkWithDatabse')));\nconst GlossaryPage = Loadable(lazy(() => import('views/about-database/Glossary')));\nconst LicenseAgreementPage = Loadable(lazy(() => import('views/about-database/LicenseAgreement')));\nconst TermsAndConditionsPage = Loadable(lazy(() => import('views/about-database/TermsAndConditions')));\n\n\n// ==============================|| MAIN ROUTING ||============================== //\n\nconst GuestRoutes = {\n path: '/',\n element: (\n \n ),\n children: [\n {\n path: PATH_HOME.root,\n element: \n },\n {\n path: PATH_ABOUT_INTERACTIONS.root,\n element: \n },\n {\n path: PATH_ABOUT_DATABASE.databaseCreation,\n element: \n },\n {\n path: PATH_ABOUT_DATABASE.evaluationOfInteractions,\n element: \n },\n {\n path: PATH_ABOUT_DATABASE.workWithDatabse,\n element: \n },\n {\n path: PATH_ABOUT_DATABASE.glossary,\n element: \n },\n {\n path: PATH_ABOUT_DATABASE.licenseAgreement,\n element: \n },\n {\n path: PATH_ABOUT_DATABASE.termsAndConditions,\n element: \n },\n ]\n};\n\nexport default GuestRoutes;\n","import { PATH_AUTH } from 'routes/paths'\n\nexport const getLoginWithReturnUrl = () => {\n const url = new URL(window.location);\n const redirectTo = PATH_AUTH.login +\n ((url.pathname === '/')\n ? ''\n : '?url=' + encodeURIComponent(url.pathname + url.search));\n return redirectTo;\n}\n","import PropTypes from 'prop-types';\nimport { useNavigate, useSearchParams } from 'react-router-dom';\n\n// project imports\nimport useAuth from 'hooks/useAuth';\nimport { useEffect } from 'react';\nimport axios from 'utils/Axios';\nimport { getLoginWithReturnUrl } from 'utils/Login';\n\n// ==============================|| AUTH GUARD ||============================== //\n\n/**\n * Authentication guard for routes\n * @param {PropTypes.node} children children element/node\n */\nconst AuthGuard = ({ children }) => {\n const { isLoggedIn, handleNewToken } = useAuth();\n const navigate = useNavigate();\n let [searchParams, setSearchParams] = useSearchParams();\n\n useEffect(() => {\n const ott = searchParams.get('ott');\n if (!isLoggedIn) {\n if (ott) {\n axios.post(`/auth/ott`, { token: ott }).then(resp => {\n handleNewToken(resp.data.token);\n }).catch(err => {\n\n navigate(getLoginWithReturnUrl(), { replace: true });\n });\n }\n else {\n navigate(getLoginWithReturnUrl(), { replace: true });\n }\n }\n else {\n if (ott) {\n searchParams.delete('ott');\n setSearchParams(searchParams);\n window.location.reload();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isLoggedIn]);\n\n return children;\n};\n\nAuthGuard.propTypes = {\n children: PropTypes.node\n};\n\nexport default AuthGuard;\n","import { lazy } from 'react';\n\n// project imports\nimport MainLayout from 'layout/MainLayout';\nimport Loadable from 'ui-component/Loadable';\nimport AuthGuard from 'utils/route-guard/AuthGuard';\n\nimport { PATH_INTERACTIONS, PATH_ACCOUNT } from 'routes/paths'\n\n// Kontrola preskripce\nconst InteractionsPage = Loadable(lazy(() => import('views/interactions')));\nconst PLIPage = Loadable(lazy(() => import('views/interactions/PLI')));\nconst AccountPage = Loadable(lazy(() => import('views/account')));\nconst ExtendLicensePage = Loadable(lazy(() => import('views/account/ExtendLicense')));\nconst PaymentStatusPage = Loadable(lazy(() => import('views/account/PaymentStatus')));\n\n// ==============================|| MAIN ROUTING ||============================== //\n\nconst UserRoutes = {\n path: '/',\n element: (\n \n \n \n ),\n children: [\n {\n path: PATH_INTERACTIONS.root,\n element: \n },\n {\n path: `${PATH_INTERACTIONS.root}/:sukl`,\n element: \n },\n {\n path: PATH_ACCOUNT.root,\n element: \n },\n {\n path: PATH_ACCOUNT.extendLicense,\n element: \n },\n {\n path: PATH_ACCOUNT.paymentStatus,\n element: \n },\n ]\n};\n\nexport default UserRoutes;\n","import PropTypes from 'prop-types';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { useSearchParams } from 'react-router-dom'\r\n\r\n// project imports\r\nimport useAuth from 'hooks/useAuth';\r\nimport { useEffect } from 'react';\r\n\r\n// ==============================|| GUEST GUARD ||============================== //\r\n\r\n/**\r\n * Guest guard for routes having no auth required\r\n * @param {PropTypes.node} children children element/node\r\n */\r\n\r\nconst GuestGuard = ({ children }) => {\r\n const { isLoggedIn } = useAuth();\r\n const navigate = useNavigate();\r\n let searchParams = useSearchParams()[0];\r\n\r\n useEffect(() => {\r\n if (isLoggedIn) {\r\n const url = searchParams.get('url');\r\n if (url) navigate(url, { replace: true });\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [isLoggedIn]);\r\n\r\n return children;\r\n};\r\n\r\nGuestGuard.propTypes = {\r\n children: PropTypes.node\r\n};\r\n\r\nexport default GuestGuard;\r\n","import { Outlet } from 'react-router-dom';\r\n\r\n// ==============================|| NO LAYOUT ||============================== //\r\n\r\nconst NoLayout = () => (\r\n <>\r\n \r\n \r\n);\r\n\r\nexport default NoLayout;\r\n","import PropTypes from 'prop-types';\r\nimport { motion } from 'framer-motion';\r\n\r\n// ==============================|| ANIMATION FOR CONTENT ||============================== //\r\n\r\nconst NavMotion = ({ children }) => {\r\n const motionVariants = {\r\n initial: {\r\n opacity: 0,\r\n scale: 0.99\r\n },\r\n in: {\r\n opacity: 1,\r\n scale: 1\r\n },\r\n out: {\r\n opacity: 0,\r\n scale: 1.01\r\n }\r\n };\r\n\r\n const motionTransition = {\r\n type: 'tween',\r\n ease: 'anticipate',\r\n duration: 0.4\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nNavMotion.propTypes = {\r\n children: PropTypes.node\r\n};\r\n\r\nexport default NavMotion;\r\n","import { lazy } from 'react';\n\n// project imports\nimport GuestGuard from 'utils/route-guard/GuestGuard';\nimport NoLayout from 'layout/NoLayout';\nimport NavMotion from 'layout/NavMotion';\nimport Loadable from 'ui-component/Loadable';\nimport { PATH_AUTH } from 'routes/paths'\n\n// login routing\nconst AuthLogin = Loadable(lazy(() => import('views/auth/Login')));\nconst NotFoundPage = Loadable(lazy(() => import('views/errors/NotFound')));\nconst AuthRegister = Loadable(lazy(() => import('views/auth/Register')));\nconst AuthConfirmEmail = Loadable(lazy(() => import('views/auth/ConfirmEmail')));\nconst AuthForgotPassword = Loadable(lazy(() => import('views/auth/ForgotPassword')));\nconst AuthRestorePassword = Loadable(lazy(() => import('views/auth/RestorePassword')));\n\n// ==============================|| AUTH ROUTING ||============================== //\n\nconst LoginRoutes = {\n path: '/',\n element: (\n \n \n \n \n \n ),\n children: [\n {\n path: PATH_AUTH.login,\n element: \n },\n {\n path: PATH_AUTH.register,\n element: \n },\n {\n path: PATH_AUTH.confirmEmail,\n element: \n },\n {\n path: PATH_AUTH.forgotPassword,\n element: \n },\n {\n path: PATH_AUTH.restorePassword,\n element: \n },\n {\n path: '*',\n element: \n }\n ]\n};\n\nexport default LoginRoutes;\n","import { useRoutes } from 'react-router-dom';\n\n// routes\nimport GuestRoutes from './GuestRoutes';\nimport UserRoutes from './UserRoutes';\nimport LoginRoutes from './LoginRoutes';\n\n// ==============================|| ROUTING RENDER ||============================== //\n\nexport default function ThemeRoutes() {\n return useRoutes([GuestRoutes, LoginRoutes, UserRoutes]);\n}\n","/**\r\n * Color intention that you want to used in your theme\r\n * @param {JsonObject} theme Theme customization object\r\n */\r\n\r\nexport default function themePalette(theme) {\r\n return {\r\n mode: theme?.customization?.navType,\r\n common: {\r\n black: theme.colors?.darkPaper\r\n },\r\n primary: {\r\n light: theme?.customization?.navType === 'dark' ? theme.colors?.darkPrimaryLight : theme.colors?.primaryLight,\r\n main: theme?.customization?.navType === 'dark' ? theme.colors?.darkPrimaryMain : theme.colors?.primaryMain,\r\n dark: theme?.customization?.navType === 'dark' ? theme.colors?.darkPrimaryDark : theme.colors?.primaryDark,\r\n 200: theme?.customization?.navType === 'dark' ? theme.colors?.darkPrimary200 : theme.colors?.primary200,\r\n 800: theme?.customization?.navType === 'dark' ? theme.colors?.darkPrimary800 : theme.colors?.primary800\r\n },\r\n secondary: {\r\n light: theme?.customization?.navType === 'dark' ? theme.colors?.darkSecondaryLight : theme.colors?.secondaryLight,\r\n main: theme?.customization?.navType === 'dark' ? theme.colors?.darkSecondaryMain : theme.colors?.secondaryMain,\r\n dark: theme?.customization?.navType === 'dark' ? theme.colors?.darkSecondaryDark : theme.colors?.secondaryDark,\r\n 200: theme?.customization?.navType === 'dark' ? theme.colors?.darkSecondary200 : theme.colors?.secondary200,\r\n 800: theme?.customization?.navType === 'dark' ? theme.colors?.darkSecondary800 : theme.colors?.secondary800\r\n },\r\n error: {\r\n light: theme.colors?.errorLight,\r\n main: theme.colors?.errorMain,\r\n dark: theme.colors?.errorDark\r\n },\r\n orange: {\r\n light: theme.colors?.orangeLight,\r\n main: theme.colors?.orangeMain,\r\n dark: theme.colors?.orangeDark\r\n },\r\n warning: {\r\n light: theme.colors?.warningLight,\r\n main: theme.colors?.warningMain,\r\n dark: theme.colors?.warningDark\r\n },\r\n success: {\r\n light: theme.colors?.successLight,\r\n 200: theme.colors?.success200,\r\n main: theme.colors?.successMain,\r\n dark: theme.colors?.successDark\r\n },\r\n grey: {\r\n 50: theme.colors?.grey50,\r\n 100: theme.colors?.grey100,\r\n 500: theme.darkTextSecondary,\r\n 600: theme.heading,\r\n 700: theme.darkTextPrimary,\r\n 900: theme.textDark\r\n },\r\n dark: {\r\n light: theme.colors?.darkTextPrimary,\r\n main: theme.colors?.darkLevel1,\r\n dark: theme.colors?.darkLevel2,\r\n 800: theme.colors?.darkBackground,\r\n 900: theme.colors?.darkPaper\r\n },\r\n text: {\r\n primary: theme.darkTextPrimary,\r\n secondary: theme.darkTextSecondary,\r\n dark: theme.textDark,\r\n hint: theme.colors?.grey100\r\n },\r\n background: {\r\n paper: theme.paper,\r\n default: theme.backgroundDefault\r\n }\r\n };\r\n}\r\n","/**\r\n * Typography used in theme\r\n * @param {JsonObject} theme theme customization object\r\n */\r\n\r\nexport default function themeTypography(theme) {\r\n return {\r\n fontFamily: theme?.customization?.fontFamily,\r\n h6: {\r\n fontWeight: 500,\r\n color: theme.heading,\r\n fontSize: '0.75rem'\r\n },\r\n h5: {\r\n fontSize: '0.875rem',\r\n color: theme.heading,\r\n fontWeight: 500\r\n },\r\n h4: {\r\n fontSize: '1rem',\r\n color: theme.heading,\r\n fontWeight: 600\r\n },\r\n h3: {\r\n fontSize: '1.25rem',\r\n color: theme.heading,\r\n fontWeight: 600\r\n },\r\n h2: {\r\n fontSize: '1.5rem',\r\n color: theme.heading,\r\n fontWeight: 700\r\n },\r\n h1: {\r\n fontSize: '2.125rem',\r\n color: theme.heading,\r\n fontWeight: 700\r\n },\r\n subtitle1: {\r\n fontSize: '0.875rem',\r\n fontWeight: 500,\r\n color: theme?.customization?.navType === 'dark' ? theme.heading : theme.textDark\r\n },\r\n subtitle2: {\r\n fontSize: '0.75rem',\r\n fontWeight: 400,\r\n color: theme.darkTextSecondary\r\n },\r\n caption: {\r\n fontSize: '0.75rem',\r\n color: theme.darkTextSecondary,\r\n fontWeight: 400\r\n },\r\n body1: {\r\n fontSize: '0.875rem',\r\n fontWeight: 400,\r\n lineHeight: '1.334em'\r\n },\r\n body2: {\r\n letterSpacing: '0em',\r\n fontWeight: 400,\r\n lineHeight: '1.5em',\r\n color: theme.darkTextPrimary\r\n },\r\n button: {\r\n textTransform: 'capitalize'\r\n },\r\n customInput: {\r\n marginTop: 1,\r\n marginBottom: 1,\r\n '& > label': {\r\n top: 23,\r\n left: 0,\r\n color: theme.grey500,\r\n '&[data-shrink=\"false\"]': {\r\n top: 5\r\n }\r\n },\r\n '& > div > input': {\r\n padding: '30.5px 14px 11.5px !important'\r\n },\r\n '& legend': {\r\n display: 'none'\r\n },\r\n '& fieldset': {\r\n top: 0\r\n }\r\n },\r\n mainContent: {\r\n backgroundColor: theme.background,\r\n width: '100%',\r\n minHeight: 'calc(100vh - 88px)',\r\n flexGrow: 1,\r\n padding: '20px',\r\n marginTop: '88px',\r\n marginRight: '20px',\r\n borderRadius: `${theme?.customization?.borderRadius}px`\r\n },\r\n menuCaption: {\r\n fontSize: '0.875rem',\r\n fontWeight: 500,\r\n color: theme.heading,\r\n padding: '6px',\r\n textTransform: 'capitalize',\r\n marginTop: '10px'\r\n },\r\n subMenuCaption: {\r\n fontSize: '0.6875rem',\r\n fontWeight: 500,\r\n color: theme.darkTextSecondary,\r\n textTransform: 'capitalize'\r\n },\r\n commonAvatar: {\r\n cursor: 'pointer',\r\n borderRadius: '8px'\r\n },\r\n smallAvatar: {\r\n width: '22px',\r\n height: '22px',\r\n fontSize: '1rem'\r\n },\r\n mediumAvatar: {\r\n width: '34px',\r\n height: '34px',\r\n fontSize: '1.2rem'\r\n },\r\n largeAvatar: {\r\n width: '44px',\r\n height: '44px',\r\n fontSize: '1.5rem'\r\n }\r\n };\r\n}\r\n","import { alpha } from '@mui/material/styles';\r\n\r\nconst createCustomShadow = (theme, color) => {\r\n const transparent = alpha(color, 0.24);\r\n return {\r\n z1: `0 1px 2px 0 ${transparent}`,\r\n z8: `0 8px 16px 0 ${transparent}`,\r\n z12: `0 12px 24px 0 ${transparent} 0 10px 20px 0 ${transparent}`,\r\n z16: `0 0 3px 0 ${transparent} 0 14px 28px -5px ${transparent}`,\r\n z20: `0 0 3px 0 ${transparent} 0 18px 36px -5px ${transparent}`,\r\n z24: `0 0 6px 0 ${transparent} 0 21px 44px 0 ${transparent}`,\r\n\r\n primary: `0px 12px 14px 0px ${alpha(theme.colors?.primaryMain, 0.3)}`,\r\n secondary: `0px 12px 14px 0px ${alpha(theme.colors?.secondaryMain, 0.3)}`,\r\n orange: `0px 12px 14px 0px ${alpha(theme.colors?.orangeMain, 0.3)}`,\r\n success: `0px 12px 14px 0px ${alpha(theme.colors?.successMain, 0.3)}`,\r\n warning: `0px 12px 14px 0px ${alpha(theme.colors?.warningMain, 0.3)}`,\r\n error: `0px 12px 14px 0px ${alpha(theme.colors?.errorMain, 0.3)}`\r\n };\r\n};\r\n\r\nexport default function customShadows(navType, theme) {\r\n return navType === 'dark' ? createCustomShadow(theme, theme.colors?.darkLevel1) : createCustomShadow(theme, theme.colors?.grey600);\r\n}\r\n","import { createTheme } from '@mui/material/styles';\r\n\r\n// assets\r\nimport colors from 'assets/scss/_themes-vars.module.scss';\r\nimport theme1 from 'assets/scss/_theme1.module.scss';\r\nimport theme2 from 'assets/scss/_theme2.module.scss';\r\nimport theme3 from 'assets/scss/_theme3.module.scss';\r\nimport theme4 from 'assets/scss/_theme4.module.scss';\r\nimport theme5 from 'assets/scss/_theme5.module.scss';\r\nimport theme6 from 'assets/scss/_theme6.module.scss';\r\n\r\n// project imports\r\nimport componentStyleOverrides from './compStyleOverride';\r\nimport themePalette from './palette';\r\nimport themeTypography from './typography';\r\nimport customShadows from './shadows';\r\n\r\n/**\r\n * Represent theme style and structure as per Material-UI\r\n * @param {JsonObject} customization customization parameter object\r\n */\r\n\r\nexport const theme = (customization) => {\r\n let color;\r\n switch (customization.presetColor) {\r\n case 'theme1':\r\n color = theme1;\r\n break;\r\n case 'theme2':\r\n color = theme2;\r\n break;\r\n case 'theme3':\r\n color = theme3;\r\n break;\r\n case 'theme4':\r\n color = theme4;\r\n break;\r\n case 'theme5':\r\n color = theme5;\r\n break;\r\n case 'theme6':\r\n color = theme6;\r\n break;\r\n case 'default':\r\n default:\r\n color = colors;\r\n }\r\n\r\n const themeOption = {\r\n colors: color,\r\n heading: '',\r\n paper: '',\r\n backgroundDefault: '',\r\n background: '',\r\n darkTextPrimary: '',\r\n darkTextSecondary: '',\r\n textDark: '',\r\n menuSelected: '',\r\n menuSelectedBack: '',\r\n divider: '',\r\n customization\r\n };\r\n\r\n switch (customization.navType) {\r\n case 'dark':\r\n themeOption.paper = color.darkLevel2;\r\n themeOption.backgroundDefault = color.darkPaper;\r\n themeOption.background = color.darkBackground;\r\n themeOption.darkTextPrimary = color.darkTextPrimary;\r\n themeOption.darkTextSecondary = color.darkTextSecondary;\r\n themeOption.textDark = color.darkTextPrimary;\r\n themeOption.menuSelected = color.darkSecondaryMain;\r\n themeOption.menuSelectedBack = color.darkSecondaryMain + 15;\r\n themeOption.divider = color.darkTextPrimary;\r\n themeOption.heading = color.darkTextTitle;\r\n break;\r\n case 'light':\r\n default:\r\n themeOption.paper = color.paper;\r\n themeOption.backgroundDefault = color.paper;\r\n themeOption.background = color.primaryLight;\r\n themeOption.darkTextPrimary = color.grey700;\r\n themeOption.darkTextSecondary = color.grey500;\r\n themeOption.textDark = color.grey900;\r\n themeOption.menuSelected = color.secondaryDark;\r\n themeOption.menuSelectedBack = color.secondaryLight;\r\n themeOption.divider = color.grey200;\r\n themeOption.heading = color.grey900;\r\n break;\r\n }\r\n\r\n const themeOptions = {\r\n direction: customization.rtlLayout ? 'rtl' : 'ltr',\r\n palette: themePalette(themeOption),\r\n mixins: {\r\n toolbar: {\r\n minHeight: '48px',\r\n padding: '16px',\r\n '@media (min-width: 600px)': {\r\n minHeight: '48px'\r\n }\r\n }\r\n },\r\n typography: themeTypography(themeOption),\r\n customShadows: customShadows(customization.navType, themeOption)\r\n };\r\n\r\n const themes = createTheme(themeOptions);\r\n themes.components = componentStyleOverrides(themeOption);\r\n\r\n return themes;\r\n};\r\n\r\nexport default theme;\r\n","export default function componentStyleOverrides(theme) {\r\n const bgColor = theme?.customization?.navType === 'dark' ? theme.colors?.darkBackground : theme.colors?.grey50;\r\n return {\r\n MuiButton: {\r\n styleOverrides: {\r\n root: {\r\n fontWeight: 500,\r\n borderRadius: '4px'\r\n }\r\n }\r\n },\r\n MuiPaper: {\r\n defaultProps: {\r\n elevation: 0\r\n },\r\n styleOverrides: {\r\n root: {\r\n backgroundImage: 'none'\r\n },\r\n rounded: {\r\n borderRadius: `${theme?.customization?.borderRadius}px`\r\n }\r\n }\r\n },\r\n MuiCardHeader: {\r\n styleOverrides: {\r\n root: {\r\n color: theme.colors?.textDark,\r\n padding: '24px'\r\n },\r\n title: {\r\n fontSize: '1.125rem'\r\n }\r\n }\r\n },\r\n MuiCardContent: {\r\n styleOverrides: {\r\n root: {\r\n padding: '24px'\r\n }\r\n }\r\n },\r\n MuiCardActions: {\r\n styleOverrides: {\r\n root: {\r\n padding: '24px'\r\n }\r\n }\r\n },\r\n MuiAlert: {\r\n styleOverrides: {\r\n root: {\r\n alignItems: 'center'\r\n },\r\n outlined: {\r\n border: '1px dashed'\r\n }\r\n }\r\n },\r\n MuiListItemButton: {\r\n styleOverrides: {\r\n root: {\r\n color: theme.darkTextPrimary,\r\n paddingTop: '10px',\r\n paddingBottom: '10px',\r\n '&.Mui-selected': {\r\n color: theme.menuSelected,\r\n backgroundColor: theme.menuSelectedBack,\r\n '&:hover': {\r\n backgroundColor: theme.menuSelectedBack\r\n },\r\n '& .MuiListItemIcon-root': {\r\n color: theme.menuSelected\r\n }\r\n },\r\n '&:hover': {\r\n backgroundColor: theme.menuSelectedBack,\r\n color: theme.menuSelected,\r\n '& .MuiListItemIcon-root': {\r\n color: theme.menuSelected\r\n }\r\n }\r\n }\r\n }\r\n },\r\n MuiListItemIcon: {\r\n styleOverrides: {\r\n root: {\r\n color: theme.darkTextPrimary,\r\n minWidth: '36px'\r\n }\r\n }\r\n },\r\n MuiListItemText: {\r\n styleOverrides: {\r\n primary: {\r\n color: theme.textDark\r\n }\r\n }\r\n },\r\n MuiInputBase: {\r\n styleOverrides: {\r\n input: {\r\n color: theme.textDark,\r\n '&::placeholder': {\r\n color: theme.darkTextSecondary,\r\n fontSize: '0.875rem'\r\n }\r\n }\r\n }\r\n },\r\n MuiOutlinedInput: {\r\n styleOverrides: {\r\n root: {\r\n background: theme?.customization?.outlinedFilled ? bgColor : 'transparent',\r\n borderRadius: `${theme?.customization?.borderRadius}px`,\r\n '& .MuiOutlinedInput-notchedOutline': {\r\n borderColor: theme?.customization?.navType === 'dark' ? theme.colors.darkTextPrimary + 28 : theme.colors?.grey400\r\n },\r\n '&:hover $notchedOutline': {\r\n borderColor: theme.colors?.primaryLight\r\n },\r\n '&.MuiInputBase-multiline': {\r\n padding: 1\r\n }\r\n },\r\n input: {\r\n fontWeight: 500,\r\n background: theme?.customization?.outlinedFilled ? bgColor : 'transparent',\r\n padding: '15.5px 14px',\r\n borderRadius: `${theme?.customization?.borderRadius}px`,\r\n '&.MuiInputBase-inputSizeSmall': {\r\n padding: '10px 14px',\r\n '&.MuiInputBase-inputAdornedStart': {\r\n paddingLeft: 0\r\n }\r\n }\r\n },\r\n inputAdornedStart: {\r\n paddingLeft: 4\r\n },\r\n notchedOutline: {\r\n borderRadius: `${theme?.customization?.borderRadius}px`\r\n }\r\n }\r\n },\r\n MuiSlider: {\r\n styleOverrides: {\r\n root: {\r\n '&.Mui-disabled': {\r\n color: theme?.customization?.navType === 'dark' ? theme.colors.darkTextPrimary + 50 : theme.colors?.grey300\r\n }\r\n },\r\n mark: {\r\n backgroundColor: theme.paper,\r\n width: '4px'\r\n },\r\n valueLabel: {\r\n color: theme?.customization?.navType === 'dark' ? theme?.colors?.primaryMain : theme?.colors?.primaryLight\r\n }\r\n }\r\n },\r\n MuiAutocomplete: {\r\n styleOverrides: {\r\n root: {\r\n '& .MuiAutocomplete-tag': {\r\n background:\r\n theme?.customization?.navType === 'dark' ? theme.colors.darkTextPrimary + 20 : theme.colors?.secondaryLight,\r\n borderRadius: 4,\r\n color: theme.textDark,\r\n '.MuiChip-deleteIcon': {\r\n color: theme?.customization?.navType === 'dark' ? theme.colors.darkTextPrimary + 80 : theme.colors?.secondary200\r\n }\r\n }\r\n },\r\n popper: {\r\n borderRadius: `${theme?.customization?.borderRadius}px`,\r\n boxShadow: '0px 8px 10px -5px rgb(0 0 0 / 20%), 0px 16px 24px 2px rgb(0 0 0 / 14%), 0px 6px 30px 5px rgb(0 0 0 / 12%)'\r\n }\r\n }\r\n },\r\n MuiDivider: {\r\n styleOverrides: {\r\n root: {\r\n borderColor: theme.divider,\r\n opacity: theme?.customization?.navType === 'dark' ? 0.2 : 1\r\n }\r\n }\r\n },\r\n MuiSelect: {\r\n styleOverrides: {\r\n select: {\r\n '&:focus': {\r\n backgroundColor: 'transparent'\r\n }\r\n }\r\n }\r\n },\r\n MuiCheckbox: {\r\n styleOverrides: {\r\n root: {\r\n /** checked not prop\r\n *\"&.Mui-checked\": {\r\n * fontSize: \"28px\"\r\n *}\r\n */\r\n }\r\n }\r\n },\r\n MuiAvatar: {\r\n styleOverrides: {\r\n root: {\r\n color: theme?.customization?.navType === 'dark' ? theme.colors?.darkLevel1 : theme.colors?.primaryDark,\r\n background: theme?.customization?.navType === 'dark' ? theme.darkTextPrimary : theme.colors?.primary200\r\n }\r\n }\r\n },\r\n MuiChip: {\r\n styleOverrides: {\r\n root: {\r\n '&.MuiChip-deletable .MuiChip-deleteIcon': {\r\n color: 'inherit'\r\n }\r\n }\r\n }\r\n },\r\n MuiTimelineContent: {\r\n styleOverrides: {\r\n root: {\r\n color: theme.textDark,\r\n fontSize: '16px'\r\n }\r\n }\r\n },\r\n MuiTreeItem: {\r\n styleOverrides: {\r\n label: {\r\n marginTop: 14,\r\n marginBottom: 14\r\n }\r\n }\r\n },\r\n MuiTimelineDot: {\r\n styleOverrides: {\r\n root: {\r\n boxShadow: 'none'\r\n }\r\n }\r\n },\r\n MuiInternalDateTimePickerTabs: {\r\n styleOverrides: {\r\n tabs: {\r\n backgroundColor: theme?.customization?.navType === 'dark' ? theme.colors?.darkPaper : theme.colors?.primaryLight,\r\n '& .MuiTabs-flexContainer': {\r\n borderColor:\r\n theme?.customization?.navType === 'dark' ? theme.colors?.darkTextPrimary + 20 : theme.colors?.primary200\r\n },\r\n '& .MuiTab-root': {\r\n color: theme?.customization?.navType === 'dark' ? theme.colors?.darkTextSecondary : theme.colors?.grey900\r\n },\r\n '& .MuiTabs-indicator': {\r\n backgroundColor: theme.colors?.primaryDark\r\n },\r\n '& .Mui-selected': {\r\n color: theme.colors?.primaryDark\r\n }\r\n }\r\n }\r\n },\r\n MuiTabs: {\r\n styleOverrides: {\r\n flexContainer: {\r\n borderBottom: '1px solid',\r\n borderColor: theme?.customization?.navType === 'dark' ? theme.colors.darkTextPrimary + 20 : theme.colors?.grey200\r\n }\r\n }\r\n },\r\n MuiDialog: {\r\n styleOverrides: {\r\n paper: {\r\n padding: '12px 0 12px 0'\r\n }\r\n }\r\n },\r\n MuiTableCell: {\r\n styleOverrides: {\r\n root: {\r\n borderColor: theme?.customization?.navType === 'dark' ? theme.colors.darkTextPrimary + 15 : theme.colors?.grey200,\r\n '&.MuiTableCell-head': {\r\n fontSize: '0.875rem',\r\n color: theme.heading,\r\n fontWeight: 500\r\n }\r\n }\r\n }\r\n },\r\n MuiTooltip: {\r\n styleOverrides: {\r\n tooltip: {\r\n color: theme?.customization?.navType === 'dark' ? theme.colors?.darkLevel1 : theme.paper,\r\n background: theme?.customization?.navType === 'dark' ? theme.colors?.grey50 : theme.colors?.grey700,\r\n border: `1px solid ${theme?.customization?.navType === 'dark' ? theme.colors?.grey50 : theme.colors?.grey700}`\r\n },\r\n arrow: {\r\n \"&::before\": {\r\n backgroundColor: theme?.customization?.navType === 'dark' ? theme.colors?.grey50 : theme.colors?.grey700,\r\n border: `1px solid ${theme?.customization?.navType === 'dark' ? theme.colors?.grey50 : theme.colors?.grey700}`\r\n }\r\n }\r\n }\r\n },\r\n MuiDialogTitle: {\r\n styleOverrides: {\r\n root: {\r\n fontSize: '1.25rem'\r\n }\r\n }\r\n }\r\n };\r\n}\r\n","import PropTypes from 'prop-types';\r\nimport { useEffect } from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\n\r\n// ==============================|| NAVIGATION SCROLL TO TOP ||============================== //\r\n\r\nconst NavigationScroll = ({ children }) => {\r\n const location = useLocation();\r\n const { pathname } = location;\r\n\r\n useEffect(() => {\r\n window.scrollTo({\r\n top: 0,\r\n left: 0,\r\n behavior: 'smooth'\r\n });\r\n }, [pathname]);\r\n\r\n return children || null;\r\n};\r\n\r\nNavigationScroll.propTypes = {\r\n children: PropTypes.node\r\n};\r\n\r\nexport default NavigationScroll;\r\n","import { useState, useEffect } from 'react';\nimport { useSelector } from 'react-redux';\n\n// material-ui\nimport { Alert, Button, Fade, Grow, IconButton, Slide } from '@mui/material';\nimport MuiSnackbar from '@mui/material/Snackbar';\n\n// assets\nimport CloseIcon from '@mui/icons-material/Close';\n\n// animation function\nfunction TransitionSlideLeft(props) {\n return ;\n}\n\nfunction TransitionSlideUp(props) {\n return ;\n}\n\nfunction TransitionSlideRight(props) {\n return ;\n}\n\nfunction TransitionSlideDown(props) {\n return ;\n}\n\nfunction GrowTransition(props) {\n return ;\n}\n\n// animation options\nconst transition = {\n SlideLeft: TransitionSlideLeft,\n SlideUp: TransitionSlideUp,\n SlideRight: TransitionSlideRight,\n SlideDown: TransitionSlideDown,\n Grow: GrowTransition,\n Fade\n};\n\n// ==============================|| SNACKBAR ||============================== //\n\nconst Snackbar = () => {\n const [open, setOpen] = useState(false);\n const snackbarInitial = useSelector((state) => state.snackbar);\n\n const handleClose = (reason) => {\n if (reason === 'clickaway') {\n return;\n }\n setOpen(false);\n };\n\n useEffect(() => {\n setOpen(snackbarInitial.open);\n }, [snackbarInitial.action, snackbarInitial.open]);\n\n return (\n <>\n {/* default snackbar */}\n {snackbarInitial.variant === 'default' && (\n handleClose(v)}\n message={snackbarInitial.message}\n TransitionComponent={transition[snackbarInitial.transition]}\n action={\n <>\n \n handleClose()}>\n \n \n \n }\n />\n )}\n\n {/* alert snackbar */}\n {snackbarInitial.variant === 'alert' && (\n handleClose(v)}\n >\n \n {snackbarInitial.actionButton !== false && (\n \n )}\n {snackbarInitial.close !== false && (\n handleClose()}>\n \n \n )}\n \n }\n >\n {snackbarInitial.message}\n \n \n )}\n \n );\n};\n\nexport default Snackbar;\n","import { useEffect } from 'react';\nimport { useSelector } from 'react-redux';\n\n// material-ui\nimport { ThemeProvider } from '@mui/material/styles';\nimport { CssBaseline, StyledEngineProvider } from '@mui/material';\n\n// routing\nimport Routes from 'routes';\n\n// defaultTheme\nimport themes from 'themes';\n\n// project imports\nimport NavigationScroll from 'layout/NavigationScroll';\nimport Snackbar from 'ui-component/extended/Snackbar';\n\n// auth provider\nimport { JWTProvider } from 'contexts/JWTContext';\n\nfunction App() {\n const customization = useSelector((state) => state.customization);\n\n useEffect(() => {\n localStorage.removeItem(\"app-interaction\");\n}, []);\n\n return (\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';\n\n// third party\nimport { BrowserRouter } from 'react-router-dom';\nimport { Provider } from 'react-redux';\nimport { PersistGate } from 'redux-persist/integration/react';\n\n// project imports\nimport App from 'App';\nimport { store, persister } from 'store';\nimport Loader from 'ui-component/Loader';\n\n// style + assets\nimport 'assets/scss/style.scss';\nimport config from 'config';\n\nReactDOM.render(\n \n \n } persistor={persister}>\n \n \n \n \n \n ,\n document.getElementById('root')\n);\n","/**\r\n * axios setup to use mock service\r\n */\r\n\r\nimport axios from 'axios';\r\nimport { store } from 'store';\r\nimport { SNACKBAR_OPEN } from 'store/actions';\r\n\r\nconst axiosServices = axios.create();\r\nif (!process.env.NODE_ENV || process.env.NODE_ENV === 'development') {\r\n axiosServices.defaults.baseURL = 'https://api.lekoveinterakce.cz';\r\n}\r\nelse {\r\n axiosServices.defaults.baseURL = 'https://api.lekoveinterakce.cz';\r\n}\r\n\r\n//validate response\r\naxiosServices.interceptors.response.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.response && error.response.status === 401) {\r\n try {\r\n localStorage.removeItem('user');\r\n delete axios.defaults.headers.common.Authorization;\r\n setTimeout(() => {\r\n window.location.reload();\r\n }, 4000);\r\n store.dispatch(({\r\n type: SNACKBAR_OPEN,\r\n open: true,\r\n message: 'Vaše relace vypršela, budete automaticky odhlášeni.',\r\n variant: 'alert',\r\n alertSeverity: 'error',\r\n }));\r\n }\r\n catch(err) {\r\n return Promise.reject(error);\r\n }\r\n }\r\n\r\n return Promise.reject((error.response && {message: error.response.data.message, status: error.response.status}) || {message: 'Volání vzdáleného serveru selhalo', status: error.response.status});\r\n }\r\n);\r\n\r\nexport default axiosServices;\r\n","// action - state management\nexport const LOGIN = 'auth/login';\nexport const LOGOUT = 'auth/logout';\n\n// ==============================|| ACCOUNT REDUCER ||============================== //\n\nconst authReducer = (state, action) => {\n switch (action.type) {\n case LOGIN: {\n const { user } = action.payload;\n return {\n ...state,\n isLoggedIn: true,\n isInitialized: true,\n user\n };\n }\n case LOGOUT: {\n return {\n ...state,\n isInitialized: true,\n isLoggedIn: false,\n user: null\n };\n }\n default: {\n return { ...state };\n }\n }\n};\n\nexport default authReducer;\n","import { useContext } from 'react';\n\n// auth provider\nimport JWTContext from 'contexts/JWTContext';\n\n// ==============================|| AUTH HOOKS ||============================== //\n\nconst useAuth = () => {\n const context = useContext(JWTContext);\n\n if (!context) throw new Error('context must be use inside provider');\n\n return context;\n};\n\nexport default useAuth;\n","const config = {\n // basename: only at build time to set, and Don't add '/' at end off BASENAME for breadcrumbs, also Don't put only '/' use blank('') instead,\n // like '/berry-material-react/react/default'\n basename: '',\n defaultPath: '/',\n fontFamily: `'Roboto', sans-serif`,\n borderRadius: 12,\n outlinedFilled: true,\n theme: 'dark', // light, dark\n presetColor: 'default', // default, theme1, theme2, theme3, theme4, theme5, theme6\n i18n: 'cs', // 'en' - English, 'fr' - French, 'ro' - Romanian, 'zh' - Chinese\n rtlLayout: false,\n jwt: {\n secret: 'SECRET-KEY',\n timeout: '1 days'\n }\n};\n\nexport default config;\n","// action - snackbar\nexport const SNACKBAR_OPEN = '@snackbar/SNACKBAR_OPEN';\n","// material-ui\nimport LinearProgress from '@mui/material/LinearProgress';\nimport { styled } from '@mui/material/styles';\n\n// styles\nconst LoaderWrapper = styled('div')({\n position: 'fixed',\n top: 0,\n left: 0,\n zIndex: 1301,\n width: '100%'\n});\n\n// ==============================|| LOADER ||============================== //\nconst Loader = () => (\n \n \n \n);\n\nexport default Loader;\n","import { padSukl } from './Interactions'\n\nexport const normalizeSuklCodes = (suklCodes) => {\n const arr = suklCodes.split(',');\n\n for (let i = 0; i < arr.length; i++) \t{\n arr[i] = padSukl(arr[i]);\n }\n\n return arr.join(',');\n};\n\nexport const createDrugsLookup = (drugs) => {\n /// Build sukl lookup table.\n const drugsLookup = {};\n drugs.forEach((drug, i) => {\n drug.sukl = padSukl(drug.sukl);\n drug.suklCodes = normalizeSuklCodes(drug.suklCodes);\n const suklCodes = drug.suklCodes.split(',');\n suklCodes.forEach(suklCode => {\n drugsLookup[suklCode] = i;\n });\n });\n\n return drugsLookup;\n};\n","import { createTransform } from 'redux-persist';\nimport { createDrugsLookup } from 'utils/Drugs';\n\nexport default function createTransformCompress(config) {\n return createTransform(\n (state, key) => {\n if (key === 'drugsLookup') return null;\n return state;\n },\n (state, key, fullState) => {\n if (key === 'drugsLookup')\n return createDrugsLookup(JSON.parse(fullState.drugs));\n return state;\n },\n config\n )\n }\n","// action - state management\nimport * as actionTypes from './actions';\n\nconst initialState = {\n action: false,\n open: false,\n message: 'Note archived',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n variant: 'default',\n alertSeverity: 'success',\n transition: 'Fade',\n close: true,\n actionButton: false,\n};\n\n// ==============================|| SNACKBAR REDUCER ||============================== //\n\nconst snackbarReducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.SNACKBAR_OPEN:\n return {\n ...state,\n action: !state.action,\n open: action.open ? action.open : initialState.open,\n message: action.message ? action.message : initialState.message,\n anchorOrigin: action.anchorOrigin ? action.anchorOrigin : initialState.anchorOrigin,\n variant: action.variant ? action.variant : initialState.variant,\n alertSeverity: action.alertSeverity ? action.alertSeverity : initialState.alertSeverity,\n transition: action.transition ? action.transition : initialState.transition,\n close: action.close === false ? action.close : initialState.close,\n actionButton: action.actionButton ? action.actionButton : initialState.actionButton\n };\n default:\n return state;\n }\n};\n\nexport default snackbarReducer;\n","import { combineReducers } from 'redux';\nimport { persistReducer } from 'redux-persist';\nimport storage from 'redux-persist/lib/storage';\n\n// reducer import\nimport customizationReducer from './customizationReducer';\nimport authReducer from './authReducer';\nimport interactionsReducer from './interactionsSlice';\nimport createTransformDrugs from '../utils/ReduxPersistTransformDrugs'\nimport snackbarReducer from './snackbarReducer';\n\nconst reducer = combineReducers({\n auth: authReducer,\n customization: persistReducer(\n {\n key: 'customization',\n storage,\n keyPrefix: 'app-'\n },\n customizationReducer\n ),\n snackbar: snackbarReducer,\n interactions: persistReducer(\n {\n transforms: [createTransformDrugs()],\n key: 'drugs',\n storage,\n keyPrefix: 'app-',\n whitelist: ['drugs']\n },\n interactionsReducer\n )\n});\n\nexport default reducer;\n","import { configureStore } from '@reduxjs/toolkit'\nimport { persistStore } from 'redux-persist';\n\nimport reducer from './reducer';\nimport thunk from 'redux-thunk'\n\n// ==============================|| REDUX - MAIN STORE ||============================== //\n\nconst store = configureStore({\n reducer,\n devTools: process.env.NODE_ENV !== 'production',\n middleware: [thunk]\n });\nconst persister = persistStore(store);\n\nexport { store, persister };\n"],"sourceRoot":""}