{"version":3,"sources":["app-config.js","api/auth.js","contexts/auth.js","api/api_helper.js","components/loader-app/index.js","components/user-panel/user-panel.js","components/header/header.js","components/footer/footer.js","bg.png","components/login-form/login-form.js","components/loadable/index.js","contexts/navigation.js","utils/media-query.js","UnauthenticatedContent.js","App.js","reportWebVitals.js","index.js"],"names":["api_url","process","google_client_id","microsoft_client_id","signIn","username","password","service","system_id","a","axios","post","appInfo","Object","assign","res","data","signInFromApp","getUser","token","call_post_api","createLoginTicket","signOut","AuthProvider","props","useState","user","setUser","loading","setLoading","setService","useEffect","access_token","localStorage","result","is_success","useCallback","sendSignInRequest","set_jwt_token","message","clear_jwt_token","split","refresh_token","sendSignInFromAppRequest","sendCreateLoginTicket","sendSignOutRequest","AuthContext","Provider","value","createContext","useAuth","useContext","refreshToken","Promise","resolve","setTimeout","app_config","catch","refreshTokenRequest","check_token_expired","jwt_decode","exp","parseInt","Math","floor","Date","now","url","post_data","newTokens","new_access_token","new_refresh_token","config","headers","Authorization","error","response","status","includes","window","location","reload","get","apiClient","payload","call_get_api","LoaderApp","style","height","innerHeight","width","backgroundColor","display","justifyContent","alignItems","flexFlow","src","alt","marginTop","menuMode","useHistory","menuItems","useMemo","text","icon","onClick","className","background","img","backgroundSize","full_name","items","target","showEvent","cssClass","my","at","renderLogo","to","marginLeft","menuToggleEnabled","title","toggleMenu","render","locateInMenu","Dropdown","selection","onChange","e","language","defaultValue","options","key","flag","menuItemTemplate","stylingMode","name","Fragment","configuration","auth","clientId","appConfig","pca","PublicClientApplication","LoginForm","is_clicked_login","set_message","formData","useRef","query","URLSearchParams","useLocation","search","redirect_url","history","useMsal","instance","accounts","inProgress","account","useAccount","btnGoogle","request_data","scopes","acquireTokenSilent","then","MicrosoftLoginSuccess","errorCode","acquireTokenPopup","console","log","response_msal_popup","onSubmit","preventDefault","current","ticket_key","hash","data_login","id_token","accessToken","token_type","push","trigger","GoogleLoginSuccess","tokenId","undefined","Image","id","backgroundImage","Modal","open","size","borderRadius","border","boxShadow","padding","Content","disabled","dataField","editorType","editorOptions","usernameEditorOptions","visible","passwordEditorOptions","type","useSubmitBehavior","Divider","horizontal","onSuccess","credentialResponse","credential","onError","Transition","animation","duration","placeholder","mode","Loadable","importFunc","fallback","LazyComponent","lazy","NavigationContext","NavigationProvider","navigationData","setNavigationData","withNavigationWatcher","Component","path","match","currentPath","React","createElement","useScreenSize","getScreenSize","screenSize","setScreenSize","onSizeChanged","subscribe","unsubscribe","useScreenSizeClass","isLarge","isMedium","isSmall","handlers","xSmallMedia","matchMedia","smallMedia","mediumMedia","largeMedia","forEach","media","addListener","matches","handler","filter","item","isXSmall","exact","pMinDelay","App","UnauthenticatedContent","screenSizeClass","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","document","getElementById"],"mappings":"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","file":"static/js/main.741635d9.chunk.js","sourcesContent":["\nexport default {\n api_url: process.env.REACT_APP_API_BASE_URL,\n google_client_id: process.env.REACT_APP_GOOGLE_CLIENT_ID,\n microsoft_client_id: process.env.REACT_APP_MICROSOFT_CLIENT_ID,\n};\n","import appInfo from '../app-config';\nimport { call_post_api } from './api_helper';\nimport axios from 'axios';\nexport async function signIn(username, password, service, system_id) {\n const res = await axios.post(\n appInfo.api_url + '/login',\n Object.assign({}, { username: username }, { password: password }, { service: service }, { system_id: system_id })\n );\n return res.data;\n \n}\n\nexport async function signInFromApp(data) {\n\n const res = await axios.post(\n appInfo.api_url + '/login',\n data\n )\n return res.data;\n\n}\n\n\n\nexport async function getUser(token) {\n return call_post_api(\n appInfo.api_url + '/login/detail',\n token\n );\n\n};\n\nexport async function createLoginTicket(service, system_id) {\n \n return call_post_api(\n appInfo.api_url + '/login/createLoginTicket',\n {\n service: service,\n system_id: system_id\n }\n );\n};\n\nexport async function signOut() {\n return call_post_api(\n appInfo.api_url + '/logout');\n\n};\n\n","\nimport React, { useState, useEffect, createContext, useContext, useCallback } from 'react';\nimport {\n getUser,\n signIn as sendSignInRequest,\n signOut as sendSignOutRequest,\n createLoginTicket as sendCreateLoginTicket,\n signInFromApp as sendSignInFromAppRequest\n} from '../api/auth';\n\nfunction AuthProvider(props) {\n const [user, setUser] = useState();\n const [loading, setLoading] = useState(true);\n const [service, setService] = useState(\"\");\n useEffect(() => {\n (async function () {\n const access_token = localStorage.access_token;\n const result = await getUser(access_token);\n\n if (result.is_success) {\n setUser(result.data);\n }\n\n setLoading(false);\n })();\n }, []);\n\n const signIn = useCallback(async (username, password, service, system_id) => {\n\n const result = await sendSignInRequest(username, password, service, system_id);\n if (result.is_success && result.data != null) {\n set_jwt_token(result.message);\n setUser(result.data);\n setService(service);\n } else {\n clear_jwt_token();\n\n }\n\n return result;\n }, []);\n const set_jwt_token = (token) => {\n const access_token = token.split(' ')[0];\n const refresh_token = token.split(' ')[1];\n\n //const data = jwt_decode(access_token);\n\n\n localStorage.access_token = access_token;\n localStorage.refresh_token = refresh_token;\n\n }\n const clear_jwt_token = () => {\n localStorage.access_token = null;\n localStorage.refresh_token = null;\n }\n const signInFromApp = useCallback(async (data) => {\n const result = await sendSignInFromAppRequest({ ...data });\n\n if (result.is_success && result.data != null) {\n //localStorage.token = result.message;\n set_jwt_token(result.message);\n\n setUser(result.data);\n setService(data.service);\n\n } else {\n clear_jwt_token();\n\n }\n\n return result;\n }, []);\n\n\n const createLoginTicket = useCallback(async (service, system_id) => {\n const result = await sendCreateLoginTicket(service, system_id);\n if (result.is_success) {\n return result;\n }\n return null;\n }, []);\n\n const signOut = useCallback(async () => {\n setLoading(true)\n const result = await sendSignOutRequest();\n setLoading(false)\n clear_jwt_token();\n setUser();\n\n }, []);\n\n\n return (\n \n );\n}\n\nconst AuthContext = createContext({});\nconst useAuth = () => useContext(AuthContext);\n\nexport { AuthProvider, useAuth }\n\n\n","import axios from 'axios';\nimport jwt_decode from 'jwt-decode';\nimport app_config from '../app-config';\nconst refreshToken = () => {\n return new Promise(resolve => {\n setTimeout(async () => {\n const res = await axios.post(`${app_config.api_url}/login/refresh_new_token`, {\n access_token: localStorage.access_token,\n refresh_token: localStorage.refresh_token\n }).catch(() => {\n resolve(\"\");\n });\n if (res && res.data) {\n if (res.data.is_success) {\n resolve(res.data.message)\n } else {\n resolve(\"\");\n }\n }\n\n }, 1000);\n });\n};\n\nlet refreshTokenRequest = null;\nconst check_token_expired = () => {\n const data = jwt_decode(localStorage.access_token)\n if (localStorage.access_token && data) {\n const exp = data.exp;\n if (parseInt(exp) > Math.floor(Date.now() / 1000)) {\n return false;\n }\n }\n return true;\n}\nexport async function call_post_api(url, post_data) {\n try {\n const isTokenExpired = check_token_expired();\n if (isTokenExpired) {\n refreshTokenRequest = refreshTokenRequest\n ? refreshTokenRequest\n : refreshToken(url);\n\n const newTokens = await refreshTokenRequest;\n refreshTokenRequest = null;\n if (newTokens === \"\") {\n return {\n is_success: false,\n message: \"Token expired.\"\n }\n }\n const new_access_token = newTokens.split(' ')[0];\n const new_refresh_token = newTokens.split(' ')[1];\n localStorage.access_token = new_access_token;\n localStorage.refresh_token = new_refresh_token;\n\n }\n\n const config = {\n\n headers: { Authorization: `Bearer ${localStorage.access_token}` }\n }\n const res = await axios.post(url, post_data, config).catch((error) => {\n if (error.response.status === 401 && !url.includes('api/login/detail')) {\n window.location.reload();\n }\n });\n if (res.status === 200) return res.data;\n return {\n is_success: false,\n message: res.status\n }\n } catch (error) {\n return {\n is_success: false,\n message: error\n }\n }\n}\n\n\n\n\nexport async function call_get_api(url) {\n try {\n const isTokenExpired = check_token_expired();\n if (isTokenExpired) {\n refreshTokenRequest = refreshTokenRequest\n ? refreshTokenRequest\n : refreshToken(url);\n\n const newTokens = await refreshTokenRequest;\n refreshTokenRequest = null;\n if (newTokens === \"\") {\n return {\n is_success: false,\n message: \"Token expired.\"\n }\n }\n const new_access_token = newTokens.split(' ')[0];\n const new_refresh_token = newTokens.split(' ')[1];\n localStorage.access_token = new_access_token;\n localStorage.refresh_token = new_refresh_token;\n\n }\n\n const config = {\n headers: { Authorization: `Bearer ${localStorage.access_token}` }\n }\n const res = await axios.get(url, config).catch((error) => {\n if (error.response.status === 401 && !url.includes('api/login/detail')) {\n window.location.reload();\n }\n });\n if (res.status === 200) {\n let data = res.data;\n return data;\n }\n else {\n\n return {\n is_success: false,\n message: res.status\n }\n }\n } catch (error) {\n return {\n is_success: false,\n message: error\n }\n }\n}\nexport const apiClient={\n post:(url,payload)=> call_post_api(url, payload),\n get: (url) => call_get_api(url)\n}","import React from 'react';\n\nconst LoaderApp = () => {\n return (\n <>\n
\n \"loader\"\n
\n {/* */}\n
\n
\n \n )\n}\n\nexport default LoaderApp","import React, { useMemo } from 'react';\nimport { useHistory } from \"react-router-dom\";\nimport ContextMenu, { Position } from 'devextreme-react/context-menu';\nimport List from 'devextreme-react/list';\nimport { useAuth } from '../../contexts/auth';\nimport './user-panel.scss';\n\nexport default function ({ menuMode }) {\n const { user, signOut } = useAuth();\n const history = useHistory();\n\n function navigateToProfile() {\n history.push(\"/profile\");\n }\n const menuItems = useMemo(() => ([\n // {\n // text: 'Profile',\n // icon: 'user',\n // onClick: navigateToProfile\n // },\n {\n text: 'Đăng xuất',\n icon: 'runner',\n onClick: signOut\n }\n ]), [signOut]);\n\n return (\n
\n
\n\n
\n \n
\n
{user.full_name}
\n
\n\n {menuMode === 'context' && (\n \n \n \n )}\n {menuMode === 'list' && (\n \n )}\n
\n );\n}\n","import Button from 'devextreme-react/button';\nimport { Template } from 'devextreme-react/core/template';\nimport Toolbar, { Item } from 'devextreme-react/toolbar';\nimport React from 'react';\nimport { Dropdown } from 'semantic-ui-react';\n\nimport { Link } from 'react-router-dom';\nimport UserPanel from '../user-panel/user-panel';\nimport './header.scss';\n\nconst renderLogo = () => {\n return \n \n ;\n}\n\nexport default ({ menuToggleEnabled, title, toggleMenu }) => {\n\n return (\n
\n\n \n\n \n \n \n {/* SMART SCHOOL SOLUTION */}\n \n \n {\n localStorage.language= value;\n window.location.reload()\n }}\n defaultValue={localStorage.language != null ? localStorage.language : \"vi\"}\n options={[\n { key: \"vi\", value: \"vi\", text: \"Việt Nam\", flag: \"vn\" },\n { key: \"en\", value: \"en\", text: \"English\", flag: \"us\" }\n ]}\n />\n \n \n \n \n \n \n \n \n
);\n};\n\n","import React from 'react';\nimport './footer.scss';\n\nexport default ({ ...rest }) => {\n // return