acsi-core 0.1.95 → 0.1.97

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/redux/commons/action.ts","../src/utils/constants.ts","../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs","../src/components/CoreButton/index.tsx","../src/components/CoreError/index.tsx","../src/components/CoreInput/index.tsx","../src/components/CoreSelect/index.tsx","../src/components/CoreCheckbox/index.tsx","../src/components/CoreRadio/index.tsx","../src/components/CoreModal/index.tsx","../src/components/CoreRange/index.tsx","../src/utils/icons/Search.tsx","../src/utils/icons/Close.tsx","../src/utils/icons/Info.tsx","../src/components/CoreTextArea/index.tsx","../src/components/CoreSearch/index.tsx","../src/components/CoreSelectCompact/index.tsx","../src/components/CoreInputCompact/index.tsx","../src/components/CoreTitleInput/index.tsx","../src/components/CoreTooltip/index.tsx","../src/services/cookieService.ts","../src/utils/types/amplitude.ts","../src/utils/encodeParams.ts","../src/utils/getAccessToken.ts","../src/services/api.ts","../src/containers/Login/apiClient/index.ts","../src/containers/Login/configs/default.ts","../src/containers/Login/views/block/BlockLogin.tsx","../src/containers/Login/hooks/useLogin.ts","../src/containers/Login/views/Login.tsx","../node_modules/redux/dist/redux.legacy-esm.js","../src/redux/commons/reducer.ts","../src/rootReducer.ts","../src/store.ts","../src/services/accountService.ts","../src/utils/firstCheckToken.ts","../src/utils/getImageUrl.ts","../src/components/Commons/NotFound.tsx","../src/components/Loading/Loading.tsx","../src/utils/hooks/useGoogleSignOut.ts","../src/layouts/LayoutContext.tsx","../src/components/Dialogs/ConfirmDialog.tsx","../src/components/Dialogs/CommonDialog.tsx","../src/containers/Login/configs/constants.ts","../src/components/Paginations/CustomPagination.tsx","../src/utils/hooks/useAmplitude.ts","../src/configs/amplitude.ts","../src/configs/sentry.ts","../src/utils/getErrorMessage.ts","../src/components/Selects/theme/styles.ts","../src/components/Selects/partials/index.tsx","../src/components/Selects/CustomSelect.tsx","../src/components/Selects/CustomAsyncSelect.tsx","../src/components/Selects/CustomCreatable.tsx","../src/components/Selects/CustomSelectOption.tsx","../src/utils/utcToLocalTime.ts","../src/index.tsx"],"sourcesContent":["import { createAction } from \"@reduxjs/toolkit\"\n\nexport const setLoading = createAction<boolean | undefined>(\"common/setLoading\")\n\nexport const setLoadingPage = createAction<boolean | undefined>(\"common/setLoadingPage\")\n\nexport const setAlert = createAction<any>(\"common/setAlert\")\n\nexport const setUser = createAction<any>(\"common/setUser\")\n\nexport const setLanguage = createAction<string>(\"common/setLanguage\")\n\nexport const reset = createAction<undefined>(\"common/reset\")\n\nexport const setMenuCollapse = createAction<boolean>(\"common/setMenuCollapse\")\n\nexport const setIsRefetchSidebar = createAction(\"common/setIsRefetchSidebar\")\n\nexport const setTenant = createAction<number>(\"common/setTenant\")\n\nexport const setAddTenant = createAction<any>(\"common/setAddTenant\")\n\nexport const setTeam = createAction<any>(\"common/setTeam\")\n","export const REQUEST_ORIGIN =\n process.env.REACT_APP_REQUEST_ORIGIN ||\"\"\nexport const ADMIN_ORIGIN =\n process.env.REACT_APP_ADMIN_ORIGIN ||\"\"\nexport const TEACHER_ORIGIN =\n process.env.REACT_APP_TEACHER_ORIGIN ||\"\"\n\nexport const GOOGLE_RECAPTCHA_KEY =\n process.env.REACT_APP_GOOGLE_RECAPTCHA_KEY || \"\"\n\nexport const GOOGLE_CLIENT_ID = process.env.REACT_APP_GOOGLE_CLIENT_ID || \"\"\n\nexport const GOOGLE_RECAPTCHA_ID =\n process.env.REACT_APP_GOOGLE_RECAPTCHA_ID || \"\"\n\nexport const GOOGLE_RECAPTCHA_SECRET =\n process.env.REACT_APP_GOOGLE_RECAPTCHA_SECRET || \"\"\n\nexport const BASE_URL = process.env.REACT_APP_BASE_URL || \"\"\nexport const SUPER_ADMIN_BASE_URL =\n process.env.REACT_APP_SUPER_ADMIN_BASE_URL || \"\"\n\nexport const PUSHER_CONFIG = {\n cluster: process.env.REACT_APP_PUSHER_CONFIG_CLUSTER || \"\",\n key: process.env.REACT_APP_PUSHER_CONFIG_KEY || \"\"\n}\n\nexport const MICROSOFT_CLIENT_ID =\n process.env.REACT_APP_MICROSOFT_CLIENT_ID ||\"\"\n\nexport const MICROSOFT_URL_DIRECT =\n process.env.REACT_APP_MICROSOFT_URL_DIRECT ||\"\"\n\nexport const OPENSALT_BASE_URL = process.env.REACT_APP_OPENSALT || \"\"\n// end env\n\nexport const REACT_KEY_TINYMCE = \"fe5xc4hh72rshrx4xe59zu9setbnwiftu4hroztpre7trmay\"\n\nexport const ACCESS_TOKEN = \"ACCESS_TOKEN\"\nexport const AUTH_COOKIE = \"auth\"\nexport const AcademyHeaders = \"Academy-Headers\"\n\nexport const DATE_MIN_VALUE = \"0001-01-01T00:00:00+00:00\"\nexport const DATE_TIME_MIN_VALUE = \"0001-01-01T00:00:00\"\n\nexport const EXAM_CHANNEL = \"presence-exam-channel\"\nexport const EXAM_STUDENT_CHANNEL =\n \"EXAM-CHANNEL-{examCode}-STUDENT-{studentId}\"\n\nexport const DefaultErrorMessage = \"an_unexpected_error_has_occurred\"\n\nexport const getAccessToken = () => {\n try {\n return localStorage.getItem(ACCESS_TOKEN)\n } catch (err) {\n return null\n }\n}\n\nexport const encodeParams = (params: any) => {\n return Object.keys(params)\n .filter(\n key => params[key] || params[key] === 0 || params[key] === false\n )\n .map(key => {\n if (Array.isArray(params[key])) {\n return params[key]\n .map(\n (i: any) =>\n `${encodeURIComponent(key)}=${encodeURIComponent(i)}`\n )\n .join(\"&\")\n }\n return `${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`\n })\n .join(\"&\")\n}\n\nexport const COLORS = {\n brandBlack: \"#101129\",\n grayText: \"#585869\",\n blackText: \"#212126\",\n lightGray: \"#a6a6ad\",\n lightGray2: \"rgba(0, 0, 0, 0.08)\",\n lightGray2Text: \"#c6c6cc\",\n grayLines: \"#e6e6eb\",\n lightGrayBg: \"#f5f9fa\",\n white: \"#ffffff\",\n brandBlue: \"#00afda\",\n lightBlue: \"#caeffc\",\n lightBlueHover: \"#e5f9ff\",\n brandBlueHover: \"#008fb2\",\n darkBrandBlue: \"#025675\",\n darkBrandBlueHover: \"#007a99\",\n brandAccent: \"#ffce09\",\n red: \"#ce3636\",\n lightYellow: \"#fff5ce\"\n}\n\nexport const ORGANIZATION_TENANT = \"ORGANIZATION_TENANT\"\nexport const ORGANIZATION_TEAM = \"ORGANIZATION_TEAM\"\n","// A type of promise-like that resolves synchronously and supports only one observer\nexport const _Pact = /*#__PURE__*/(function() {\n\tfunction _Pact() {}\n\t_Pact.prototype.then = function(onFulfilled, onRejected) {\n\t\tconst result = new _Pact();\n\t\tconst state = this.s;\n\t\tif (state) {\n\t\t\tconst callback = state & 1 ? onFulfilled : onRejected;\n\t\t\tif (callback) {\n\t\t\t\ttry {\n\t\t\t\t\t_settle(result, 1, callback(this.v));\n\t\t\t\t} catch (e) {\n\t\t\t\t\t_settle(result, 2, e);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t}\n\t\tthis.o = function(_this) {\n\t\t\ttry {\n\t\t\t\tconst value = _this.v;\n\t\t\t\tif (_this.s & 1) {\n\t\t\t\t\t_settle(result, 1, onFulfilled ? onFulfilled(value) : value);\n\t\t\t\t} else if (onRejected) {\n\t\t\t\t\t_settle(result, 1, onRejected(value));\n\t\t\t\t} else {\n\t\t\t\t\t_settle(result, 2, value);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(result, 2, e);\n\t\t\t}\n\t\t};\n\t\treturn result;\n\t}\n\treturn _Pact;\n})();\n\n// Settles a pact synchronously\nexport function _settle(pact, state, value) {\n\tif (!pact.s) {\n\t\tif (value instanceof _Pact) {\n\t\t\tif (value.s) {\n\t\t\t\tif (state & 1) {\n\t\t\t\t\tstate = value.s;\n\t\t\t\t}\n\t\t\t\tvalue = value.v;\n\t\t\t} else {\n\t\t\t\tvalue.o = _settle.bind(null, pact, state);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (value && value.then) {\n\t\t\tvalue.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));\n\t\t\treturn;\n\t\t}\n\t\tpact.s = state;\n\t\tpact.v = value;\n\t\tconst observer = pact.o;\n\t\tif (observer) {\n\t\t\tobserver(pact);\n\t\t}\n\t}\n}\n\nexport function _isSettledPact(thenable) {\n\treturn thenable instanceof _Pact && thenable.s & 1;\n}\n\n// Converts argument to a function that always returns a Promise\nexport function _async(f) {\n\treturn function() {\n\t\tfor (var args = [], i = 0; i < arguments.length; i++) {\n\t\t\targs[i] = arguments[i];\n\t\t}\n\t\ttry {\n\t\t\treturn Promise.resolve(f.apply(this, args));\n\t\t} catch(e) {\n\t\t\treturn Promise.reject(e);\n\t\t}\n\t}\n}\n\n// Awaits on a value that may or may not be a Promise (equivalent to the await keyword in ES2015, with continuations passed explicitly)\nexport function _await(value, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(value) : value;\n\t}\n\tif (!value || !value.then) {\n\t\tvalue = Promise.resolve(value);\n\t}\n\treturn then ? value.then(then) : value;\n}\n\n// Awaits on a value that may or may not be a Promise, then ignores it\nexport function _awaitIgnored(value, direct) {\n\tif (!direct) {\n\t\treturn value && value.then ? value.then(_empty) : Promise.resolve();\n\t}\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continue(value, then) {\n\treturn value && value.then ? value.then(then) : then(value);\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continueIgnored(value) {\n\tif (value && value.then) {\n\t\treturn value.then(_empty);\n\t}\n}\n\n// Asynchronously iterate through an object that has a length property, passing the index as the first argument to the callback (even as the length property changes)\nexport function _forTo(array, body, check) {\n\tvar i = -1, pact, reject;\n\tfunction _cycle(result) {\n\t\ttry {\n\t\t\twhile (++i < array.length && (!check || !check())) {\n\t\t\t\tresult = body(i);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (pact) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t} else {\n\t\t\t\tpact = result;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t}\n\t}\n\t_cycle();\n\treturn pact;\n}\n\n// Asynchronously iterate through an object's properties (including properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forIn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tkeys.push(key);\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\n// Asynchronously iterate through an object's own properties (excluding properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forOwn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tif (Object.prototype.hasOwnProperty.call(target, key)) {\n\t\t\tkeys.push(key);\n\t\t}\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\nexport const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.iterator || (Symbol.iterator = Symbol(\"Symbol.iterator\"))) : \"@@iterator\";\n\n// Asynchronously iterate through an object's values\n// Uses for...of if the runtime supports it, otherwise iterates until length on a copy\nexport function _forOf(target, body, check) {\n\tif (typeof target[_iteratorSymbol] === \"function\") {\n\t\tvar iterator = target[_iteratorSymbol](), step, pact, reject;\n\t\tfunction _cycle(result) {\n\t\t\ttry {\n\t\t\t\twhile (!(step = iterator.next()).done && (!check || !check())) {\n\t\t\t\t\tresult = body(step.value);\n\t\t\t\t\tif (result && result.then) {\n\t\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (pact) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t} else {\n\t\t\t\t\tpact = result;\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t\t}\n\t\t}\n\t\t_cycle();\n\t\tif (iterator.return) {\n\t\t\tvar _fixup = function(value) {\n\t\t\t\ttry {\n\t\t\t\t\tif (!step.done) {\n\t\t\t\t\t\titerator.return();\n\t\t\t\t\t}\n\t\t\t\t} catch(e) {\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tif (pact && pact.then) {\n\t\t\t\treturn pact.then(_fixup, function(e) {\n\t\t\t\t\tthrow _fixup(e);\n\t\t\t\t});\n\t\t\t}\n\t\t\t_fixup();\n\t\t}\n\t\treturn pact;\n\t}\n\t// No support for Symbol.iterator\n\tif (!(\"length\" in target)) {\n\t\tthrow new TypeError(\"Object is not iterable\");\n\t}\n\t// Handle live collections properly\n\tvar values = [];\n\tfor (var i = 0; i < target.length; i++) {\n\t\tvalues.push(target[i]);\n\t}\n\treturn _forTo(values, function(i) { return body(values[i]); }, check);\n}\n\nexport const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol(\"Symbol.asyncIterator\"))) : \"@@asyncIterator\";\n\n// Asynchronously iterate on a value using it's async iterator if present, or its synchronous iterator if missing\nexport function _forAwaitOf(target, body, check) {\n\tif (typeof target[_asyncIteratorSymbol] === \"function\") {\n\t\tvar pact = new _Pact();\n\t\tvar iterator = target[_asyncIteratorSymbol]();\n\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\treturn pact;\n\t\tfunction _resumeAfterBody(result) {\n\t\t\tif (check && check()) {\n\t\t\t\treturn _settle(pact, 1, iterator.return ? iterator.return().then(function() { return result; }) : result);\n\t\t\t}\n\t\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\t}\n\t\tfunction _resumeAfterNext(step) {\n\t\t\tif (step.done) {\n\t\t\t\t_settle(pact, 1);\n\t\t\t} else {\n\t\t\t\tPromise.resolve(body(step.value)).then(_resumeAfterBody).then(void 0, _reject);\n\t\t\t}\n\t\t}\n\t\tfunction _reject(error) {\n\t\t\t_settle(pact, 2, iterator.return ? iterator.return().then(function() { return error; }) : error);\n\t\t}\n\t}\n\treturn Promise.resolve(_forOf(target, function(value) { return Promise.resolve(value).then(body); }, check));\n}\n\n// Asynchronously implement a generic for loop\nexport function _for(test, update, body) {\n\tvar stage;\n\tfor (;;) {\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t\tif (shouldContinue.then) {\n\t\t\tstage = 0;\n\t\t\tbreak;\n\t\t}\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.s;\n\t\t\t} else {\n\t\t\t\tstage = 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (update) {\n\t\t\tvar updateValue = update();\n\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\tstage = 2;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tvar pact = new _Pact();\n\tvar reject = _settle.bind(null, pact, 2);\n\t(stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tdo {\n\t\t\tif (update) {\n\t\t\t\tupdateValue = update();\n\t\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\t\tupdateValue.then(_resumeAfterUpdate).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tshouldContinue = test();\n\t\t\tif (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t}\n\t\t} while (!result || !result.then);\n\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterBody(result);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n\tfunction _resumeAfterUpdate() {\n\t\tif (shouldContinue = test()) {\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterTest(shouldContinue);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a do ... while loop\nexport function _do(body, test) {\n\tvar awaitBody;\n\tdo {\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t} else {\n\t\t\t\tawaitBody = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t} while (!shouldContinue.then);\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : shouldContinue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tfor (;;) {\n\t\t\tshouldContinue = test();\n\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t}\n\t\t\tif (!shouldContinue) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\tresult = result.v;\n\t\t\t\t} else {\n\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tdo {\n\t\t\t\tresult = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tshouldContinue = test();\n\t\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t\t}\n\t\t\t\tif (!shouldContinue) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} while (!shouldContinue.then);\n\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a switch statement\nexport function _switch(discriminant, cases) {\n\tvar dispatchIndex = -1;\n\tvar awaitBody;\n\touter: {\n\t\tfor (var i = 0; i < cases.length; i++) {\n\t\t\tvar test = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvar testValue = test();\n\t\t\t\tif (testValue && testValue.then) {\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tif (testValue === discriminant) {\n\t\t\t\t\tdispatchIndex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Found the default case, set it as the pending dispatch case\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tif (dispatchIndex !== -1) {\n\t\t\tdo {\n\t\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\t\twhile (!body) {\n\t\t\t\t\tdispatchIndex++;\n\t\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t\t}\n\t\t\t\tvar result = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tawaitBody = true;\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\t\tdispatchIndex++;\n\t\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t\treturn result;\n\t\t}\n\t}\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : testValue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterTest(value) {\n\t\tfor (;;) {\n\t\t\tif (value === discriminant) {\n\t\t\t\tdispatchIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (++i === cases.length) {\n\t\t\t\tif (dispatchIndex !== -1) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\ttest = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvalue = test();\n\t\t\t\tif (value && value.then) {\n\t\t\t\t\tvalue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tdo {\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tvar result = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tdispatchIndex++;\n\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterBody(result) {\n\t\tfor (;;) {\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tif (!fallthroughCheck || fallthroughCheck()) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdispatchIndex++;\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _call(body, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(body()) : body();\n\t}\n\ttry {\n\t\tvar result = Promise.resolve(body());\n\t\treturn then ? result.then(then) : result;\n\t} catch (e) {\n\t\treturn Promise.reject(e);\n\t}\n}\n\n// Asynchronously call a function and swallow the result\nexport function _callIgnored(body, direct) {\n\treturn _call(body, _empty, direct);\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _invoke(body, then) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(then);\n\t}\n\treturn then(result);\n}\n\n// Asynchronously call a function and swallow the result\nexport function _invokeIgnored(body) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(_empty);\n\t}\n}\n\n// Asynchronously call a function and send errors to recovery continuation\nexport function _catch(body, recover) {\n\ttry {\n\t\tvar result = body();\n\t} catch(e) {\n\t\treturn recover(e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(void 0, recover);\n\t}\n\treturn result;\n}\n\n// Asynchronously await a promise and pass the result to a finally continuation\nexport function _finallyRethrows(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer(true, e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer.bind(null, false), finalizer.bind(null, true));\n\t}\n\treturn finalizer(false, result);\n}\n\n// Asynchronously await a promise and invoke a finally continuation that always overrides the result\nexport function _finally(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer();\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer, finalizer);\n\t}\n\treturn finalizer();\n}\n\n// Rethrow or return a value from a finally continuation\nexport function _rethrow(thrown, value) {\n\tif (thrown)\n\t\tthrow value;\n\treturn value;\n}\n\n// Empty function to implement break and other control flow that ignores asynchronous results\nexport function _empty() {\n}\n\n// Sentinel value for early returns in generators \nexport const _earlyReturn = /*#__PURE__*/ {};\n\n// Asynchronously call a function and send errors to recovery continuation, skipping early returns\nexport function _catchInGenerator(body, recover) {\n\treturn _catch(body, function(e) {\n\t\tif (e === _earlyReturn) {\n\t\t\tthrow e;\n\t\t}\n\t\treturn recover(e);\n\t});\n}\n\n// Asynchronous generator class; accepts the entrypoint of the generator, to which it passes itself when the generator should start\nexport const _AsyncGenerator = /*#__PURE__*/(function() {\n\tfunction _AsyncGenerator(entry) {\n\t\tthis._entry = entry;\n\t\tthis._pact = null;\n\t\tthis._resolve = null;\n\t\tthis._return = null;\n\t\tthis._promise = null;\n\t}\n\n\tfunction _wrapReturnedValue(value) {\n\t\treturn { value: value, done: true };\n\t}\n\tfunction _wrapYieldedValue(value) {\n\t\treturn { value: value, done: false };\n\t}\n\n\t_AsyncGenerator.prototype._yield = function(value) {\n\t\t// Yield the value to the pending next call\n\t\tthis._resolve(value && value.then ? value.then(_wrapYieldedValue) : _wrapYieldedValue(value));\n\t\t// Return a pact for an upcoming next/return/throw call\n\t\treturn this._pact = new _Pact();\n\t};\n\t_AsyncGenerator.prototype.next = function(value) {\n\t\t// Advance the generator, starting it if it has yet to be started\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tconst _entry = _this._entry;\n\t\t\t\tif (_entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the next call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Start the generator\n\t\t\t\t_this._entry = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\tfunction returnValue(value) {\n\t\t\t\t\t_this._resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t_this._resolve = null;\n\t\t\t\t}\n\t\t\t\tvar result = _entry(_this);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tresult.then(returnValue, function(error) {\n\t\t\t\t\t\tif (error === _earlyReturn) {\n\t\t\t\t\t\t\treturnValue(_this._return);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst pact = new _Pact();\n\t\t\t\t\t\t\t_this._resolve(pact);\n\t\t\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t\t\t_this._resolve = null;\n\t\t\t\t\t\t\t_resolve(pact, 2, error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturnValue(result);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Generator is started and a yield expression is pending, settle it\n\t\t\t\t_this._pact = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\t_settle(_pact, 1, value);\n\t\t\t}\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.return = function(value) {\n\t\t// Early return from the generator if started, otherwise abandons the generator\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the return call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return the specified value\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t}\n\t\t\t// Settle the yield expression with a rejected \"early return\" value\n\t\t\t_this._return = value;\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, _earlyReturn);\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.throw = function(error) {\n\t\t// Inject an exception into the pending yield expression\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve, reject) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the throw call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return a rejected Promise containing the error\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn reject(error);\n\t\t\t}\n\t\t\t// Settle the yield expression with the value as a rejection\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, error);\n\t\t});\n\t};\n\n\t_AsyncGenerator.prototype[_asyncIteratorSymbol] = function() {\n\t\treturn this;\n\t};\n\t\n\treturn _AsyncGenerator;\n})();\n","import React from \"react\"\nimport styles from \"./styles.module.scss\"\n\ninterface IProps {\n type?: \"primary\" | \"secondary\" | \"text\" | \"danger\" | \"light\"\n children: string | JSX.Element\n onClick?: any\n icon?: JSX.Element | string\n disabled?: boolean\n htmlType?: \"button\" | \"submit\"\n [key: string]: any;\n}\n\nconst CoreButton = (props: IProps) => {\n const {\n type = \"primary\",\n children,\n onClick,\n icon,\n disabled = false,\n htmlType = \"button\",\n ...rest\n } = props\n\n return (\n <button\n className={`${styles[\"core-button\"]} ${styles[type]}`}\n onClick={onClick}\n disabled={disabled}\n type={htmlType}\n {...rest}\n >\n {icon && icon}\n\n {children}\n </button>\n )\n}\n\nexport default CoreButton\n","import React from \"react\"\nimport styles from \"./styles.module.scss\"\n\ninterface IProps {\n message: string\n}\n\nconst CoreError = (props: IProps) => {\n const { message } = props\n\n return (\n <div className={`${styles[\"core-error\"]}`}>\n <p>{message}</p>\n </div>\n )\n}\n\nexport default CoreError\n","import React from \"react\"\nimport styles from \"./styles.module.scss\"\nimport CoreError from \"../CoreError\"\n\ninterface IProps {\n name: string\n value: string\n type?: \"no-outline\" | \"outline\"\n onChange: (name: string, value: string) => void\n disabled?: boolean\n label?: string\n width?: number\n placeholder?: string\n error?: boolean\n errorMessage?: string\n fontSize?: string\n fontWeight?: string\n onKeyDown?: (e: any) => void\n onKeyFocus?: (name: string, value: string) => void\n ref?: any\n maxLength?: number\n className?: string\n}\n\nconst CoreInput = (props: IProps) => {\n const {\n name,\n value,\n onChange,\n type = \"outline\",\n disabled = false,\n label,\n width,\n placeholder = \"Type here\",\n error,\n errorMessage = \"\",\n fontSize,\n fontWeight,\n onKeyDown,\n ref,\n maxLength,\n className,\n onKeyFocus\n } = props\n\n return (\n <div\n className={`${styles[\"core-input\"]} ${styles[type]} ${error ? styles[\"error\"] : \"\"}`}\n style={{\n width: width ?? \"100%\"\n }}\n >\n {label && <label>{label}</label>}\n\n <input\n style={{ fontSize: fontSize, fontWeight: fontWeight }}\n name={name}\n value={value}\n onChange={e => onChange(name, e.target.value)}\n disabled={disabled}\n placeholder={placeholder}\n onKeyDown={e => onKeyDown?.(e)}\n onFocus={e => onKeyFocus?.(name, e.target.value)}\n {...ref}\n maxLength={maxLength}\n className={className}\n />\n\n {error && <CoreError message={errorMessage} />}\n </div>\n )\n}\n\nexport default CoreInput\n","import React from \"react\"\nimport styles from \"./styles.module.scss\"\nimport ReactSelect, {\n ControlProps,\n CSSObjectWithLabel,\n GroupBase,\n OptionProps\n} from \"react-select\"\nimport CoreError from \"../CoreError\"\nimport { components } from \"react-select\"\nimport { CoreCheckbox } from \"..\"\nimport { COLORS } from \"../../utils/constants\"\n\ninterface IOprion {\n label: string\n value: string\n}\n\ninterface IProps {\n name: string\n options: IOprion[]\n value: string | null | string[]\n onChange: (name: string, value: string) => void\n disabled?: boolean\n label?: string\n width?: number\n placeholder?: string\n error?: boolean\n errorMessage?: string\n type?: \"outline\" | \"no-outline\"\n isMulti?: boolean\n closeMenuOnSelect?: boolean\n hideSelectedOptions?: boolean\n}\nconst Option = (props: any) => {\n return (\n <div>\n <components.Option {...props}>\n <CoreCheckbox\n checked={props.isSelected}\n onChange={() => null}\n name=\"\"\n label={props.label}\n />\n </components.Option>\n </div>\n )\n}\n\nconst CoreSelect = (props: IProps) => {\n const {\n name,\n options,\n value,\n onChange,\n disabled = false,\n label,\n width,\n placeholder = \"Select\",\n error,\n errorMessage = \"\",\n type = \"outline\",\n isMulti = false,\n closeMenuOnSelect = true,\n hideSelectedOptions = true\n } = props\n\n const handleChange = (e: any) => {\n const newValue = isMulti ? e.map((item: any) => item.value) : e?.value\n onChange(name, newValue)\n }\n\n const controlStyle = (\n base: CSSObjectWithLabel,\n state: ControlProps<any, boolean, GroupBase<any>>\n ) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n fontSize: \"14px\",\n fontWeight: \"400\",\n padding: \"0 4px\",\n borderRadius: \"8px\",\n backgroundColor: state.isDisabled\n ? COLORS.lightGrayBg\n : COLORS.white,\n border: state.isFocused\n ? `2px solid ${!error ? COLORS.brandBlue : COLORS.red}`\n : `1px solid ${!error ? COLORS.grayLines : COLORS.red}`,\n height: isMulti ? undefined : \"32px\",\n minHeight: 0,\n boxShadow: \"none\"\n }\n\n switch (type) {\n case \"outline\":\n styles.overflow = \"hidden\"\n styles[\":hover\"] = {\n backgroundColor: COLORS.lightBlueHover\n }\n break\n case \"no-outline\":\n styles.border = \"none\"\n styles.padding = 0\n styles[\"&>div\"] = {\n padding: 0\n }\n break\n default:\n break\n }\n return styles\n }\n\n const inputStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n margin: \"0\",\n padding: \"0\",\n color: \"inherit\"\n }\n return styles\n }\n\n const placeholderStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n color: COLORS.lightGray\n // position: \"relative\",\n // top: \"1px\"\n }\n return styles\n }\n\n const dropdownIndicatorStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n position: \"relative\",\n top: \"-4px\",\n padding: \"8px 0\"\n }\n return styles\n }\n\n const valueContainerStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n height: isMulti ? undefined : \"32px\",\n position: \"relative\",\n top: \"-3px\"\n }\n return styles\n }\n\n const singleValueStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base\n }\n return styles\n }\n\n const optionStyles = (\n base: CSSObjectWithLabel,\n state: OptionProps<any, boolean, GroupBase<any>>\n ) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n padding: \"8px\",\n borderRadius: \"8px\",\n cursor: \"pointer\",\n fontSize: \"14px\",\n fontWeight: 400,\n backgroundColor: state.isSelected\n ? COLORS.lightBlueHover\n : \"transparent\",\n \"&:hover\": {\n backgroundColor: COLORS.lightBlueHover\n }\n }\n return styles\n }\n\n const indicatorsContainerStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n display: type === \"no-outline\" ? \"none\" : \"block\"\n }\n return styles\n }\n\n const multiValueStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n backgroundColor: COLORS.lightBlue,\n borderRadius: \"4px\",\n padding: \"2px 8px\",\n display: \"flex\",\n alignItems: \"center\",\n fontSize: \"13px\",\n color: COLORS.blackText\n }\n return styles\n }\n\n const multiValueRemoveStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n color: COLORS.lightGray,\n cursor: \"pointer\"\n }\n return styles\n }\n\n const multiValueLabelStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n color: COLORS.blackText,\n fontWeight: \"400\",\n fontSize: \"13px\",\n padding: 0\n }\n return styles\n }\n\n return (\n <div\n className={`${styles[\"core-select\"]}`}\n style={{ width: width ?? \"100%\" }}\n >\n {label && <span className={styles[\"label\"]}>{label}</span>}\n\n <ReactSelect\n name={name}\n value={options.filter(\n i =>\n value &&\n (isMulti ? value.includes(i.value) : i.value === value)\n )}\n onChange={handleChange}\n placeholder={placeholder}\n isDisabled={disabled}\n isMulti={isMulti}\n closeMenuOnSelect={closeMenuOnSelect}\n hideSelectedOptions={hideSelectedOptions}\n options={options as any}\n components={isMulti ? { Option } : undefined}\n styles={{\n control: controlStyle,\n input: inputStyles,\n placeholder: placeholderStyles,\n dropdownIndicator: dropdownIndicatorStyles,\n indicatorSeparator: () => ({\n display: \"none\"\n }),\n indicatorsContainer: indicatorsContainerStyles,\n valueContainer: valueContainerStyles,\n singleValue: singleValueStyles,\n option: optionStyles,\n multiValue: multiValueStyles,\n multiValueRemove: multiValueRemoveStyles,\n multiValueLabel: multiValueLabelStyles\n }}\n />\n\n {error && <CoreError message={errorMessage} />}\n </div>\n )\n}\n\nexport default CoreSelect\n","import React from \"react\"\nimport styles from \"./styles.module.scss\"\nimport { FormGroup, Input, Label } from \"reactstrap\"\n\ninterface IProps {\n name: string\n checked: boolean\n onChange: (name: string, checked: boolean) => void\n disabled?: boolean\n label?: string\n}\n\nconst CoreInput = (props: IProps) => {\n const { name, checked, onChange, disabled = false, label } = props\n\n return (\n <div className={`${styles[\"core-checkbox\"]}`}>\n <FormGroup check inline>\n <Input\n id={`core-checkbox-${name}`}\n type=\"checkbox\"\n name={name}\n checked={checked}\n onChange={e => onChange?.(name, e.target.checked)}\n disabled={disabled}\n />\n\n <Label htmlFor={`core-checkbox-${name}`} check>\n {label}\n </Label>\n </FormGroup>\n </div>\n )\n}\n\nexport default CoreInput\n","import React from \"react\"\nimport styles from \"./styles.module.scss\"\nimport { FormGroup, Input, Label } from \"reactstrap\"\n\ninterface IOption {\n label: string\n value: string\n disabled?: boolean;\n}\n\ninterface IProps {\n name: string\n value: string\n options: IOption[]\n onChange: (name: string, value: string) => void\n disabled?: boolean\n}\n\nconst CoreRadio = (props: IProps) => {\n const { name, value, options, onChange, disabled = false } = props\n\n return (\n <div className={`${styles[\"core-radio\"]}`}>\n <FormGroup check>\n {options.map(i => (\n <div key={i.value}>\n <Input\n id={`core-radio-${i.value}`}\n type=\"radio\"\n checked={value === i.value}\n onClick={() => {\n onChange(name, i.value)\n }}\n onChange={() => {\n return\n }}\n disabled={disabled || i.disabled}\n />\n\n <Label htmlFor={`core-radio-${i.value}`}>\n {i.label}\n </Label>\n </div>\n ))}\n </FormGroup>\n </div>\n )\n}\n\nexport default CoreRadio\n","import React from \"react\"\nimport styles from \"./styles.module.scss\"\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\"\n\ninterface IProps {\n open: boolean\n onClose?: () => void\n children: JSX.Element\n title: string\n footer?: JSX.Element\n handleSubmit?: any\n onSubmit?: any\n bodyPadding?: string\n className?: string\n}\n\nconst CoreModal = (props: IProps) => {\n const {\n open,\n onClose,\n children,\n title,\n footer,\n handleSubmit,\n onSubmit,\n bodyPadding = \"24px\",\n className\n } = props\n\n return (\n <Modal isOpen={open} toggle={onClose} centered modalClassName={className}>\n <form\n onSubmit={onSubmit ? handleSubmit(onSubmit) : undefined}\n className={`${styles[\"core-modal-container\"]}`}\n >\n <ModalHeader\n toggle={onClose}\n className={styles[\"core-modal-header\"]}\n >\n {title}\n </ModalHeader>\n\n <ModalBody style={{ padding: bodyPadding }}>\n {children}\n </ModalBody>\n\n {footer && <ModalFooter>{footer}</ModalFooter>}\n </form>\n </Modal>\n )\n}\n\nexport default CoreModal\n","import React from \"react\"\nimport styles from \"./styles.module.scss\"\n\ninterface IProps {\n name: string\n value: number\n onChange: (name: string, value: number) => void\n disabled?: boolean\n label?: string\n width?: number\n min?: number\n max?: number\n step?: number\n}\n\nconst CoreRange = (props: IProps) => {\n const { name, value, onChange, label, width, min, max, step } = props\n\n return (\n <div\n className={`${styles[\"core-range\"]}`}\n style={{ width: width ?? \"100%\" }}\n >\n {label && <label>{label}</label>}\n\n <input\n type=\"range\"\n name={name}\n value={value}\n onChange={e => onChange(name, +e.target.value)}\n min={min}\n max={max}\n step={step}\n />\n </div>\n )\n}\n\nexport default CoreRange\n","import React from \"react\"\nimport { IIcon } from \"../types\"\n\nconst Search = (props: IIcon) => {\n const { size = 16, color = \"#A6A6AD\" } = props\n\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M9.40376 9.40352C9.63808 9.1692 10.018 9.1692 10.2523 9.40352L13.4243 12.5755C13.6586 12.8098 13.6586 13.1897 13.4243 13.424C13.19 13.6584 12.8101 13.6584 12.5758 13.424L9.40376 10.252C9.16945 10.0177 9.16945 9.63783 9.40376 9.40352Z\"\n fill={color}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.9999 3.5999C5.12213 3.5999 3.5999 5.12213 3.5999 6.9999C3.5999 8.87767 5.12213 10.3999 6.9999 10.3999C8.87767 10.3999 10.3999 8.87767 10.3999 6.9999C10.3999 5.12213 8.87767 3.5999 6.9999 3.5999ZM2.3999 6.9999C2.3999 4.45939 4.45939 2.3999 6.9999 2.3999C9.54041 2.3999 11.5999 4.45939 11.5999 6.9999C11.5999 9.54041 9.54041 11.5999 6.9999 11.5999C4.45939 11.5999 2.3999 9.54041 2.3999 6.9999Z\"\n fill={color}\n />\n </svg>\n )\n}\n\nexport default Search\n","import React from \"react\"\nimport { IIcon } from \"../types\"\n\nconst Close = (props: IIcon) => {\n const { color = \"#A6A6AD\", size = 16 } = props\n\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_1060_48455)\">\n <rect\n x=\"2.48438\"\n y=\"3.61597\"\n width=\"1.6\"\n height=\"14\"\n rx=\"0.8\"\n transform=\"rotate(-45 2.48438 3.61597)\"\n fill={color}\n />\n <rect\n x=\"12.2427\"\n y=\"2.34326\"\n width=\"1.6\"\n height=\"14\"\n rx=\"0.8\"\n transform=\"rotate(45 12.2427 2.34326)\"\n fill={color}\n />\n </g>\n <defs>\n <clipPath id=\"clip0_1060_48455\">\n <rect width=\"16\" height=\"16\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n )\n}\n\nexport default Close\n","import React from \"react\"\n\nconst Info = () => {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.0002 2.1002C3.84628 2.1002 2.1002 3.84628 2.1002 6.0002C2.1002 8.15411 3.84628 9.9002 6.0002 9.9002C8.15411 9.9002 9.9002 8.15411 9.9002 6.0002C9.9002 3.84628 8.15411 2.1002 6.0002 2.1002ZM1.2002 6.0002C1.2002 3.34923 3.34923 1.2002 6.0002 1.2002C8.65116 1.2002 10.8002 3.34923 10.8002 6.0002C10.8002 8.65116 8.65116 10.8002 6.0002 10.8002C3.34923 10.8002 1.2002 8.65116 1.2002 6.0002Z\"\n fill=\"#A6A6AD\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.9998 5.1001C6.24833 5.1001 6.4498 5.30157 6.4498 5.5501V8.2915C6.4498 8.54003 6.24833 8.7415 5.9998 8.7415C5.75128 8.7415 5.5498 8.54003 5.5498 8.2915V5.5501C5.5498 5.30157 5.75128 5.1001 5.9998 5.1001Z\"\n fill=\"#A6A6AD\"\n />\n <path\n d=\"M5.9999 4.6502C5.6687 4.6502 5.3999 4.3808 5.3999 4.0502C5.3999 3.7196 5.6687 3.4502 5.9999 3.4502C6.3311 3.4502 6.5999 3.7196 6.5999 4.0502C6.5999 4.3808 6.3311 4.6502 5.9999 4.6502Z\"\n fill=\"#A6A6AD\"\n />\n </svg>\n )\n}\n\nexport default Info\n","import React, { useEffect, useRef, useState } from \"react\"\nimport styles from \"./styles.module.scss\"\nimport { Info } from \"../../utils/icons\"\nimport { Tooltip } from \"reactstrap\"\n\ninterface IProps {\n name?: string\n value: string\n onChange: (name: string, value: string) => void\n placeholder?: string\n error?: boolean\n label?: string\n isOptional?: boolean\n tooltip?: string\n noBorder?: boolean\n smallHeight?: boolean\n cols?: number\n rows?: number\n width?: number\n minHeight?: string\n className?: string\n onKeyDown?: (e: any) => void\n onKeyFocus?: (name: string, value: string) => void\n autoResize?: boolean\n onClick?: () => void\n onBlur?: () => void\n isDisabled?: boolean\n}\n\nconst CoreTextArea = (props: IProps) => {\n const {\n name = \"\",\n value,\n onChange,\n placeholder = \"Type here...\",\n error = false,\n label,\n isOptional = false,\n tooltip,\n noBorder = false,\n smallHeight = false,\n cols,\n rows,\n minHeight,\n className,\n onKeyDown,\n onKeyFocus,\n autoResize,\n width,\n onClick,\n onBlur,\n isDisabled,\n ...rest\n } = props\n const [isOpenTooltip, setIsOpenTooltip] = useState(false)\n\n const toggleTooltip = () => setIsOpenTooltip(!isOpenTooltip)\n const textareaRef = useRef<any>(null)\n\n useEffect(() => {\n if (autoResize && textareaRef.current) {\n const el = textareaRef.current;\n requestAnimationFrame(() => {\n el.style.height = \"auto\";\n el.style.height = el.scrollHeight + \"px\";\n });\n }\n }, [value, autoResize]);\n \n return (\n <div\n className={`${styles[\"editor\"]} ${error ? styles[\"error\"] : \"\"} ${noBorder ? styles[\"no-border\"] : \"\"} ${smallHeight ? styles[\"small-height\"] : \"\"}`}\n style={{\n width: width ?? \"100%\"\n }}\n >\n {label && (\n <span className={styles[\"label\"]}>\n <div className={styles[\"label-content\"]}>{label}</div>\n\n {isOptional && (\n <div className={styles[\"optional\"]}>(optional)</div>\n )}\n\n {tooltip && (\n <div id={name} className={styles[\"icon\"]}>\n <Info />\n\n <Tooltip\n target={name}\n isOpen={isOpenTooltip}\n toggle={toggleTooltip}\n >\n {tooltip}\n </Tooltip>\n </div>\n )}\n </span>\n )}\n\n <textarea\n ref={textareaRef}\n placeholder={placeholder}\n style={{\n whiteSpace: \"pre-wrap\",\n width: \"100%\",\n minHeight: minHeight ? minHeight : \"123px\",\n resize: \"none\",\n overflow: \"hidden\"\n }}\n value={value}\n cols={cols}\n rows={rows}\n onChange={e => onChange(name, e.target.value)}\n onKeyDown={e => onKeyDown?.(e)}\n onFocus={e => onKeyFocus?.(name, e.target.value)}\n className={className}\n onClick={onClick}\n onBlur={onBlur}\n disabled={isDisabled}\n {...rest}\n />\n </div>\n )\n}\n\nexport default CoreTextArea\n","import React from \"react\"\nimport styles from \"./styles.module.scss\"\nimport { Close, Search } from \"../../utils/icons\"\n\ninterface IProps {\n name?: string\n value: string\n onChange: (name: string, value: string) => void\n width?: number\n onPressEnter?: (value: string) => void\n placeholder?: string\n}\n\nconst CoreSearch = (props: IProps) => {\n const { name = \"\", value, onChange, width, onPressEnter, placeholder = \"Search...\" } = props\n\n const handleClear = () => {\n onChange(name, \"\")\n onPressEnter && onPressEnter(\"\")\n }\n\n return (\n <div\n className={styles[\"core-search\"]}\n style={{ width: width ?? \"100%\" }}\n tabIndex={1}\n >\n <div className={styles[\"icon\"]}>\n <Search />\n </div>\n\n <input\n className={styles[\"input\"]}\n value={value}\n onChange={e => onChange(name, e.target.value)}\n placeholder={placeholder}\n onKeyDown={e => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n onPressEnter && onPressEnter(value)\n }\n }}\n\n />\n\n {value.length ? (\n <div className={styles[\"clear\"]} onClick={handleClear}>\n <Close />\n </div>\n ) : null}\n </div>\n )\n}\n\nexport default CoreSearch\n","import React from \"react\"\nimport ReactSelect, {\n components,\n ControlProps,\n CSSObjectWithLabel,\n GroupBase,\n OptionProps\n} from \"react-select\"\nimport styles from \"./styles.module.scss\"\nimport { CoreCheckbox } from \"..\"\nimport { Info } from \"../../utils/icons\"\nimport { COLORS } from \"../../utils/constants\"\n\ninterface IOprion {\n label: string\n value: string\n}\n\ninterface IProps {\n name?: string\n options: IOprion[]\n value: string | null | string[]\n onChange: (name: string, value: string) => void\n disabled?: boolean\n label?: string\n width?: number\n placeholder?: string\n isMulti?: boolean\n isShowDropdown?: boolean\n error?: boolean,\n noOptionsMessage?: string,\n}\n\nconst Option = (props: any) => {\n return (\n <div>\n <components.Option {...props}>\n <CoreCheckbox\n checked={props.isSelected}\n onChange={() => null}\n name=\"\"\n label={props.label}\n />\n </components.Option>\n </div>\n )\n}\nconst CoreSelectCompact = (props: IProps) => {\n const {\n name = \"\",\n options,\n value,\n onChange,\n disabled = false,\n label,\n width,\n placeholder = \"Select\",\n isMulti = false,\n isShowDropdown = false,\n error = false,\n noOptionsMessage,\n } = props\n\n const handleChange = (value: any) => {\n const newValue = isMulti\n ? value?.map((item: any) => item.value)\n : value?.value\n onChange(name, newValue)\n }\n\n const controlStyle = (\n base: CSSObjectWithLabel,\n state: ControlProps<any, boolean, GroupBase<any>>\n ) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n fontSize: \"14px\",\n fontWeight: \"400\",\n padding: \"0\",\n backgroundColor: state.isDisabled\n ? \"transparent\"\n : error\n ? COLORS.lightYellow\n : COLORS.white,\n border: \"none\",\n height: isMulti ? undefined : \"26px\",\n minHeight: \"26px\",\n boxShadow: \"none\",\n cursor: \"pointer\",\n \"&:hover\": {\n backgroundColor: COLORS.lightBlueHover\n },\n \"&>div\": {\n padding: \"0 2px\"\n }\n }\n\n return styles\n }\n\n const inputStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n margin: \"0\",\n padding: \"0\",\n color: \"inherit\",\n position: \"relative\",\n top: \"-2px\"\n }\n return styles\n }\n\n const placeholderStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n color: COLORS.lightGray\n }\n return styles\n }\n\n const dropdownIndicatorStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n position: \"relative\",\n padding: \"2px 0\"\n }\n return styles\n }\n\n const indicatorsContainerStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n display: isShowDropdown && !isMulti ? \"block\" : \"none\"\n }\n return styles\n }\n\n const valueContainerStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n height: isMulti ? undefined : \"26px\",\n position: \"relative\"\n }\n return styles\n }\n\n const singleValueStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base\n }\n return styles\n }\n\n const optionStyles = (\n base: CSSObjectWithLabel,\n state: OptionProps<any, boolean, GroupBase<any>>\n ) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n padding: \"8px\",\n borderRadius: \"8px\",\n cursor: \"pointer\",\n fontSize: \"14px\",\n fontWeight: 400,\n color: COLORS.blackText,\n backgroundColor: state.isSelected\n ? COLORS.lightBlueHover\n : \"transparent\",\n \"&:hover\": {\n backgroundColor: COLORS.lightBlueHover\n }\n }\n return styles\n }\n\n const multiValueStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n backgroundColor: COLORS.lightBlue,\n borderRadius: \"4px\",\n padding: \"0 4px\",\n display: \"flex\",\n alignItems: \"center\",\n fontSize: \"13px\",\n color: COLORS.blackText\n }\n return styles\n }\n\n const multiValueRemoveStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n color: COLORS.lightGray,\n cursor: \"pointer\"\n }\n return styles\n }\n\n const multiValueLabelStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n color: COLORS.blackText,\n fontWeight: \"400\",\n fontSize: \"13px\",\n padding: 0\n }\n return styles\n }\n\n return (\n <div\n className={`${styles[\"core-select-compact\"]}`}\n style={{ width: width ?? \"100%\" }}\n >\n {label && (\n <div className={styles[\"label\"]}>\n <label>{label}</label>\n <Info />\n </div>\n )}\n\n <ReactSelect\n name={name}\n value={options.filter(\n i =>\n value &&\n (isMulti ? value.includes(i.value) : i.value === value)\n )}\n onChange={handleChange}\n placeholder={placeholder}\n isDisabled={disabled}\n isMulti={isMulti}\n closeMenuOnSelect={!isMulti}\n hideSelectedOptions={false}\n options={options as any}\n noOptionsMessage={() => noOptionsMessage ? noOptionsMessage : \"No options\"}\n components={isMulti ? { Option } : undefined}\n styles={{\n control: controlStyle,\n input: inputStyles,\n placeholder: placeholderStyles,\n dropdownIndicator: dropdownIndicatorStyles,\n indicatorSeparator: () => ({\n display: \"none\"\n }),\n indicatorsContainer: indicatorsContainerStyles,\n valueContainer: valueContainerStyles,\n singleValue: singleValueStyles,\n option: optionStyles,\n multiValue: multiValueStyles,\n multiValueRemove: multiValueRemoveStyles,\n multiValueLabel: multiValueLabelStyles\n }}\n />\n </div>\n )\n}\n\nexport default CoreSelectCompact\n","import React, { useState } from \"react\"\n\nimport styles from \"./styles.module.scss\"\nimport { Info } from \"../../utils/icons\"\nimport { COLORS } from \"../../utils/constants\"\nimport { Tooltip } from \"reactstrap\"\n\ninterface IProps {\n name?: string\n value: string\n onChange: (name: string, value: string) => void\n disabled?: boolean\n label?: string\n width?: number\n placeholder?: string\n error?: boolean\n tooltip?: string\n onKeyDown?: (event: React.KeyboardEvent<HTMLInputElement>) => void\n [key: string]: any\n}\n\nconst CoreInputCompact = (props: IProps) => {\n const {\n name = \"\",\n value,\n onChange,\n disabled = false,\n label,\n width,\n placeholder = \"Type here\",\n error,\n tooltip,\n onKeyDown,\n ...rest\n } = props\n\n const [isOpenTooltip, setIsOpenTooltip] = useState(false)\n\n const toggleTooltip = () => setIsOpenTooltip(!isOpenTooltip)\n\n return (\n <div\n className={`${styles[\"core-input-compact\"]}`}\n style={{\n width: width ?? \"100%\"\n }}\n >\n {label && (\n <div className={styles[\"label\"]}>\n <label>{label}</label>\n {tooltip ? (\n <div id={name} className={styles[\"icon\"]}>\n <Info />\n </div>\n ) : null}\n </div>\n )}\n\n <input\n style={{\n backgroundColor: error ? COLORS.lightYellow : \"transparent\"\n }}\n name={name}\n value={value}\n onChange={e => onChange(name, e.target.value)}\n disabled={disabled}\n placeholder={placeholder}\n onKeyDown={e => {\n onKeyDown && onKeyDown(e)\n }}\n {...rest}\n />\n\n {tooltip && (\n <Tooltip\n target={name}\n isOpen={isOpenTooltip}\n toggle={toggleTooltip}\n >\n {tooltip}\n </Tooltip>\n )}\n </div>\n )\n}\n\nexport default CoreInputCompact\n","import React from \"react\"\n\nimport styles from \"./styles.module.scss\"\nimport { COLORS } from \"../../utils/constants\"\n\ninterface IProps {\n name?: string\n value: string\n onChange: (name: string, value: string) => void\n disabled?: boolean\n width?: number\n placeholder?: string\n error?: boolean\n size?: \"h1\" | \"h2\"\n maxLength?: number\n}\n\nconst CoreTitleInput = (props: IProps) => {\n const {\n name = \"\",\n value,\n onChange,\n disabled = false,\n width,\n placeholder = \"Type here\",\n error,\n size = \"h1\",\n maxLength\n } = props\n\n return (\n <div\n className={`${styles[\"core-label-input\"]}`}\n style={{\n width: width ?? \"100%\"\n }}\n >\n <input\n className={`${styles[`size-${size}`]}`}\n style={{\n backgroundColor: error ? COLORS.lightYellow : \"transparent\"\n }}\n name={name}\n value={value}\n onChange={e => onChange(name, e.target.value)}\n disabled={disabled}\n placeholder={placeholder}\n maxLength={maxLength}\n />\n </div>\n )\n}\n\nexport default CoreTitleInput\n","import React, { ReactNode, useRef, useState } from \"react\"\nimport { Tooltip } from \"reactstrap\"\nimport styles from \"./styles.module.scss\"\n\ninterface IProps {\n id?: string // optional\n content: string | ReactNode\n children: ReactNode\n placement?: \"left\" | \"top\" | \"bottom\" | \"right\"\n isDelay?: boolean\n timeDelay?: number\n innerClassName?: string\n}\n\nconst CoreTooltip = ({\n id,\n content,\n children,\n placement = \"top\",\n isDelay = false,\n timeDelay = 1500,\n innerClassName\n}: IProps) => {\n const generatedId = useRef(\n id || `tt-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 5)}`\n )\n const timeoutRef = useRef<NodeJS.Timeout | null>(null)\n const [isOpenTooltip, setIsOpenTooltip] = useState(false)\n\n const handleMouseEnter = () => {\n if (isDelay) {\n timeoutRef.current = setTimeout(() => {\n setIsOpenTooltip(true)\n }, timeDelay)\n } else {\n setIsOpenTooltip(true)\n }\n }\n\n const handleMouseLeave = () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n timeoutRef.current = null\n }\n setIsOpenTooltip(false)\n }\n\n return (\n <div\n id={generatedId.current}\n className={styles[\"core-tooltip\"]}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <div className={styles[\"icon\"]}>{children}</div>\n\n {content && typeof window !== \"undefined\" && (\n <Tooltip\n target={generatedId.current}\n isOpen={isOpenTooltip}\n placement={placement}\n innerClassName={innerClassName}\n >\n {content}\n </Tooltip>\n )}\n </div>\n )\n}\n\nexport default CoreTooltip\n","import Cookies from 'js-cookie';\nimport { REQUEST_ORIGIN, AUTH_COOKIE } from \"./../utils/constants\"\n\n// Define types for your cookie data\ntype AuthCookie = {\n token: string;\n expiresAt: number;\n};\n\n\nclass CookieService {\n // Auth cookie methods\n static setAuthCookie(data: AuthCookie): void {\n const rootDomain = this.getRootDomain(REQUEST_ORIGIN);\n Cookies.set(AUTH_COOKIE, data.token, {\n expires: new Date(data.expiresAt),\n secure: process.env.NODE_ENV === 'production',\n domain: '.' + rootDomain,\n sameSite: 'strict',\n path: '/',\n });\n }\n\n private static getRootDomain(host: string): string {\n const match = host.match(/([^.]+\\.[^.]+)$/);\n return match ? match[0] : host;\n }\n\n static getAuthCookie(): AuthCookie | null {\n const cookie = Cookies.get(AUTH_COOKIE);\n return cookie ? JSON.parse(cookie) : null;\n }\n\n static removeAuthCookie(): void {\n Cookies.remove(AUTH_COOKIE, { path: '/' });\n }\n\n // Generic methods with type parameter\n static get<T>(key: string): T | null {\n const cookie = Cookies.get(key);\n return cookie ? JSON.parse(cookie) : null;\n }\n\n static set<T>(key: string, value: T, options?: Cookies.CookieAttributes): void {\n Cookies.set(key, JSON.stringify(value), options);\n }\n}\n\nexport default CookieService;\n","export enum AmplitudeEvent {\n LOGIN = \"login\",\n LOGOUT = \"logout\",\n SIGN_UP = \"sign_up\",\n PAGE_VIEW = \"page_view\",\n BUTTON_CLICK = \"button_click\",\n SESSION_START = \"session_start\",\n SESSION_END = \"session_end\",\n TAB_FOCUS = \"tab_focus\",\n TAB_BLUR = \"tab_blur\",\n USER_PROFILE_UPDATE = \"user_profile_update\",\n USER_USAGE = \"user_usage\",\n}","export default (params: any) => {\n return Object.keys(params)\n .filter(key => params[key] || params[key] === 0 || params[key] === false)\n .map(key => {\n if (Array.isArray(params[key])) {\n return params[key].map((i: any) => `${encodeURIComponent(key)}=${encodeURIComponent(i)}`).join('&')\n }\n return `${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`\n }).join('&')\n}","import { ACCESS_TOKEN } from \"./constants\"\n\nexport default () => {\n try {\n return localStorage.getItem(ACCESS_TOKEN);\n } catch (err) {\n return null;\n }\n}","import axios, { AxiosInstance } from \"axios\"\nimport encodeParams from \"../utils/encodeParams\"\nimport { ACCESS_TOKEN, BASE_URL, ORGANIZATION_TEAM, ORGANIZATION_TENANT } from \"../utils/constants\"\nimport getAccessToken from \"../utils/getAccessToken\"\nimport moment from \"moment\"\nimport Cookies from \"js-cookie\"\n\n\nexport const api: AxiosInstance = axios.create({\n baseURL: BASE_URL,\n timeout: 0,\n headers: {\n \"Content-Type\": \"application/json\"\n },\n paramsSerializer: params => {\n return encodeParams(params)\n }\n})\n\nexport const apiUpload: AxiosInstance = axios.create({\n baseURL: BASE_URL,\n timeout: 10 * 60 * 1000,\n headers: {\n \"Content-Type\": \"multipart/form-data\"\n }\n})\n;[api, apiUpload].forEach(i =>\n i.interceptors.request.use(\n (config: any) => {\n const token = getAccessToken()\n if (token) {\n config.headers.Authorization = `Bearer ${token}`\n localStorage.setItem(\"LAST_TIME_REQUETST\", moment().utc().format(\"YYYY-MM-DD HH:mm:ss\"))\n }\n const imPersonate = localStorage.getItem(\"IMPERSONATE\") == \"1\" \n if (imPersonate) {\n config.headers.ImPersonate = imPersonate\n }\n \n return config\n },\n (error: any) => Promise.reject(error)\n )\n)\n;[api, apiUpload].forEach(i =>\n i.interceptors.response.use(\n response => {\n return response\n },\n error => {\n if (error.response.status === 401) {\n window.location.href = \"/login\"\n }\n if (error.response.status == 403) {\n const hostname = window.location.hostname;\n const parts = hostname.split('.');\n const domain = parts.slice(-2).join('.');\n \n localStorage.removeItem(ACCESS_TOKEN)\n localStorage.removeItem(ORGANIZATION_TENANT);\n localStorage.removeItem(ORGANIZATION_TEAM);\n \n Cookies.remove('auth', { path: '/', domain: `.${domain}` });\n localStorage.removeItem(\"USER_EMAIL\")\n window.location.href = \"/login\"\n }\n return Promise.reject(error)\n }\n )\n)\n","import { api } from \"../../../services/api\"\nimport { BASE_URL } from \"../../../utils/constants\"\n\nconst ACCOUNT_URL = `${BASE_URL}/api/account`\n\nexport const getGoogleClientId = () =>\n api.get(`${ACCOUNT_URL}/send-google`)\n\nexport const apiLoginGoogle = (body: any) => api.post(`${BASE_URL}/api/Auth/login`, body)\n\nexport const apiSendEmailCode = (body: any) => api.post(`${BASE_URL}/api/Auth/send-code-email`, body)\n\nexport const apiCheckEmailCode = (params: any) => api.get(`${BASE_URL}/api/Auth/check-code-email`, { params })\n\nexport const apiGetImage = () => {\n return api.get(`${BASE_URL}/api/Setting/get-image-settings`);\n}","export const itemLogin = [\n 'Seamless lesson planning',\n 'Flexibility and customization',\n 'Data protection and security',\n 'Standards alignment',\n 'AI smart assist'\n \n]\n\nexport enum TypeLogin {\n Google,\n Email,\n Impersonate,\n Microsoft\n}","import { useGoogleLogin } from \"@react-oauth/google\"\nimport axios from \"axios\"\nimport React, { FC, useEffect, useState } from \"react\"\nimport { useDispatch } from \"react-redux\"\nimport { Link } from \"react-router-dom\"\nimport { Col, Modal, ModalBody, ModalFooter, ModalHeader, Row } from \"reactstrap\"\nimport { CoreButton, CoreInput } from \"../../../../components\"\nimport { setLoading } from \"../../../../redux/commons/action\"\nimport CookieService from \"../../../../services/cookieService\"\nimport styles from \"../../../../style/styles.module.scss\"\nimport { ACCESS_TOKEN, ADMIN_ORIGIN, BASE_URL, \n // MICROSOFT_CLIENT_ID, MICROSOFT_URL_DIRECT, \n REQUEST_ORIGIN, TEACHER_ORIGIN } from \"../../../../utils/constants\"\nimport { AmplitudeEvent } from \"../../../../utils/types/amplitude\"\nimport { apiGetImage, apiLoginGoogle } from \"../../apiClient/index\"\nimport { itemLogin, TypeLogin } from \"../../configs/default\"\n// import { PublicClientApplication } from \"@azure/msal-browser\"\n// import { msalConfig } from \"../../configs/constants\"\n\nconst BlockLogin: FC<any> = ({\n onNavigate,\n role,\n hiddenSignup,\n email,\n setEmail,\n loginWithEmail,\n code,\n setCode,\n isScreenCode,\n setIsScreenCode,\n formatTime,\n loginWithEmailCode,\n trackEvent\n}) => {\n const dispatch = useDispatch();\n const [otpCode, setOtpCode] = useState(\"\");\n const [resendCooldown, setResendCooldown] = useState(0);\n const [resendTimer, setResendTimer] = useState<NodeJS.Timeout | null>(null);\n const [images, setImages] = useState<any>([]);\n const [currentImageIndex, setCurrentImageIndex] = useState(0);\n\n const handleGetImage = async () => {\n try {\n const res = await apiGetImage();\n if (res && res.data.imageLogin) {\n setImages(res.data.imageLogin || []);\n }\n } catch (error) {\n console.error(\"Failed to fetch images:\", error);\n }\n }\n\n useEffect(() => {\n if (role === \"Teacher\" || role === \"LandingPage\") {\n handleGetImage();\n }\n }, [])\n\n const googleLogin = useGoogleLogin({\n onSuccess: async (tokenResponse) => {\n const userInfo = await axios.get(\n \"https://www.googleapis.com/oauth2/v3/userinfo\",\n { headers: { Authorization: `Bearer ${tokenResponse.access_token}` } }\n );\n\n if (userInfo && userInfo.data) {\n let {\n email,\n picture,\n family_name, // firstName\n given_name,\n name, // fullName\n sub //googleId\n } = userInfo.data\n let accessToken = tokenResponse.access_token\n\n const infoLogin = {\n imageUrl: picture,\n fullName: name,\n firstName: family_name,\n lastName: given_name,\n email: email,\n token: accessToken,\n googleId: sub,\n role: role,\n type: TypeLogin.Google\n }\n dispatch(setLoading(true))\n const authResult = await apiLoginGoogle(infoLogin)\n if (authResult.data?.id == null) {\n dispatch(setLoading(false))\n alert(\"Please contact admin.\");\n return;\n }\n\n // clear all localstorge\n localStorage.clear();\n const tokenJWT = authResult.data.token\n\n trackEvent?.({\n eventName: AmplitudeEvent.LOGIN,\n eventProperties: {\n email: email,\n login_method: 'google',\n user_role: authResult.data.role,\n success: true,\n timestamp: new Date().toISOString()\n }\n });\n\n if (role === \"LandingPage\") {\n CookieService.setAuthCookie({\n token: tokenJWT,\n expiresAt: Date.now() + 24 * 60 * 60 * 1000 // 24 hour\n });\n\n const getRedirectUrl = (role: string) => {\n switch (role) {\n case \"Admin\":\n return ADMIN_ORIGIN;\n case \"Teacher\":\n return TEACHER_ORIGIN;\n default:\n return `${role}.${REQUEST_ORIGIN}`;\n }\n };\n\n const redirectUrl = getRedirectUrl(authResult.data.role);\n // Redirect to the appropriate subdomain\n window.location.href = `${redirectUrl}/dashboard`;\n dispatch(setLoading(false));\n }\n localStorage.setItem(ACCESS_TOKEN, tokenJWT)\n onNavigate(\"/dashboard\")\n dispatch(setLoading(false))\n }\n },\n onError: (errorResponse) => console.log(errorResponse),\n });\n\n // const fnLoginMicrosoft = async () => {\n // const msalInstance = new PublicClientApplication(msalConfig(MICROSOFT_CLIENT_ID, MICROSOFT_URL_DIRECT));\n // if (!msalInstance) {\n // console.error(\"MSAL instance not initialized\");\n // return;\n // }\n\n // try {\n // await msalInstance.initialize();\n // // Trigger Microsoft login popup\n // const loginRequest = {\n // scopes: [\"openid\", \"profile\", \"email\"],\n // };\n\n // const silentRequest = {\n // ...loginRequest,\n // prompt: \"select_account\" // Silent authentication\n // };\n\n // const response = await msalInstance.loginPopup(silentRequest);\n\n // if (response && response.account) {\n // const account = response.account;\n\n // // Process the logged in user account\n // let fullName = account?.name || \"\";\n // let infoLogin = {\n // firstName: fullName.split(' ').slice(0, -1).join(' '),\n // lastName: fullName.split(' ').slice(-1).join(' '),\n // fullName: fullName,\n // imageUrl: \"\",\n // email: account?.username || \"\",\n // token: response?.accessToken || \"\",\n // googleId: account?.homeAccountId || \"\",\n // role: role,\n // type: TypeLogin.Microsoft\n // };\n\n // dispatch(setLoading(true))\n // const authResult = await apiLoginGoogle(infoLogin)\n // if (authResult.data?.id == null) {\n // dispatch(setLoading(false))\n // alert(\"Please contact admin.\");\n // return;\n // }\n\n // // clear all localstorge\n // localStorage.clear();\n // const tokenJWT = authResult.data.token\n\n // trackEvent?.({\n // eventName: AmplitudeEvent.LOGIN,\n // eventProperties: {\n // email: email,\n // login_method: 'google',\n // user_role: authResult.data.role,\n // success: true,\n // timestamp: new Date().toISOString()\n // }\n // });\n\n // if (role === \"LandingPage\") {\n // CookieService.setAuthCookie({\n // token: tokenJWT,\n // expiresAt: Date.now() + 24 * 60 * 60 * 1000 // 24 hour\n // });\n\n // const getRedirectUrl = (role: string) => {\n // switch (role) {\n // case \"Admin\":\n // return ADMIN_ORIGIN;\n // case \"Teacher\":\n // return TEACHER_ORIGIN;\n // default:\n // return `${role}.${REQUEST_ORIGIN}`;\n // }\n // };\n\n // const redirectUrl = getRedirectUrl(authResult.data.role);\n // // Redirect to the appropriate subdomain\n // window.location.href = `${redirectUrl}/dashboard`;\n // dispatch(setLoading(false));\n // }\n // localStorage.setItem(ACCESS_TOKEN, tokenJWT)\n // onNavigate(\"/dashboard\")\n // dispatch(setLoading(false))\n // }\n\n // } catch (error) {\n // console.error(\"Microsoft login error:\", error);\n // }\n // }\n\n React.useEffect(() => {\n return () => {\n if (resendTimer) {\n clearInterval(resendTimer);\n }\n };\n }, [resendTimer]);\n\n const handleEmailLogin = () => {\n if (!email.trim()) {\n alert(\"Please enter your email\");\n return;\n }\n loginWithEmail(role);\n };\n\n const startResendCooldown = () => {\n setResendCooldown(300); // 5 minutes = 300 seconds\n\n if (resendTimer) {\n clearInterval(resendTimer);\n }\n\n const timer = setInterval(() => {\n setResendCooldown(prev => {\n if (prev <= 1) {\n clearInterval(timer);\n return 0;\n }\n return prev - 1;\n });\n }, 1000);\n\n setResendTimer(timer);\n };\n\n const handleResend = () => {\n if (resendCooldown > 0) {\n return;\n }\n\n if (!email.trim()) {\n alert(\"Please enter your email\");\n return;\n }\n\n loginWithEmail(role);\n startResendCooldown();\n };\n\n const formatResendTime = (seconds: number) => {\n const mins = Math.floor(seconds / 60);\n const secs = seconds % 60;\n return `${mins}:${secs.toString().padStart(2, '0')}`;\n };\n\n // Cleanup timer on unmount\n React.useEffect(() => {\n return () => {\n if (resendTimer) {\n clearInterval(resendTimer);\n }\n };\n }, [resendTimer]);\n\n useEffect(() => {\n if (images.length <= 1) return;\n\n const interval = setInterval(() => {\n setCurrentImageIndex(current => (current + 1) % images.length);\n }, 5000); // Change image every 5 seconds\n\n return () => clearInterval(interval);\n }, [images.length]);\n\n return (\n <React.Fragment>\n <Row style={{ height: \"100%\" }}>\n <Col sm={12} lg={role != \"Admin\" ? 7 : 12}>\n <div className={`${styles[\"box-signin-container\"]}`}>\n <div className={`${styles[\"box-signin-logo\"]} `}>\n <Link to=\"/\" className=\"d-flex\">\n <img\n src={\"/images/Logo.png\"}\n alt=\"\"\n height={37}\n width={155}\n className=\"my-auto\"\n />\n </Link>\n </div>\n <div className={`${styles[\"box-signin\"]} `}>\n <div className={`${styles[\"signin_title\"]}`}>\n <span>Welcome to Edusfere</span>\n </div>\n {\n !hiddenSignup && (\n <div className={`${styles[\"signup_link\"]}`}>\n <span>\n Don't have an account?{\" \"}\n <Link\n to=\"/\"\n style={{ color: \"#00A0DA\" }}\n className=\"text-decoration-none\"\n >\n Sign up\n </Link>\n </span>\n </div>\n )\n }\n\n <div className={`${styles[\"google_button\"]}`}>\n <button\n onClick={() => googleLogin()}\n >\n <img\n width={24}\n height={24}\n alt=\"Google sign-in\"\n src={\n \"/images/icons/Google__G__logo.png\"\n }\n />\n Sign in with Google\n </button>\n </div>\n\n {/* <div className={`${styles[\"microsoft_button\"]}`}>\n <button\n onClick={() => fnLoginMicrosoft()}\n >\n <img\n width={24}\n height={24}\n alt=\"Google sign-in\"\n src={\n \"/images/Single-Sign-On-logo.png\"\n }\n />\n Sign in with Microsoft\n </button>\n </div> */}\n <span className={`${styles[\"box-field\"]}`}>OR</span>\n\n <div className={`${styles[\"box-input\"]}`}>\n <input\n type=\"email\"\n placeholder=\"Email\"\n value={email}\n onChange={(event: any) => {\n setEmail(event.target.value.trim());\n }}\n />\n </div>\n <button\n onClick={handleEmailLogin}\n className={`${styles[\"box-button-email\"]}`}\n disabled={!email.trim()}\n >\n <img\n width={20}\n height={20}\n alt=\"Email sign-in\"\n src={\"/images/icons/Login_icon.png\"}\n />\n Sign in with Email\n </button>\n </div>\n <div className={`${styles[\"box-signin-text\"]} `}>\n <span style={{ fontSize: \"13px\", color: \"#A6A6AD\" }}>\n By signing in, you agree to our <a href={`/terms`} target=\"_blank\" rel=\"noopener noreferrer\">Terms</a> & <a href={`/privacy`} target=\"_blank\" rel=\"noopener noreferrer\">Privacy Policy</a>\n </span>\n </div>\n </div>\n </Col>\n {\n role != \"Admin\" && role != 'LandingPage' && (\n <Col sm={12} lg={5} className={`d-none d-lg-block ${styles[\"pr-30\"]}`}>\n {images.length > 0 ? (\n <div className={`${styles[\"box-right\"]}`}>\n <div className={styles[\"image-slideshow\"]}>\n {images.map((image: any, index: number) => (\n <img\n key={image.fileId}\n src={image.fileId && `${BASE_URL}/api/Asset/proxy-image?fileId=${image.fileId}`}\n alt={image.name}\n className={index === currentImageIndex ? styles.active : ''}\n />\n ))}\n </div>\n </div>\n ) : (\n <div\n className={`${styles[\"box-right\"]}`}\n style={{ backgroundImage: `url('/images/bg_login.png')` }}\n >\n <div className={`${styles[\"box-right-body\"]}`}>\n <span style={{ fontSize: \"24px\", fontWeight: \"700\" }}>\n As a teacher, your time and energy are too valuable\n to waste\n </span>\n <p\n className=\" fw-normal \"\n style={{\n marginTop: \"12px\",\n marginBottom: \"24px\",\n color: \"#03191F\"\n }}\n >\n So we’re building a curriculum hub and and workspace\n that puts everything you need to plan and prep\n within reach.\n </p>\n <ul>\n {itemLogin.map((item, it) => (\n <li\n key={it}\n className=\"mb-2 \"\n style={{ color: \"#212126\" }}\n >\n {item}\n </li>\n ))}\n </ul>\n <div className={`${styles[\"box-right-footer\"]}`}>\n <img\n className=\"img-fluid\"\n alt=\"\"\n src={\"/images/image_login.png\"}\n style={{ width: \"15vw\" }}\n />\n <div>\n <p>\n As one of our earliest users,\n <br />\n you are a vital part of this process\n </p>\n <div>\n <span className=\"d-block\">Thank you!</span>\n <img\n style={{ marginTop: \"-15px\" }}\n alt=\"\"\n src={\"/images/icons/Vector 22.png\"}\n />\n </div>\n </div>\n </div>\n </div>\n </div>\n )}\n </Col>\n )}\n {\n role === \"LandingPage\" && (\n <Col sm={12} lg={5} className={`d-none d-lg-block ${styles[\"pr-30\"]}`}>\n <div\n className={`${styles[\"box-right\"]}`}\n style={{ backgroundImage: `url('/images/bg_login.png')` }}\n >\n <div className={`${styles[\"box-right-body\"]}`}>\n <span style={{ fontSize: \"24px\", fontWeight: \"700\" }}>\n Get ready to manage your realm!\n </span>\n <p\n className=\" fw-normal \"\n style={{\n marginTop: \"12px\",\n marginBottom: \"24px\",\n color: \"#03191F\"\n }}\n >\n So we’re building a curriculum hub and and workspace\n that puts everything you need to plan and prep\n within reach.\n </p>\n <ul>\n {itemLogin.map((item, it) => (\n <li\n key={it}\n className=\"mb-2 \"\n style={{ color: \"#212126\" }}\n >\n {item}\n </li>\n ))}\n </ul>\n <div className={`${styles[\"box-right-footer\"]}`}>\n <img\n className=\"img-fluid\"\n alt=\"\"\n src={\"/images/image_login.png\"}\n style={{ width: \"15vw\" }}\n />\n <div>\n <p>\n As one of our earliest users,\n <br />\n you are a vital part of this process\n </p>\n <div>\n <span className=\"d-block\">Thank you!</span>\n <img\n style={{ marginTop: \"-15px\" }}\n alt=\"\"\n src={\"/images/icons/Vector 22.png\"}\n />\n </div>\n </div>\n </div>\n </div>\n </div>\n </Col>\n )\n }\n\n </Row>\n\n <Modal\n isOpen={isScreenCode}\n toggle={() => {\n setIsScreenCode(false);\n setResendCooldown(0);\n if (resendTimer) {\n clearInterval(resendTimer);\n }\n }}\n centered\n >\n <ModalHeader\n toggle={() => {\n setIsScreenCode(false);\n setResendCooldown(0);\n if (resendTimer) {\n clearInterval(resendTimer);\n }\n }}\n >\n Enter OTP Code\n </ModalHeader>\n\n <ModalBody style={{ padding: \"24px\" }}>\n <div className=\"mx-auto\" style={{ maxWidth: 400, width: 400 }}>\n <p className=\"text-sm text-muted mb-2\">\n A one-time verification code has just been sent to your registered email.\n Please enter it below.\n </p>\n\n <div className={`${styles[\"box-input\"]}`}>\n <CoreInput\n name=\"otpCode\"\n value={code}\n onChange={(_, value: any) => {\n setCode(value.trim());\n setOtpCode(value.trim());\n }}\n placeholder=\"Code OTP\"\n onKeyDown={(event: any) => {\n if (event.key === 'Enter') {\n event.preventDefault(); // Prevent form submission\n }\n }}\n />\n <p className=\"mt-1 text-muted\">\n Your code will expire: <span className=\"text-danger\">{formatTime()}</span>\n </p>\n </div>\n\n <p className=\"mt-3 text-muted mb-0\">\n Didn't receive the code?{\" \"}\n {resendCooldown > 0 ? (\n <span className=\"text-muted\">\n Resend available in {formatResendTime(resendCooldown)}\n </span>\n ) : (\n <span\n className=\"text-primary cursor-pointer\"\n style={{ cursor: \"pointer\" }}\n onClick={handleResend}\n >\n Click here to resend\n </span>\n )}\n {\" \"}or check your spam inbox.\n </p>\n </div>\n </ModalBody>\n\n <ModalFooter>\n <CoreButton\n onClick={() => {\n setIsScreenCode(false);\n setResendCooldown(0);\n if (resendTimer) {\n clearInterval(resendTimer);\n }\n }}\n type=\"text\"\n >\n Cancel\n </CoreButton>\n <CoreButton\n type=\"primary\"\n htmlType=\"button\"\n onClick={async (event: any) => {\n event.preventDefault();\n event.stopPropagation();\n\n if (!otpCode.trim()) {\n alert(\"Please enter the OTP code\");\n return;\n }\n const success = await loginWithEmailCode(role);\n if (success) {\n setIsScreenCode(false);\n setResendCooldown(0);\n if (resendTimer) {\n clearInterval(resendTimer);\n }\n }\n }}\n >\n Login\n </CoreButton>\n </ModalFooter>\n </Modal>\n </React.Fragment>\n )\n}\n\n\nexport default BlockLogin\n","import { useCallback, useEffect, useState } from \"react\"\nimport { useDispatch } from \"react-redux\"\nimport { toast } from \"react-toastify\"\nimport { setLoading } from \"../../../redux/commons/action\"\nimport { ACCESS_TOKEN } from \"../../../utils/constants\"\nimport { AmplitudeEvent } from \"../../../utils/types/amplitude\"\nimport { apiCheckEmailCode, apiSendEmailCode } from \"../apiClient\"\n\ntype LoginInfo = {\n email: string\n password: string\n captcha: string\n rememberMe: boolean\n}\n\nconst defaultInfo: LoginInfo = {\n email: \"\",\n password: \"\",\n captcha: \"\",\n rememberMe: false\n}\n\nconst minutes = 15;\n\nconst useLogin = (onNavigate: any, trackEvent?: (props: any) => void) => {\n\n const [openLogin, setOpenLogin] = useState<boolean>(false)\n const [infoUser, setInfoUser] = useState<any>();\n const dispatch = useDispatch();\n\n const toggle = useCallback(() => {\n setOpenLogin(!openLogin)\n }, [openLogin])\n const [email, setEmail] = useState<string>(\"\")\n const [code, setCode] = useState<string>(\"\");\n const [isScreenCode, setIsScreenCode] = useState<boolean>(false)\n const [timeLeft, setTimeLeft] = useState(minutes * 60);\n\n const loginWithEmail = async (role: string) => {\n dispatch(setLoading(true))\n try {\n const body = {\n email: email,\n role: role\n }\n const res = await apiSendEmailCode(body)\n const data = res.data;\n if (data.success) {\n // send code.\n setTimeLeft(minutes * 60);\n setIsScreenCode(true)\n } else {\n dispatch(setLoading(false))\n alert(\"Please contact admin.\");\n }\n } catch (e) {\n toast.error(\"An error occurred while sending the code. Please try again later.\");\n console.log(e);\n }\n dispatch(setLoading(false))\n }\n\n const loginWithEmailCode = async (role: string) => {\n dispatch(setLoading(true))\n try {\n const res = await apiCheckEmailCode({\n email,\n code,\n role\n })\n const data = res.data;\n if (data.success) {\n // clear all localstorge\n localStorage.clear();\n // login\n const tokenJWT = data.data.token\n localStorage.setItem(ACCESS_TOKEN, tokenJWT)\n trackEvent?.({\n eventName: AmplitudeEvent.LOGIN,\n eventProperties: {\n email: email,\n login_method: 'email',\n timestamp: new Date().toISOString()\n }\n });\n onNavigate(\"/dashboard\")\n } else {\n toast.error(\"The code is not correct. Please check again.\");\n }\n } catch (e) {\n toast.error(\"An error occurred while verifying the code. Please try again.\");\n }\n dispatch(setLoading(false))\n }\n\n const formatTime = () => {\n const m = Math.floor(timeLeft / 60);\n const s = timeLeft % 60;\n return `${m.toString().padStart(2, '0')}:${s.toString().padStart(2, '0')}`;\n };\n\n useEffect(() => {\n if (isScreenCode) {\n const timer = setInterval(() => {\n setTimeLeft(prev => {\n if (prev <= 1) {\n clearInterval(timer);\n return 0;\n }\n return prev - 1;\n });\n }, 1000);\n return () => clearInterval(timer); // cleanup on unmount\n }\n return;\n }, [isScreenCode]);\n\n return {\n defaultInfo,\n openLogin,\n toggle,\n email,\n setEmail,\n loginWithEmail,\n infoUser,\n setInfoUser,\n code,\n setCode,\n isScreenCode,\n setIsScreenCode,\n formatTime,\n loginWithEmailCode,\n }\n}\n\nexport default useLogin\n","import React from \"react\"\nimport styles from \"../../../style/styles.module.scss\"\n// import BlockLogin from \"./block/BlockLogin\"\n// import useLogin from \"../hooks/useLogin\"\n\n// import { INavigateProps } from \"../../../utils/types\"\n\nimport BlockLogin from \"./block/BlockLogin\"\nimport useLogin from \"../hooks/useLogin\"\nimport { INavigateProps } from \"../../../utils/types\"\n\nconst Login = (props: INavigateProps) => {\n const { onNavigate, role, hiddenSignup, trackEvent } = props\n const {\n defaultInfo,\n email,\n setEmail,\n loginWithEmail,\n code,\n setCode,\n isScreenCode,\n setIsScreenCode,\n formatTime,\n loginWithEmailCode,\n } = useLogin(onNavigate, trackEvent)\n return (\n <div className={`${styles[\"signup_wrap\"]} container-fluid font-family-lato`}>\n <BlockLogin\n defaultInfo={defaultInfo}\n email={email}\n hiddenSignup={hiddenSignup}\n setEmail={setEmail}\n loginWithEmail={loginWithEmail}\n code={code}\n setCode={setCode}\n formatTime={formatTime}\n isScreenCode={isScreenCode}\n setIsScreenCode={setIsScreenCode}\n onNavigate={onNavigate}\n loginWithEmailCode={loginWithEmailCode}\n role={role}\n trackEvent={trackEvent}\n />\n </div>\n )\n}\n\nexport default Login\n","// src/utils/formatProdErrorMessage.ts\nfunction formatProdErrorMessage(code) {\n return `Minified Redux error #${code}; visit https://redux.js.org/Errors?code=${code} for the full message or use the non-minified dev environment for full errors. `;\n}\n\n// src/utils/symbol-observable.ts\nvar $$observable = /* @__PURE__ */ (() => typeof Symbol === \"function\" && Symbol.observable || \"@@observable\")();\nvar symbol_observable_default = $$observable;\n\n// src/utils/actionTypes.ts\nvar randomString = () => Math.random().toString(36).substring(7).split(\"\").join(\".\");\nvar ActionTypes = {\n INIT: `@@redux/INIT${/* @__PURE__ */ randomString()}`,\n REPLACE: `@@redux/REPLACE${/* @__PURE__ */ randomString()}`,\n PROBE_UNKNOWN_ACTION: () => `@@redux/PROBE_UNKNOWN_ACTION${randomString()}`\n};\nvar actionTypes_default = ActionTypes;\n\n// src/utils/isPlainObject.ts\nfunction isPlainObject(obj) {\n if (typeof obj !== \"object\" || obj === null)\n return false;\n let proto = obj;\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n return Object.getPrototypeOf(obj) === proto || Object.getPrototypeOf(obj) === null;\n}\n\n// src/utils/kindOf.ts\nfunction miniKindOf(val) {\n if (val === void 0)\n return \"undefined\";\n if (val === null)\n return \"null\";\n const type = typeof val;\n switch (type) {\n case \"boolean\":\n case \"string\":\n case \"number\":\n case \"symbol\":\n case \"function\": {\n return type;\n }\n }\n if (Array.isArray(val))\n return \"array\";\n if (isDate(val))\n return \"date\";\n if (isError(val))\n return \"error\";\n const constructorName = ctorName(val);\n switch (constructorName) {\n case \"Symbol\":\n case \"Promise\":\n case \"WeakMap\":\n case \"WeakSet\":\n case \"Map\":\n case \"Set\":\n return constructorName;\n }\n return Object.prototype.toString.call(val).slice(8, -1).toLowerCase().replace(/\\s/g, \"\");\n}\nfunction ctorName(val) {\n return typeof val.constructor === \"function\" ? val.constructor.name : null;\n}\nfunction isError(val) {\n return val instanceof Error || typeof val.message === \"string\" && val.constructor && typeof val.constructor.stackTraceLimit === \"number\";\n}\nfunction isDate(val) {\n if (val instanceof Date)\n return true;\n return typeof val.toDateString === \"function\" && typeof val.getDate === \"function\" && typeof val.setDate === \"function\";\n}\nfunction kindOf(val) {\n let typeOfVal = typeof val;\n if (process.env.NODE_ENV !== \"production\") {\n typeOfVal = miniKindOf(val);\n }\n return typeOfVal;\n}\n\n// src/createStore.ts\nfunction createStore(reducer, preloadedState, enhancer) {\n if (typeof reducer !== \"function\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(2) : `Expected the root reducer to be a function. Instead, received: '${kindOf(reducer)}'`);\n }\n if (typeof preloadedState === \"function\" && typeof enhancer === \"function\" || typeof enhancer === \"function\" && typeof arguments[3] === \"function\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(0) : \"It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.\");\n }\n if (typeof preloadedState === \"function\" && typeof enhancer === \"undefined\") {\n enhancer = preloadedState;\n preloadedState = void 0;\n }\n if (typeof enhancer !== \"undefined\") {\n if (typeof enhancer !== \"function\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(1) : `Expected the enhancer to be a function. Instead, received: '${kindOf(enhancer)}'`);\n }\n return enhancer(createStore)(reducer, preloadedState);\n }\n let currentReducer = reducer;\n let currentState = preloadedState;\n let currentListeners = /* @__PURE__ */ new Map();\n let nextListeners = currentListeners;\n let listenerIdCounter = 0;\n let isDispatching = false;\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = /* @__PURE__ */ new Map();\n currentListeners.forEach((listener, key) => {\n nextListeners.set(key, listener);\n });\n }\n }\n function getState() {\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(3) : \"You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.\");\n }\n return currentState;\n }\n function subscribe(listener) {\n if (typeof listener !== \"function\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(4) : `Expected the listener to be a function. Instead, received: '${kindOf(listener)}'`);\n }\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(5) : \"You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api/store#subscribelistener for more details.\");\n }\n let isSubscribed = true;\n ensureCanMutateNextListeners();\n const listenerId = listenerIdCounter++;\n nextListeners.set(listenerId, listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(6) : \"You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api/store#subscribelistener for more details.\");\n }\n isSubscribed = false;\n ensureCanMutateNextListeners();\n nextListeners.delete(listenerId);\n currentListeners = null;\n };\n }\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(7) : `Actions must be plain objects. Instead, the actual type was: '${kindOf(action)}'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.`);\n }\n if (typeof action.type === \"undefined\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n }\n if (typeof action.type !== \"string\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(17) : `Action \"type\" property must be a string. Instead, the actual type was: '${kindOf(action.type)}'. Value was: '${action.type}' (stringified)`);\n }\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : \"Reducers may not dispatch actions.\");\n }\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n const listeners = currentListeners = nextListeners;\n listeners.forEach((listener) => {\n listener();\n });\n return action;\n }\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== \"function\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(10) : `Expected the nextReducer to be a function. Instead, received: '${kindOf(nextReducer)}`);\n }\n currentReducer = nextReducer;\n dispatch({\n type: actionTypes_default.REPLACE\n });\n }\n function observable() {\n const outerSubscribe = subscribe;\n return {\n /**\n * The minimal observable subscription method.\n * @param observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe(observer) {\n if (typeof observer !== \"object\" || observer === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(11) : `Expected the observer to be an object. Instead, received: '${kindOf(observer)}'`);\n }\n function observeState() {\n const observerAsObserver = observer;\n if (observerAsObserver.next) {\n observerAsObserver.next(getState());\n }\n }\n observeState();\n const unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe\n };\n },\n [symbol_observable_default]() {\n return this;\n }\n };\n }\n dispatch({\n type: actionTypes_default.INIT\n });\n const store = {\n dispatch,\n subscribe,\n getState,\n replaceReducer,\n [symbol_observable_default]: observable\n };\n return store;\n}\nfunction legacy_createStore(reducer, preloadedState, enhancer) {\n return createStore(reducer, preloadedState, enhancer);\n}\n\n// src/utils/warning.ts\nfunction warning(message) {\n if (typeof console !== \"undefined\" && typeof console.error === \"function\") {\n console.error(message);\n }\n try {\n throw new Error(message);\n } catch (e) {\n }\n}\n\n// src/combineReducers.ts\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n const reducerKeys = Object.keys(reducers);\n const argumentName = action && action.type === actionTypes_default.INIT ? \"preloadedState argument passed to createStore\" : \"previous state received by the reducer\";\n if (reducerKeys.length === 0) {\n return \"Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.\";\n }\n if (!isPlainObject(inputState)) {\n return `The ${argumentName} has unexpected type of \"${kindOf(inputState)}\". Expected argument to be an object with the following keys: \"${reducerKeys.join('\", \"')}\"`;\n }\n const unexpectedKeys = Object.keys(inputState).filter((key) => !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key]);\n unexpectedKeys.forEach((key) => {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === actionTypes_default.REPLACE)\n return;\n if (unexpectedKeys.length > 0) {\n return `Unexpected ${unexpectedKeys.length > 1 ? \"keys\" : \"key\"} \"${unexpectedKeys.join('\", \"')}\" found in ${argumentName}. Expected to find one of the known reducer keys instead: \"${reducerKeys.join('\", \"')}\". Unexpected keys will be ignored.`;\n }\n}\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach((key) => {\n const reducer = reducers[key];\n const initialState = reducer(void 0, {\n type: actionTypes_default.INIT\n });\n if (typeof initialState === \"undefined\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(12) : `The slice reducer for key \"${key}\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.`);\n }\n if (typeof reducer(void 0, {\n type: actionTypes_default.PROBE_UNKNOWN_ACTION()\n }) === \"undefined\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(13) : `The slice reducer for key \"${key}\" returned undefined when probed with a random type. Don't try to handle '${actionTypes_default.INIT}' or other actions in \"redux/*\" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.`);\n }\n });\n}\nfunction combineReducers(reducers) {\n const reducerKeys = Object.keys(reducers);\n const finalReducers = {};\n for (let i = 0; i < reducerKeys.length; i++) {\n const key = reducerKeys[i];\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof reducers[key] === \"undefined\") {\n warning(`No reducer provided for key \"${key}\"`);\n }\n }\n if (typeof reducers[key] === \"function\") {\n finalReducers[key] = reducers[key];\n }\n }\n const finalReducerKeys = Object.keys(finalReducers);\n let unexpectedKeyCache;\n if (process.env.NODE_ENV !== \"production\") {\n unexpectedKeyCache = {};\n }\n let shapeAssertionError;\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n return function combination(state = {}, action) {\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n if (process.env.NODE_ENV !== \"production\") {\n const warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n let hasChanged = false;\n const nextState = {};\n for (let i = 0; i < finalReducerKeys.length; i++) {\n const key = finalReducerKeys[i];\n const reducer = finalReducers[key];\n const previousStateForKey = state[key];\n const nextStateForKey = reducer(previousStateForKey, action);\n if (typeof nextStateForKey === \"undefined\") {\n const actionType = action && action.type;\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(14) : `When called with an action of type ${actionType ? `\"${String(actionType)}\"` : \"(unknown type)\"}, the slice reducer for key \"${key}\" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.`);\n }\n nextState[key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\n// src/bindActionCreators.ts\nfunction bindActionCreator(actionCreator, dispatch) {\n return function(...args) {\n return dispatch(actionCreator.apply(this, args));\n };\n}\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === \"function\") {\n return bindActionCreator(actionCreators, dispatch);\n }\n if (typeof actionCreators !== \"object\" || actionCreators === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(16) : `bindActionCreators expected an object or a function, but instead received: '${kindOf(actionCreators)}'. Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?`);\n }\n const boundActionCreators = {};\n for (const key in actionCreators) {\n const actionCreator = actionCreators[key];\n if (typeof actionCreator === \"function\") {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n return boundActionCreators;\n}\n\n// src/compose.ts\nfunction compose(...funcs) {\n if (funcs.length === 0) {\n return (arg) => arg;\n }\n if (funcs.length === 1) {\n return funcs[0];\n }\n return funcs.reduce((a, b) => (...args) => a(b(...args)));\n}\n\n// src/applyMiddleware.ts\nfunction applyMiddleware(...middlewares) {\n return (createStore2) => (reducer, preloadedState) => {\n const store = createStore2(reducer, preloadedState);\n let dispatch = () => {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(15) : \"Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.\");\n };\n const middlewareAPI = {\n getState: store.getState,\n dispatch: (action, ...args) => dispatch(action, ...args)\n };\n const chain = middlewares.map((middleware) => middleware(middlewareAPI));\n dispatch = compose(...chain)(store.dispatch);\n return {\n ...store,\n dispatch\n };\n };\n}\n\n// src/utils/isAction.ts\nfunction isAction(action) {\n return isPlainObject(action) && \"type\" in action && typeof action.type === \"string\";\n}\nexport {\n actionTypes_default as __DO_NOT_USE__ActionTypes,\n applyMiddleware,\n bindActionCreators,\n combineReducers,\n compose,\n createStore,\n isAction,\n isPlainObject,\n legacy_createStore\n};\n//# sourceMappingURL=redux.mjs.map","import { createReducer } from \"@reduxjs/toolkit\"\n\nimport {\n setLoading,\n setAlert,\n setTenant,\n setAddTenant,\n setTeam,\n setUser,\n setLanguage,\n reset,\n setMenuCollapse,\n setIsRefetchSidebar,\n setLoadingPage\n} from \"./action\"\n\nconst initialState: any = {\n isLoading: false,\n isLoadingPage: false,\n alert: {\n type: \"\",\n message: \"\"\n },\n user: null,\n academy: null,\n menuCollapse: false,\n isRefetchSidebar: false\n}\n\nconst commonReducer = createReducer(initialState, builder => {\n builder\n .addCase(setLoading, (state, action) => {\n state.isLoading = action.payload\n })\n .addCase(setLoadingPage, (state, action) => {\n state.isLoadingPage = action.payload\n })\n .addCase(setAlert, (state, action) => {\n state.alert = action.payload\n })\n .addCase(setUser, (state, action) => {\n state.user = action.payload\n })\n .addCase(setLanguage, (state, action) => {\n state.language = action.payload\n })\n .addCase(reset, (_state, _action) => {\n return initialState\n })\n .addCase(setMenuCollapse, (state, action) => {\n state.menuCollapse = action.payload\n })\n .addCase(setIsRefetchSidebar, state => {\n state.isRefetchSidebar = !state.isRefetchSidebar\n })\n .addCase(setTenant, (state, action) => {\n state.user.currentTenantId = action.payload \n })\n .addCase(setAddTenant, (state, action) => {\n state.user.tenantInfo = action.payload\n })\n .addCase(setTeam, (state, action) => {\n state.user.currentTeamId = action.payload\n })\n})\n\nexport default commonReducer\n","import { combineReducers } from \"redux\"\n\nimport common from \"./redux/commons/reducer\"\n\nconst rootReducer = combineReducers({\n common\n})\n\nexport default rootReducer\n","import { configureStore } from \"@reduxjs/toolkit\"\n\nimport rootReducer from \"./rootReducer\"\n\nconst store = configureStore({\n reducer: rootReducer,\n middleware: getDefaultMiddleware =>\n getDefaultMiddleware({ serializableCheck: false })\n})\n\nexport default store\n","import { api } from \"./api\"\nimport { AcademyHeaders, BASE_URL, SUPER_ADMIN_BASE_URL } from \"../utils/constants\"\nimport { LoginAccessTokenRequest, LoginRequest } from \"../utils/types/login\"\n\n// const ACCOUNT_URL = `${BASE_URL}/api/account`\nconst AUTH_URL = `${BASE_URL}/api/auth`\nconst AUTH_SUPER_ADMIN_URL = `${SUPER_ADMIN_BASE_URL}/api/auth`\n\nexport const getInfo = (role: string) => api.get(`${BASE_URL}/api/Auth/info?role=${role}`)\n\nexport const getSuperAdminInfoFromWeb = () => api.get(`${AUTH_SUPER_ADMIN_URL}/info`)\n\nexport const apiLoginGoogle = (body: LoginRequest) => api.post(\n `${AUTH_URL}/login`, \n body\n)\n\nexport const apiLoginGoogleSuperAdmin = (body: LoginRequest) => api.post(\n `${AUTH_SUPER_ADMIN_URL}/login`, \n body\n)\n\nexport const apiLoginWithAccessToken = (body: LoginAccessTokenRequest, domain?: string) => api.post(\n `${AUTH_URL}/login/access-token`, \n body,\n {\n headers: {\n [AcademyHeaders]: domain\n }\n }\n)\n\nexport const checkToken = (token: string) => api.post(`${AUTH_URL}/checktoken`, { token })\n","import { checkToken } from \"../services/accountService\"\nimport getAccessToken from \"./getAccessToken\"\n\nconst firstCheckToken = async () => {\n try {\n const token = getAccessToken()\n if (!token) return false\n\n const tokenStatus = await checkToken(token)\n if (!tokenStatus.data) return false\n\n return true\n } catch (err) {\n return false\n }\n}\n\nexport default firstCheckToken\n","import { BASE_URL } from \"./constants\";\n\nconst getImageUrl = (imageUrl?: string) => {\n try {\n if (!!imageUrl) {\n const imageTrimmed = imageUrl.trim();\n\n if (imageTrimmed.startsWith('http://') || imageTrimmed.startsWith('https://')) {\n return imageTrimmed; \n }\n return `${BASE_URL}/images/${imageTrimmed}`;\n }\n return `/images/avatar-default.png`;\n } catch (err) {\n return `/images/avatar-default.png`;\n }\n}\n\nexport default getImageUrl\n","import React, { FC } from \"react\"\n\nconst NotFound: FC = () => {\n return (\n <div className=\"not-found\">\n <div className=\"clearfix\">\n <h1 className=\"float-left display-3 mr-4\">404</h1>\n <div className=\"float-left\">\n <h4 className=\"pt-3\">Oops! You are lost.</h4>\n <p className=\"text-muted mb-2\">\n The page you are looking for was not found.\n </p>\n <div>\n </div>\n </div>\n </div>\n </div>\n )\n}\n\nexport default NotFound\n","import React, { FC, CSSProperties } from \"react\"\nimport { useSelector } from \"react-redux\"\nimport moment from \"moment\"\n\nconst loadingStyle: CSSProperties = {\n minWidth: \"100vw\",\n minHeight: \"100vh\",\n position: \"fixed\",\n top: 0,\n left: 0,\n zIndex: 999999999,\n backgroundColor: \"rgba(0, 0, 0, 0.4)\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n}\n\nconst Loading: FC = () => {\n const isLoading = useSelector((state: any) => state.common.isLoading)\n localStorage.setItem(\"LAST_TIME_REQUETST\", moment().utc().format(\"YYYY-MM-DD HH:mm:ss\"))\n return isLoading ? (\n <div style={loadingStyle}>\n <div className=\"spinner-border text-secondary\" role=\"status\">\n <span className=\"sr-only\"></span>\n </div>\n </div>\n ) : null\n}\n\nexport default Loading","import { useDispatch } from \"react-redux\";\nimport { GOOGLE_CLIENT_ID } from \"../constants\";\nimport { useGoogleLogout } from \"@leecheuk/react-google-login\"\nimport { reset } from \"../../redux/commons/action\";\n\ninterface Props{\n onLogoutSuccess?: () => void\n onFailure?: () => void\n onNavigate: Function\n}\nconst useGoogleSignOut = (props: Props) => {\n const dispatch = useDispatch()\n const {\n onLogoutSuccess,\n onFailure\n } = props\n\n\n const handleLogoutSuccess = () => {\n onLogoutSuccess?.()\n }\n\n const handleLogoutFailure = () => {\n onFailure?.()\n }\n\n const { signOut, loaded } = useGoogleLogout({\n clientId: GOOGLE_CLIENT_ID,\n onLogoutSuccess: handleLogoutSuccess,\n onFailure: handleLogoutFailure,\n })\n\n const handleSignOut = () => {\n localStorage.clear();\n try {\n signOut()\n } catch (error) {\n console.log({error});\n }\n dispatch(reset())\n window.location.href = \"/login\"\n }\n return {\n handleSignOut, loaded\n }\n}\n\nexport default useGoogleSignOut","import React, { FC, Fragment, PropsWithChildren, useEffect } from \"react\"\nimport useGoogleSignOut from \"../utils/hooks/useGoogleSignOut\"\nimport firstCheckToken from \"../utils/firstCheckToken\"\n\ninterface Props {\n onNavigate: (pathname: string) => void\n role: string\n}\n\nconst LayoutContext: FC<Props & PropsWithChildren> = ({\n children,\n onNavigate\n}) => {\n const {\n handleSignOut\n } = useGoogleSignOut({onNavigate})\n\n const resetAuth = () => {\n handleSignOut()\n }\n\n const loadInfo = async () => {\n const token = firstCheckToken()\n !token && resetAuth()\n }\n\n useEffect(() => {\n loadInfo()\n }, [])\n\n return <Fragment>{children}</Fragment>\n}\n\nexport default LayoutContext\n","import React, { FC } from \"react\"\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\"\n\ninterface Props {\n text: string\n cancelText?: string\n okText?: string\n onConfirm: () => void\n onClose?: () => void\n open: boolean\n toggle: () => void\n isDelete?: boolean\n}\nexport const ConfirmDialog: FC<Props> = ({\n open,\n text,\n cancelText = \"No\",\n okText = \"Yes\",\n isDelete,\n toggle,\n onClose,\n onConfirm\n}) => {\n return (\n <Modal isOpen={open} toggle={!!onClose ? onClose : toggle} centered>\n <ModalHeader toggle={toggle}>Confirmation</ModalHeader>\n <ModalBody>{text}</ModalBody>\n <ModalFooter>\n <Button color=\"secondary\" onClick={toggle}>\n {cancelText}\n </Button>\n <Button\n color={isDelete ? \"danger\" : \"primary\"}\n onClick={onConfirm}\n >\n {okText}\n </Button>\n </ModalFooter>\n </Modal>\n )\n}\n","import { FC, PropsWithChildren } from \"react\"\nimport { Modal, ModalHeader } from \"reactstrap\"\nimport React from \"react\"\nimport { Box, Typography } from \"@mui/material\"\ninterface Props {\n open: boolean\n onClose: () => void\n centered?: boolean\n title: string\n size?: \"xs\" | \"lg\" | \"xl\"\n backdrop?: boolean | \"static\"\n isShowHeader?: boolean\n}\n\nconst CommonDialog: FC<Props & PropsWithChildren> = ({\n open,\n children,\n centered,\n title,\n size = \"xs\",\n isShowHeader = true,\n onClose,\n backdrop\n}) => {\n return (\n <Modal backdrop={backdrop} isOpen={open} toggle={onClose} centered={centered} size={size} zIndex={1102}>\n {\n isShowHeader\n ? \n <ModalHeader toggle={onClose}>{title}</ModalHeader>\n :\n <Box className=\"p-3\">\n <Typography className=\"fs-5 text-center fw-bold\">\n {title}\n </Typography>\n </Box>\n }\n {children}\n </Modal>\n )\n}\n\nexport default CommonDialog\n","import { LogLevel } from \"@azure/msal-browser\";\n\n\nexport enum AuthenticationMessage {\n NotAllowedToRegister = \"NotAllowedToRegister\",\n InvalidGoogleToken = \"InvalidGoogleToken\"\n}\n\nexport enum Role {\n Student = \"Student\",\n Teacher = \"Teacher\",\n Admin = \"Admin\"\n}\n\nexport interface IInformationUser {\n firstName: string\n lastName: string\n fullName: string\n imageUrl: string | null\n email: string\n accessToken: string\n googleId: string \n}\n\nexport const msalConfig = (clientId: string, redirectUri: string) => ({\n auth: {\n clientId: clientId,\n authority: \"https://login.microsoftonline.com/common\",\n redirectUri: redirectUri\n },\n cache: {\n cacheLocation: \"sessionStorage\", // This configures where your cache will be stored\n storeAuthStateInCookie: false, // Set this to \"true\" if you are having issues on IE11 or Edge\n },\n system: {\t\n loggerOptions: {\t\n loggerCallback: (level: LogLevel, message: string, containsPii: any) => {\t\n if (containsPii) {\t\t\n return;\t\t\n }\t\t\n switch (level) {\n case LogLevel.Error:\n console.error(message);\n return;\n case LogLevel.Info:\n console.info(message);\n return;\n case LogLevel.Verbose:\n console.debug(message);\n return;\n case LogLevel.Warning:\n console.warn(message);\n return;\n default:\n return;\n }\t\n }\t\n }\t\n }\n});","import React from \"react\"\nimport { FC } from \"react\"\nimport { Pagination, PaginationItem, PaginationLink } from \"reactstrap\"\n\ninterface Props {\n currentPage: number\n totalPage: number\n onChangePage: (page: number) => void\n}\nconst CustomPagination: FC<Props> = ({\n currentPage,\n totalPage,\n onChangePage\n}) => {\n\n return (\n <Pagination className=\"w-fit\">\n <PaginationItem disabled={currentPage <= 1}>\n <PaginationLink\n onClick={e => {\n e.preventDefault()\n onChangePage(currentPage - 1)\n }}\n previous\n href=\"#\"\n />\n </PaginationItem>\n <PaginationItem active={1 === currentPage} key={1}>\n <PaginationLink\n onClick={e => {\n e.preventDefault()\n onChangePage(1)\n }}\n href=\"#\"\n >\n {1}\n </PaginationLink>\n </PaginationItem>\n\n {\n totalPage > 2 && <PaginationItem active={2 === currentPage} key={1}>\n <PaginationLink\n onClick={e => {\n e.preventDefault()\n onChangePage(2)\n }}\n href=\"#\"\n >\n {2}\n </PaginationLink>\n </PaginationItem>\n }\n\n {\n currentPage > 4 && currentPage !== totalPage && totalPage !== 5\n &&\n <PaginationItem disabled key={\"first\"}>\n <PaginationLink\n href=\"#\"\n >\n ...\n </PaginationLink>\n </PaginationItem>\n }\n {\n (currentPage === 1 || currentPage === totalPage) && totalPage === 5 && \n <PaginationItem key={3}>\n <PaginationLink\n onClick={e => {\n e.preventDefault()\n onChangePage(3)\n }}\n href=\"#\"\n >\n 3\n </PaginationLink>\n </PaginationItem>\n }\n {\n [currentPage - 1, currentPage, currentPage + 1]\n .filter(page => page > 2 && page < totalPage - 1).map(page => (\n <PaginationItem active={page === currentPage} key={page}>\n <PaginationLink\n onClick={e => {\n e.preventDefault()\n onChangePage(page)\n }}\n href=\"#\"\n >\n {page}\n </PaginationLink>\n </PaginationItem>\n ))\n }\n\n {\n totalPage - currentPage > 4\n &&\n <PaginationItem disabled key={\"last\"}>\n <PaginationLink\n href=\"#\"\n >\n ...\n </PaginationLink>\n </PaginationItem>\n }\n\n {totalPage > 3 && (\n <PaginationItem active={totalPage - 1 === currentPage} key={totalPage - 1}>\n <PaginationLink\n onClick={e => {\n e.preventDefault()\n onChangePage(totalPage - 1)\n }}\n href=\"#\"\n >\n {totalPage - 1}\n </PaginationLink>\n </PaginationItem>\n )}\n {totalPage > 1 && (\n <PaginationItem active={totalPage === currentPage} key={totalPage}>\n <PaginationLink\n onClick={e => {\n e.preventDefault()\n onChangePage(totalPage)\n }}\n href=\"#\"\n >\n {totalPage}\n </PaginationLink>\n </PaginationItem>\n )}\n <PaginationItem disabled={currentPage >= totalPage}>\n <PaginationLink\n onClick={e => {\n e.preventDefault()\n onChangePage(currentPage + 1)\n }}\n next\n href=\"#\"\n />\n </PaginationItem>\n </Pagination>\n )\n}\n\nexport default CustomPagination\n","import { useCallback, useEffect, useState, useRef } from 'react';\nimport * as amplitude from '@amplitude/analytics-browser';\nimport { AmplitudeEvent } from '../types/amplitude';\n\nexport interface AmplitudeProps {\n eventName: AmplitudeEvent;\n eventProperties?: any;\n}\ntype UserProperties = Record<string, any>;\n\ninterface SessionData {\n start_time: string;\n end_time: string;\n session_duration_seconds: number;\n session_id: number;\n}\n\nconst useAmplitude = () => {\n const [userId, setUserIdState] = useState<string | number | null>(null);\n const [isTabActive, setIsTabActive] = useState<boolean>(true);\n const sessionStartTime = useRef<Date | null>(null);\n const currentSessionStart = useRef<Date | null>(null);\n const savedUserProperties = useRef<UserProperties>({});\n const hasTrackedInitialSession = useRef<boolean>(false);\n\n const setUserProperties = useCallback((properties: UserProperties) => {\n savedUserProperties.current = { ...savedUserProperties.current, ...properties };\n const identify = new amplitude.Identify();\n Object.entries(properties).forEach(([key, value]) => {\n identify.set(key, value);\n });\n amplitude.identify(identify);\n }, []);\n\n const trackEvent = useCallback(({ eventName, eventProperties }: AmplitudeProps) => {\n amplitude.track(eventName, {\n ...savedUserProperties.current,\n ...eventProperties,\n timestamp: new Date().toISOString(),\n });\n }, []);\n\n const setUserId = useCallback((newUserId: string | number | null) => {\n const prevUserId = userId;\n setUserIdState(newUserId);\n\n if (newUserId) {\n const prefixedUserId = `edusfere:${newUserId}`;\n amplitude.setUserId(prefixedUserId);\n\n if (prevUserId !== newUserId && !hasTrackedInitialSession.current) {\n hasTrackedInitialSession.current = true;\n sessionStartTime.current = new Date();\n currentSessionStart.current = new Date();\n\n trackEvent({\n eventName: AmplitudeEvent.SESSION_START,\n eventProperties: {\n start_time: new Date().toISOString(),\n },\n });\n }\n }\n }, [userId, trackEvent]);\n\n const reset = useCallback(() => {\n amplitude.reset();\n setUserIdState(null);\n sessionStartTime.current = null;\n currentSessionStart.current = null;\n savedUserProperties.current = {};\n hasTrackedInitialSession.current = false;\n localStorage.removeItem('sessionData');\n }, []);\n\n const saveSessionToLocalStorage = useCallback((session: SessionData) => {\n const existingSessions = localStorage.getItem('sessionData');\n const sessions: SessionData[] = existingSessions ? JSON.parse(existingSessions) : [];\n sessions.push(session);\n localStorage.setItem('sessionData', JSON.stringify(sessions));\n }, []);\n\n const sendSessionsToAmplitude = useCallback(() => {\n if (!userId) return;\n\n const existingSessions = localStorage.getItem('sessionData');\n if (!existingSessions) return;\n\n const sessions: SessionData[] = JSON.parse(existingSessions);\n if (sessions.length === 0) return;\n\n sessions.forEach((session) => {\n trackEvent({\n eventName: AmplitudeEvent.SESSION_END,\n eventProperties: {\n start_time: session.start_time,\n end_time: session.end_time,\n session_duration_seconds: session.session_duration_seconds,\n session_id: session.session_id,\n },\n });\n });\n\n localStorage.removeItem('sessionData');\n }, [userId, trackEvent]);\n\n const trackTabActivity = useCallback((isActive: boolean) => {\n if (!userId) return;\n\n const now = new Date();\n\n if (isActive) {\n currentSessionStart.current = now;\n\n trackEvent({\n eventName: AmplitudeEvent.SESSION_START,\n eventProperties: {\n start_time: now.toISOString(),\n },\n });\n } else {\n if (currentSessionStart.current) {\n const sessionDuration = now.getTime() - currentSessionStart.current.getTime();\n const sessionData: SessionData = {\n start_time: currentSessionStart.current.toISOString(),\n end_time: now.toISOString(),\n session_duration_seconds: Math.round(sessionDuration / 1000),\n session_id: currentSessionStart.current.getTime(),\n };\n\n saveSessionToLocalStorage(sessionData);\n\n trackEvent({\n eventName: AmplitudeEvent.SESSION_END,\n eventProperties: {\n session_duration_seconds: sessionData.session_duration_seconds,\n start_time: sessionData.start_time,\n end_time: sessionData.end_time,\n session_id: sessionData.session_id,\n },\n });\n\n currentSessionStart.current = null;\n }\n }\n }, [userId, trackEvent, saveSessionToLocalStorage]);\n\n const trackPageUnload = useCallback(() => {\n if (!userId || !currentSessionStart.current) return;\n\n const now = new Date();\n const sessionDuration = now.getTime() - currentSessionStart.current.getTime();\n const sessionData: SessionData = {\n start_time: currentSessionStart.current.toISOString(),\n end_time: now.toISOString(),\n session_duration_seconds: Math.round(sessionDuration / 1000),\n session_id: currentSessionStart.current.getTime(),\n };\n\n saveSessionToLocalStorage(sessionData);\n sendSessionsToAmplitude();\n }, [userId, saveSessionToLocalStorage, sendSessionsToAmplitude]);\n\n useEffect(() => {\n const handleVisibilityChange = () => {\n const isVisible = !document.hidden;\n setIsTabActive(isVisible);\n trackTabActivity(isVisible);\n };\n\n document.addEventListener('visibilitychange', handleVisibilityChange);\n return () => document.removeEventListener('visibilitychange', handleVisibilityChange);\n }, [trackTabActivity]);\n\n useEffect(() => {\n const handleFocus = () => {\n setIsTabActive(true);\n trackTabActivity(true);\n };\n\n const handleBlur = () => {\n setIsTabActive(false);\n trackTabActivity(false);\n };\n\n window.addEventListener('focus', handleFocus);\n window.addEventListener('blur', handleBlur);\n\n return () => {\n window.removeEventListener('focus', handleFocus);\n window.removeEventListener('blur', handleBlur);\n };\n }, [trackTabActivity]);\n\n useEffect(() => {\n const handleBeforeUnload = () => {\n trackPageUnload();\n };\n\n window.addEventListener('beforeunload', handleBeforeUnload);\n return () => window.removeEventListener('beforeunload', handleBeforeUnload);\n }, [trackPageUnload]);\n\n return {\n setUserId,\n setUserProperties,\n trackEvent,\n reset,\n userId,\n isTabActive,\n sessionStartTime: sessionStartTime.current,\n currentSessionStart: currentSessionStart.current,\n };\n};\n\nexport default useAmplitude;","import * as amplitude from '@amplitude/analytics-browser';\n\nconst initializeAmplitude = (\n apiKey: string,\n) => {\n amplitude.init(apiKey, {\n defaultTracking: {\n pageViews: true,\n sessions: true,\n formInteractions: true,\n },\n });\n};\n\nexport default initializeAmplitude;\n","import * as Sentry from '@sentry/react'\nexport function initSentry(dsn: string, release: string) {\n if (!dsn) return\n Sentry.init({\n dsn,\n tracesSampleRate: 1.0,\n release: release,\n sendDefaultPii: true,\n })\n}\n","import { DefaultErrorMessage } from \"./constants\";\n\nexport const getErrorMessage = (error: any, defaultErrorMessage?: string): string => {\n let errorMessage = error?.response?.data?.title\n if(error?.response?.status === 500) return defaultErrorMessage || DefaultErrorMessage\n if (typeof errorMessage === \"string\") return decodeURIComponent(errorMessage);\n errorMessage = error?.message || error?.response?.data?.message\n if (typeof errorMessage === \"string\") return errorMessage;\n return defaultErrorMessage || DefaultErrorMessage;\n}","import styleGlobal from '../../../style/styles.module.scss'\nexport const customStyles = {\n control: (baseStyles: any, state: any) => ({\n ...baseStyles,\n fontSize: \"14px\",\n fontWeight: 700,\n color: styleGlobal.darker,\n borderColor: (state.isFocused || state.hasValue) ? styleGlobal.dark : styleGlobal.less_dark,\n boxShadow: state.isFocused ? `0 0 0 1px ${styleGlobal.dark}4D`: baseStyles.boxShadow,\n \"&:active\": {\n borderColor: (state.isFocused || state.hasValue) ? styleGlobal.dark : styleGlobal.less_dark,\n },\n \"&:hover\": {\n borderColor: (state.isFocused || state.hasValue) ? styleGlobal.dark : styleGlobal.less_dark,\n }\n }),\n input: (baseStyles: any, _: any) => ({\n ...baseStyles,\n fontSize: \"14px\",\n fontWeight: 700,\n color: styleGlobal.darker\n }),\n singleValue: (baseStyles: any) => ({\n ...baseStyles,\n fontSize: \"14px\",\n fontWeight: 700,\n color: styleGlobal.darker\n }),\n option: (baseStyles: any, state: any) => ({\n ...baseStyles,\n backgroundColor: state.isSelected ? styleGlobal.dark : state.isFocused ? styleGlobal.light : 'white',\n \"&:active\": {\n backgroundColor: state.isSelected ? styleGlobal.dark : state.isFocused ? styleGlobal.less_dark : baseStyles.backgroundColor,\n },\n }),\n};","import React from \"react\"\nimport { DropdownIndicatorProps, components } from 'react-select'\nimport { FaCaretDown } from \"react-icons/fa\";\nimport styleGlobal from '../../../style/styles.module.scss'\n\nexport const DropdownIndicator = (props: DropdownIndicatorProps) => {\n return <components.DropdownIndicator {...props}>\n <FaCaretDown size={20} color={styleGlobal.darker}/>\n </components.DropdownIndicator>\n}\n\nexport const CustomOption = (props: any) => {\n return (\n <components.Option {...props}>\n <div style={{ fontSize: \"14px\", fontWeight: 500, }}>\n {props.data.label}\n </div>\n </components.Option>\n );\n };","import React from \"react\"\nimport Select, { } from 'react-select'\nimport { customStyles } from \"./theme/styles\";\nimport { CustomOption, DropdownIndicator } from \"./partials\";\n\nconst CustomSelect = ({\n isDefault,\n defaultValue,\n options,\n isDisabled,\n scrollBottom,\n value,\n isMulti,\n ...rest\n}: any) => {\n const initialValues = Array.isArray(value) ? options.filter((i: any)=> value.includes(i.value)) : isMulti ? options?.filter((i: any) => i.value == value) : options?.find((i: any) => i.value == value)\n return (\n <Select\n isDisabled={isDisabled}\n options={options}\n value={!isDefault ? (initialValues ?? null) : undefined}\n defaultValue={isDefault ? initialValues : undefined}\n menuPlacement={scrollBottom ? \"top\" : \"auto\"}\n isMulti={isMulti}\n components={{\n IndicatorSeparator: () => null,\n DropdownIndicator,\n Option: CustomOption\n }}\n styles={customStyles}\n placeholder=\"Select...\"\n {...rest}\n />\n )\n}\n\nexport default CustomSelect\n","import React from \"react\"\nimport AsyncSelect from \"react-select\"\nimport { CustomOption, DropdownIndicator } from \"./partials\";\nimport { customStyles } from \"./theme/styles\";\n\nconst CustomAsyncSelect = ({\n isDefault,\n defaultValue,\n options,\n isDisabled,\n scrollBottom,\n value,\n isMulti,\n ...rest\n}: any) => {\n const initialValues = Array.isArray(value) ? options.filter((i: any)=> value.includes(i.value)) : isMulti ? options.filter((i: any) => i.value == value) : options.find((i: any) => i.value == value)\n\n return (\n <AsyncSelect\n isDisabled={isDisabled}\n options={options}\n value={!isDefault ? initialValues : undefined}\n defaultValue={isDefault ? initialValues : undefined}\n menuPlacement={scrollBottom ? \"top\" : \"auto\"}\n isMulti={isMulti}\n components={{\n IndicatorSeparator: () => null,\n DropdownIndicator,\n Option: CustomOption\n }}\n styles={customStyles}\n placeholder=\"Select...\"\n {...rest}\n\n />\n )\n}\n\nexport default CustomAsyncSelect\n","import React from \"react\"\nimport CreatableSelect from 'react-select/creatable';\nimport { CustomOption, DropdownIndicator } from \"./partials\";\nimport { customStyles } from \"./theme/styles\";\n\nconst CustomCreatable = ({\n defaultValue,\n options,\n isDisabled,\n scrollBottom,\n value,\n isMulti,\n ...rest\n}: any) => {\n const initialValues = Array.isArray(value) ? options.filter((i: any)=> value.includes(i.value)) : isMulti ? options.filter((i: any) => i.value == value) : options.find((i: any) => i.value == value)\n\n return (\n <CreatableSelect\n isClearable\n isDisabled={isDisabled}\n options={options}\n value={initialValues}\n menuPlacement={scrollBottom ? \"top\" : \"auto\"}\n isMulti={isMulti}\n components={{\n IndicatorSeparator: () => null,\n DropdownIndicator,\n Option: CustomOption\n }}\n styles={customStyles}\n placeholder=\"Select...\"\n {...rest}\n\n />\n )\n}\n\nexport default CustomCreatable\n","import React from \"react\"\nimport Select from 'react-select'\nimport { customStyles } from \"./theme/styles\";\nimport { CustomOption, DropdownIndicator } from \"./partials\";\n\nconst CustomSelectOption = ({\n defaultValue,\n options,\n isDisabled,\n scrollBottom,\n value,\n isMulti,\n ...rest\n}: any) => {\n \n const initialValues = \n defaultValue !== null && typeof defaultValue !== \"undefined\"\n ? options.find((option: any) => option.value === defaultValue) ||\n null\n : null\n \n return (\n <Select\n isDisabled={isDisabled}\n options={options}\n value={value}\n defaultValue={initialValues}\n menuPlacement={scrollBottom ? \"top\" : \"auto\"}\n isMulti={isMulti}\n components={{\n IndicatorSeparator: () => null,\n DropdownIndicator,\n Option: CustomOption\n }}\n styles={customStyles}\n placeholder=\"Select...\"\n {...rest}\n />\n )\n}\n\nexport default CustomSelectOption\n","import moment from \"moment\"\nimport { DATE_MIN_VALUE } from \"../utils/constants\"\n\nexport default (time: string, FORMAT?: string) => {\n if (time === DATE_MIN_VALUE || time == null) return \"\"\n try {\n return moment.utc(time).local().format(FORMAT || \"yyyy-MM-DD\");\n } catch {\n return \"\"\n }\n}\n","import { createBrowserHistory } from \"history\"\nconst historyCore = createBrowserHistory()\n\nimport {\n setLoading,\n setAlert,\n setTenant,\n setAddTenant,\n setTeam,\n setUser,\n setMenuCollapse,\n setIsRefetchSidebar,\n setLoadingPage\n} from \"./redux/commons/action\"\nimport { BASE_URL, ACCESS_TOKEN, DATE_TIME_MIN_VALUE, OPENSALT_BASE_URL, ORGANIZATION_TEAM, ORGANIZATION_TENANT } from \"./utils/constants\"\nimport Login from \"./containers/Login/views/Login\"\nimport store from \"./store\"\nimport getAccessToken from \"./utils/getAccessToken\"\nimport firstCheckToken from \"./utils/firstCheckToken\"\nimport getImageUrl from \"./utils/getImageUrl\"\n\nimport NotFound from \"./components/Commons/NotFound\"\nimport Loading from \"./components/Loading/Loading\"\nimport LayoutContext from \"./layouts/LayoutContext\"\nimport { api, apiUpload } from \"./services/api\"\nimport { ConfirmDialog } from \"./components/Dialogs/ConfirmDialog\"\nimport CommonDialog from \"./components/Dialogs/CommonDialog\"\nimport { ToastContainer, toast } from \"react-toastify\"\nimport { Role } from \"./containers/Login/configs/constants\"\nimport CustomPagination from \"./components/Paginations/CustomPagination\"\nimport useGoogleSignOut from \"./utils/hooks/useGoogleSignOut\"\nimport useAmplitude from \"./utils/hooks/useAmplitude\"\nimport { AmplitudeEvent } from \"./utils/types/amplitude\"\nimport initializeAmplitude from \"./configs/amplitude\"\nimport { initSentry } from \"./configs/sentry\"\nimport {\n CoreButton,\n CoreInput,\n CoreSelect,\n CoreCheckbox,\n CoreRadio,\n CoreError,\n CoreModal,\n CoreRange,\n CoreTextArea,\n CoreSearch,\n CoreSelectCompact,\n CoreInputCompact,\n CoreTitleInput,\n CoreTooltip\n} from \"./components\"\nimport { getErrorMessage } from \"./utils/getErrorMessage\"\nimport { GoogleOAuthProvider } from '@react-oauth/google';\n\n// select\nimport CustomSelect from \"./components/Selects/CustomSelect\"\nimport CustomAsyncSelect from \"./components/Selects/CustomAsyncSelect\"\nimport CustomCreatable from \"./components/Selects/CustomCreatable\"\nimport CustomSelectOption from \"./components/Selects/CustomSelectOption\"\nimport utcToLocalTime from \"./utils/utcToLocalTime\"\nimport Cookies from \"js-cookie\"\n\nexport {\n setLoading,\n setLoadingPage,\n BASE_URL,\n OPENSALT_BASE_URL,\n ACCESS_TOKEN,\n DATE_TIME_MIN_VALUE,\n ORGANIZATION_TEAM,\n ORGANIZATION_TENANT,\n firstCheckToken,\n getImageUrl,\n Login,\n utcToLocalTime,\n getAccessToken,\n store,\n historyCore,\n setAlert,\n setUser,\n setTenant,\n setAddTenant,\n setTeam,\n setMenuCollapse,\n setIsRefetchSidebar,\n Loading,\n NotFound,\n LayoutContext,\n api,\n apiUpload,\n ConfirmDialog,\n CommonDialog,\n ToastContainer,\n toast,\n Role,\n Cookies,\n CustomPagination,\n useGoogleSignOut,\n CoreButton,\n CoreInput,\n CoreSelect,\n CoreCheckbox,\n CoreRadio,\n CoreError,\n CoreModal,\n CoreRange,\n CoreTextArea,\n CoreSearch,\n CoreSelectCompact,\n CoreInputCompact,\n CoreTitleInput,\n CoreTooltip,\n getErrorMessage,\n\n // select\n CustomSelect,\n CustomAsyncSelect,\n CustomCreatable,\n CustomSelectOption,\n GoogleOAuthProvider,\n\n\n //Amplitude\n useAmplitude,\n AmplitudeEvent,\n initializeAmplitude,\n initSentry\n\n}\n"],"names":["setLoading","createAction","setLoadingPage","setAlert","setUser","setLanguage","reset","setMenuCollapse","setIsRefetchSidebar","setTenant","setAddTenant","setTeam","REQUEST_ORIGIN","process","env","REACT_APP_REQUEST_ORIGIN","ADMIN_ORIGIN","REACT_APP_ADMIN_ORIGIN","TEACHER_ORIGIN","REACT_APP_TEACHER_ORIGIN","GOOGLE_RECAPTCHA_KEY","REACT_APP_GOOGLE_RECAPTCHA_KEY","GOOGLE_CLIENT_ID","REACT_APP_GOOGLE_CLIENT_ID","GOOGLE_RECAPTCHA_ID","REACT_APP_GOOGLE_RECAPTCHA_ID","GOOGLE_RECAPTCHA_SECRET","REACT_APP_GOOGLE_RECAPTCHA_SECRET","BASE_URL","REACT_APP_BASE_URL","SUPER_ADMIN_BASE_URL","REACT_APP_SUPER_ADMIN_BASE_URL","PUSHER_CONFIG","cluster","REACT_APP_PUSHER_CONFIG_CLUSTER","key","REACT_APP_PUSHER_CONFIG_KEY","MICROSOFT_CLIENT_ID","REACT_APP_MICROSOFT_CLIENT_ID","MICROSOFT_URL_DIRECT","REACT_APP_MICROSOFT_URL_DIRECT","OPENSALT_BASE_URL","REACT_APP_OPENSALT","ACCESS_TOKEN","AUTH_COOKIE","DATE_MIN_VALUE","DATE_TIME_MIN_VALUE","DefaultErrorMessage","COLORS","brandBlack","grayText","blackText","lightGray","lightGray2","lightGray2Text","grayLines","lightGrayBg","white","brandBlue","lightBlue","lightBlueHover","brandBlueHover","darkBrandBlue","darkBrandBlueHover","brandAccent","red","lightYellow","ORGANIZATION_TENANT","ORGANIZATION_TEAM","CoreButton","props","_props$type","type","children","onClick","icon","_props$disabled","disabled","_props$htmlType","htmlType","rest","_objectWithoutPropertiesLoose","_excluded","React","className","styles","CoreError","message","CoreInput","name","value","onChange","label","width","_props$placeholder","placeholder","error","_props$errorMessage","errorMessage","fontSize","fontWeight","onKeyDown","ref","maxLength","onKeyFocus","style","e","target","onFocus","Option","components","CoreCheckbox","checked","isSelected","CoreSelect","options","_props$isMulti","isMulti","_props$closeMenuOnSel","closeMenuOnSelect","_props$hideSelectedOp","hideSelectedOptions","handleChange","newValue","map","item","controlStyle","base","state","_extends","padding","borderRadius","backgroundColor","isDisabled","border","isFocused","height","undefined","minHeight","boxShadow","overflow","inputStyles","margin","color","placeholderStyles","dropdownIndicatorStyles","position","top","valueContainerStyles","singleValueStyles","optionStyles","cursor","indicatorsContainerStyles","display","multiValueStyles","alignItems","multiValueRemoveStyles","multiValueLabelStyles","ReactSelect","filter","i","includes","control","input","dropdownIndicator","indicatorSeparator","indicatorsContainer","valueContainer","singleValue","option","multiValue","multiValueRemove","multiValueLabel","FormGroup","check","inline","Input","id","Label","htmlFor","CoreRadio","CoreModal","open","onClose","title","footer","handleSubmit","onSubmit","_props$bodyPadding","bodyPadding","Modal","isOpen","toggle","centered","modalClassName","ModalHeader","ModalBody","ModalFooter","CoreRange","min","max","step","Search","_props$size","size","_props$color","viewBox","fill","xmlns","fillRule","clipRule","d","Close","clipPath","x","y","rx","transform","Info","CoreTextArea","_props$name","_props$error","_props$isOptional","isOptional","tooltip","_props$noBorder","noBorder","_props$smallHeight","smallHeight","cols","rows","autoResize","onBlur","_useState","useState","isOpenTooltip","setIsOpenTooltip","toggleTooltip","textareaRef","useRef","useEffect","current","el","requestAnimationFrame","scrollHeight","Tooltip","whiteSpace","resize","CoreSearch","onPressEnter","handleClear","tabIndex","preventDefault","length","CoreSelectCompact","_props$isShowDropdown","isShowDropdown","noOptionsMessage","CoreInputCompact","CoreTitleInput","CoreTooltip","_ref","content","_ref$placement","placement","_ref$isDelay","isDelay","_ref$timeDelay","timeDelay","innerClassName","generatedId","Date","now","toString","Math","random","slice","timeoutRef","handleMouseEnter","setTimeout","handleMouseLeave","clearTimeout","onMouseEnter","onMouseLeave","window","CookieService","setAuthCookie","data","rootDomain","getRootDomain","Cookies","set","token","expires","expiresAt","secure","NODE_ENV","domain","sameSite","path","host","match","getAuthCookie","cookie","get","JSON","parse","removeAuthCookie","remove","stringify","AmplitudeEvent","params","Object","keys","Array","isArray","encodeURIComponent","join","localStorage","getItem","err","api","axios","create","baseURL","timeout","headers","paramsSerializer","encodeParams","apiUpload","forEach","interceptors","request","use","config","getAccessToken","Authorization","setItem","moment","utc","format","imPersonate","ImPersonate","Promise","reject","response","status","location","href","hostname","parts","split","removeItem","apiLoginGoogle","body","post","apiSendEmailCode","apiCheckEmailCode","apiGetImage","itemLogin","TypeLogin","BlockLogin","onNavigate","role","hiddenSignup","email","setEmail","loginWithEmail","code","setCode","isScreenCode","setIsScreenCode","formatTime","loginWithEmailCode","trackEvent","dispatch","useDispatch","otpCode","setOtpCode","_useState2","resendCooldown","setResendCooldown","_useState3","resendTimer","setResendTimer","_useState4","images","setImages","_useState5","currentImageIndex","setCurrentImageIndex","handleGetImage","resolve","then","res","imageLogin","console","_temp","googleLogin","useGoogleLogin","onSuccess","tokenResponse","access_token","userInfo","_userInfo$data","picture","family_name","given_name","sub","accessToken","infoLogin","imageUrl","fullName","firstName","lastName","googleId","Google","authResult","_authResult$data","alert","clear","tokenJWT","eventName","LOGIN","eventProperties","login_method","user_role","success","timestamp","toISOString","getRedirectUrl","redirectUrl","onError","errorResponse","log","clearInterval","handleEmailLogin","trim","startResendCooldown","timer","setInterval","prev","handleResend","formatResendTime","seconds","mins","floor","secs","padStart","interval","Fragment","Row","Col","sm","lg","Link","to","src","alt","event","rel","image","index","fileId","active","backgroundImage","marginTop","marginBottom","it","maxWidth","_","stopPropagation","defaultInfo","password","captcha","rememberMe","minutes","useLogin","openLogin","setOpenLogin","infoUser","setInfoUser","useCallback","_useState6","timeLeft","setTimeLeft","_catch","toast","_temp2","_temp3","_temp4","m","s","Login","_useLogin","initialState","isLoading","isLoadingPage","user","academy","menuCollapse","isRefetchSidebar","commonReducer","createReducer","builder","addCase","action","payload","language","_state","_action","currentTenantId","tenantInfo","currentTeamId","rootReducer","combineReducers","common","store","configureStore","reducer","middleware","getDefaultMiddleware","serializableCheck","AUTH_URL","checkToken","firstCheckToken","tokenStatus","getImageUrl","imageTrimmed","startsWith","NotFound","loadingStyle","minWidth","left","zIndex","justifyContent","Loading","useSelector","useGoogleSignOut","onLogoutSuccess","onFailure","handleLogoutSuccess","handleLogoutFailure","_useGoogleLogout","useGoogleLogout","clientId","signOut","loaded","handleSignOut","LayoutContext","_useGoogleSignOut","resetAuth","loadInfo","ConfirmDialog","text","_ref$cancelText","cancelText","_ref$okText","okText","isDelete","onConfirm","Button","CommonDialog","_ref$size","_ref$isShowHeader","isShowHeader","backdrop","Box","Typography","AuthenticationMessage","Role","CustomPagination","currentPage","totalPage","onChangePage","Pagination","PaginationItem","PaginationLink","previous","page","next","useAmplitude","userId","setUserIdState","isTabActive","setIsTabActive","sessionStartTime","currentSessionStart","savedUserProperties","hasTrackedInitialSession","setUserProperties","properties","identify","amplitude","entries","_ref2","setUserId","newUserId","prevUserId","prefixedUserId","SESSION_START","start_time","saveSessionToLocalStorage","session","existingSessions","sessions","push","sendSessionsToAmplitude","SESSION_END","end_time","session_duration_seconds","session_id","trackTabActivity","isActive","sessionDuration","getTime","sessionData","round","trackPageUnload","handleVisibilityChange","isVisible","document","hidden","addEventListener","removeEventListener","handleFocus","handleBlur","handleBeforeUnload","initializeAmplitude","apiKey","defaultTracking","pageViews","formInteractions","initSentry","dsn","release","Sentry","tracesSampleRate","sendDefaultPii","getErrorMessage","defaultErrorMessage","_error$response","_error$response$data","_error$response2","decodeURIComponent","_error$response3","_error$response3$data","customStyles","baseStyles","styleGlobal","darker","borderColor","hasValue","dark","less_dark","light","DropdownIndicator","FaCaretDown","CustomOption","CustomSelect","isDefault","defaultValue","scrollBottom","initialValues","find","Select","menuPlacement","IndicatorSeparator","CustomAsyncSelect","AsyncSelect","CustomCreatable","CreatableSelect","isClearable","CustomSelectOption","time","FORMAT","local","_unused","historyCore","createBrowserHistory"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/redux/commons/action.ts","../src/utils/constants.ts","../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs","../src/components/CoreButton/index.tsx","../src/components/CoreError/index.tsx","../src/components/CoreInput/index.tsx","../src/components/CoreSelect/index.tsx","../src/components/CoreCheckbox/index.tsx","../src/components/CoreRadio/index.tsx","../src/components/CoreModal/index.tsx","../src/components/CoreRange/index.tsx","../src/utils/icons/Search.tsx","../src/utils/icons/Close.tsx","../src/utils/icons/Info.tsx","../src/components/CoreTextArea/index.tsx","../src/components/CoreSearch/index.tsx","../src/components/CoreSelectCompact/index.tsx","../src/components/CoreInputCompact/index.tsx","../src/components/CoreTitleInput/index.tsx","../src/components/CoreTooltip/index.tsx","../src/services/cookieService.ts","../src/utils/types/amplitude.ts","../src/utils/encodeParams.ts","../src/utils/getAccessToken.ts","../src/services/api.ts","../src/containers/Login/apiClient/index.ts","../src/containers/Login/configs/default.ts","../src/containers/Login/views/block/BlockLogin.tsx","../src/containers/Login/hooks/useLogin.ts","../src/containers/Login/views/Login.tsx","../node_modules/redux/dist/redux.legacy-esm.js","../src/redux/commons/reducer.ts","../src/rootReducer.ts","../src/store.ts","../src/services/accountService.ts","../src/utils/firstCheckToken.ts","../src/utils/getImageUrl.ts","../src/components/Commons/NotFound.tsx","../src/components/Loading/Loading.tsx","../src/utils/hooks/useGoogleSignOut.ts","../src/layouts/LayoutContext.tsx","../src/components/Dialogs/ConfirmDialog.tsx","../src/components/Dialogs/CommonDialog.tsx","../src/containers/Login/configs/constants.ts","../src/components/Paginations/CustomPagination.tsx","../src/utils/hooks/useAmplitude.ts","../src/configs/amplitude.ts","../src/configs/sentry.ts","../src/utils/getErrorMessage.ts","../src/components/Selects/theme/styles.ts","../src/components/Selects/partials/index.tsx","../src/components/Selects/CustomSelect.tsx","../src/components/Selects/CustomAsyncSelect.tsx","../src/components/Selects/CustomCreatable.tsx","../src/components/Selects/CustomSelectOption.tsx","../src/utils/utcToLocalTime.ts","../src/index.tsx"],"sourcesContent":["import { createAction } from \"@reduxjs/toolkit\"\n\nexport const setLoading = createAction<boolean | undefined>(\"common/setLoading\")\n\nexport const setLoadingPage = createAction<boolean | undefined>(\"common/setLoadingPage\")\n\nexport const setAlert = createAction<any>(\"common/setAlert\")\n\nexport const setUser = createAction<any>(\"common/setUser\")\n\nexport const setLanguage = createAction<string>(\"common/setLanguage\")\n\nexport const reset = createAction<undefined>(\"common/reset\")\n\nexport const setMenuCollapse = createAction<boolean>(\"common/setMenuCollapse\")\n\nexport const setIsRefetchSidebar = createAction(\"common/setIsRefetchSidebar\")\n\nexport const setTenant = createAction<number>(\"common/setTenant\")\n\nexport const setAddTenant = createAction<any>(\"common/setAddTenant\")\n\nexport const setTeam = createAction<any>(\"common/setTeam\")\n","export const REQUEST_ORIGIN =\n process.env.REACT_APP_REQUEST_ORIGIN ||\"\"\nexport const ADMIN_ORIGIN =\n process.env.REACT_APP_ADMIN_ORIGIN ||\"\"\nexport const TEACHER_ORIGIN =\n process.env.REACT_APP_TEACHER_ORIGIN ||\"\"\n\nexport const GOOGLE_RECAPTCHA_KEY =\n process.env.REACT_APP_GOOGLE_RECAPTCHA_KEY || \"\"\n\nexport const GOOGLE_CLIENT_ID = process.env.REACT_APP_GOOGLE_CLIENT_ID || \"\"\n\nexport const GOOGLE_RECAPTCHA_ID =\n process.env.REACT_APP_GOOGLE_RECAPTCHA_ID || \"\"\n\nexport const GOOGLE_RECAPTCHA_SECRET =\n process.env.REACT_APP_GOOGLE_RECAPTCHA_SECRET || \"\"\n\nexport const BASE_URL = process.env.REACT_APP_BASE_URL || \"\"\nexport const SUPER_ADMIN_BASE_URL =\n process.env.REACT_APP_SUPER_ADMIN_BASE_URL || \"\"\n\nexport const PUSHER_CONFIG = {\n cluster: process.env.REACT_APP_PUSHER_CONFIG_CLUSTER || \"\",\n key: process.env.REACT_APP_PUSHER_CONFIG_KEY || \"\"\n}\n\nexport const MICROSOFT_CLIENT_ID =\n process.env.REACT_APP_MICROSOFT_CLIENT_ID ||\"\"\n\nexport const MICROSOFT_URL_DIRECT =\n process.env.REACT_APP_MICROSOFT_URL_DIRECT ||\"\"\n\nexport const OPENSALT_BASE_URL = process.env.REACT_APP_OPENSALT || \"\"\n// end env\n\nexport const REACT_KEY_TINYMCE = \"fe5xc4hh72rshrx4xe59zu9setbnwiftu4hroztpre7trmay\"\n\nexport const ACCESS_TOKEN = \"ACCESS_TOKEN\"\nexport const AUTH_COOKIE = \"auth\"\nexport const AcademyHeaders = \"Academy-Headers\"\n\nexport const DATE_MIN_VALUE = \"0001-01-01T00:00:00+00:00\"\nexport const DATE_TIME_MIN_VALUE = \"0001-01-01T00:00:00\"\n\nexport const EXAM_CHANNEL = \"presence-exam-channel\"\nexport const EXAM_STUDENT_CHANNEL =\n \"EXAM-CHANNEL-{examCode}-STUDENT-{studentId}\"\n\nexport const DefaultErrorMessage = \"an_unexpected_error_has_occurred\"\n\nexport const getAccessToken = () => {\n try {\n return localStorage.getItem(ACCESS_TOKEN)\n } catch (err) {\n return null\n }\n}\n\nexport const encodeParams = (params: any) => {\n return Object.keys(params)\n .filter(\n key => params[key] || params[key] === 0 || params[key] === false\n )\n .map(key => {\n if (Array.isArray(params[key])) {\n return params[key]\n .map(\n (i: any) =>\n `${encodeURIComponent(key)}=${encodeURIComponent(i)}`\n )\n .join(\"&\")\n }\n return `${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`\n })\n .join(\"&\")\n}\n\nexport const COLORS = {\n brandBlack: \"#101129\",\n grayText: \"#585869\",\n blackText: \"#212126\",\n lightGray: \"#a6a6ad\",\n lightGray2: \"rgba(0, 0, 0, 0.08)\",\n lightGray2Text: \"#c6c6cc\",\n grayLines: \"#e6e6eb\",\n lightGrayBg: \"#f5f9fa\",\n white: \"#ffffff\",\n brandBlue: \"#00afda\",\n lightBlue: \"#caeffc\",\n lightBlueHover: \"#e5f9ff\",\n brandBlueHover: \"#008fb2\",\n darkBrandBlue: \"#025675\",\n darkBrandBlueHover: \"#007a99\",\n brandAccent: \"#ffce09\",\n red: \"#ce3636\",\n lightYellow: \"#fff5ce\"\n}\n\nexport const ORGANIZATION_TENANT = \"ORGANIZATION_TENANT\"\nexport const ORGANIZATION_TEAM = \"ORGANIZATION_TEAM\"\n","// A type of promise-like that resolves synchronously and supports only one observer\nexport const _Pact = /*#__PURE__*/(function() {\n\tfunction _Pact() {}\n\t_Pact.prototype.then = function(onFulfilled, onRejected) {\n\t\tconst result = new _Pact();\n\t\tconst state = this.s;\n\t\tif (state) {\n\t\t\tconst callback = state & 1 ? onFulfilled : onRejected;\n\t\t\tif (callback) {\n\t\t\t\ttry {\n\t\t\t\t\t_settle(result, 1, callback(this.v));\n\t\t\t\t} catch (e) {\n\t\t\t\t\t_settle(result, 2, e);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t}\n\t\tthis.o = function(_this) {\n\t\t\ttry {\n\t\t\t\tconst value = _this.v;\n\t\t\t\tif (_this.s & 1) {\n\t\t\t\t\t_settle(result, 1, onFulfilled ? onFulfilled(value) : value);\n\t\t\t\t} else if (onRejected) {\n\t\t\t\t\t_settle(result, 1, onRejected(value));\n\t\t\t\t} else {\n\t\t\t\t\t_settle(result, 2, value);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(result, 2, e);\n\t\t\t}\n\t\t};\n\t\treturn result;\n\t}\n\treturn _Pact;\n})();\n\n// Settles a pact synchronously\nexport function _settle(pact, state, value) {\n\tif (!pact.s) {\n\t\tif (value instanceof _Pact) {\n\t\t\tif (value.s) {\n\t\t\t\tif (state & 1) {\n\t\t\t\t\tstate = value.s;\n\t\t\t\t}\n\t\t\t\tvalue = value.v;\n\t\t\t} else {\n\t\t\t\tvalue.o = _settle.bind(null, pact, state);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (value && value.then) {\n\t\t\tvalue.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));\n\t\t\treturn;\n\t\t}\n\t\tpact.s = state;\n\t\tpact.v = value;\n\t\tconst observer = pact.o;\n\t\tif (observer) {\n\t\t\tobserver(pact);\n\t\t}\n\t}\n}\n\nexport function _isSettledPact(thenable) {\n\treturn thenable instanceof _Pact && thenable.s & 1;\n}\n\n// Converts argument to a function that always returns a Promise\nexport function _async(f) {\n\treturn function() {\n\t\tfor (var args = [], i = 0; i < arguments.length; i++) {\n\t\t\targs[i] = arguments[i];\n\t\t}\n\t\ttry {\n\t\t\treturn Promise.resolve(f.apply(this, args));\n\t\t} catch(e) {\n\t\t\treturn Promise.reject(e);\n\t\t}\n\t}\n}\n\n// Awaits on a value that may or may not be a Promise (equivalent to the await keyword in ES2015, with continuations passed explicitly)\nexport function _await(value, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(value) : value;\n\t}\n\tif (!value || !value.then) {\n\t\tvalue = Promise.resolve(value);\n\t}\n\treturn then ? value.then(then) : value;\n}\n\n// Awaits on a value that may or may not be a Promise, then ignores it\nexport function _awaitIgnored(value, direct) {\n\tif (!direct) {\n\t\treturn value && value.then ? value.then(_empty) : Promise.resolve();\n\t}\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continue(value, then) {\n\treturn value && value.then ? value.then(then) : then(value);\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continueIgnored(value) {\n\tif (value && value.then) {\n\t\treturn value.then(_empty);\n\t}\n}\n\n// Asynchronously iterate through an object that has a length property, passing the index as the first argument to the callback (even as the length property changes)\nexport function _forTo(array, body, check) {\n\tvar i = -1, pact, reject;\n\tfunction _cycle(result) {\n\t\ttry {\n\t\t\twhile (++i < array.length && (!check || !check())) {\n\t\t\t\tresult = body(i);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (pact) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t} else {\n\t\t\t\tpact = result;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t}\n\t}\n\t_cycle();\n\treturn pact;\n}\n\n// Asynchronously iterate through an object's properties (including properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forIn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tkeys.push(key);\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\n// Asynchronously iterate through an object's own properties (excluding properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forOwn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tif (Object.prototype.hasOwnProperty.call(target, key)) {\n\t\t\tkeys.push(key);\n\t\t}\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\nexport const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.iterator || (Symbol.iterator = Symbol(\"Symbol.iterator\"))) : \"@@iterator\";\n\n// Asynchronously iterate through an object's values\n// Uses for...of if the runtime supports it, otherwise iterates until length on a copy\nexport function _forOf(target, body, check) {\n\tif (typeof target[_iteratorSymbol] === \"function\") {\n\t\tvar iterator = target[_iteratorSymbol](), step, pact, reject;\n\t\tfunction _cycle(result) {\n\t\t\ttry {\n\t\t\t\twhile (!(step = iterator.next()).done && (!check || !check())) {\n\t\t\t\t\tresult = body(step.value);\n\t\t\t\t\tif (result && result.then) {\n\t\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (pact) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t} else {\n\t\t\t\t\tpact = result;\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t\t}\n\t\t}\n\t\t_cycle();\n\t\tif (iterator.return) {\n\t\t\tvar _fixup = function(value) {\n\t\t\t\ttry {\n\t\t\t\t\tif (!step.done) {\n\t\t\t\t\t\titerator.return();\n\t\t\t\t\t}\n\t\t\t\t} catch(e) {\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tif (pact && pact.then) {\n\t\t\t\treturn pact.then(_fixup, function(e) {\n\t\t\t\t\tthrow _fixup(e);\n\t\t\t\t});\n\t\t\t}\n\t\t\t_fixup();\n\t\t}\n\t\treturn pact;\n\t}\n\t// No support for Symbol.iterator\n\tif (!(\"length\" in target)) {\n\t\tthrow new TypeError(\"Object is not iterable\");\n\t}\n\t// Handle live collections properly\n\tvar values = [];\n\tfor (var i = 0; i < target.length; i++) {\n\t\tvalues.push(target[i]);\n\t}\n\treturn _forTo(values, function(i) { return body(values[i]); }, check);\n}\n\nexport const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol(\"Symbol.asyncIterator\"))) : \"@@asyncIterator\";\n\n// Asynchronously iterate on a value using it's async iterator if present, or its synchronous iterator if missing\nexport function _forAwaitOf(target, body, check) {\n\tif (typeof target[_asyncIteratorSymbol] === \"function\") {\n\t\tvar pact = new _Pact();\n\t\tvar iterator = target[_asyncIteratorSymbol]();\n\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\treturn pact;\n\t\tfunction _resumeAfterBody(result) {\n\t\t\tif (check && check()) {\n\t\t\t\treturn _settle(pact, 1, iterator.return ? iterator.return().then(function() { return result; }) : result);\n\t\t\t}\n\t\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\t}\n\t\tfunction _resumeAfterNext(step) {\n\t\t\tif (step.done) {\n\t\t\t\t_settle(pact, 1);\n\t\t\t} else {\n\t\t\t\tPromise.resolve(body(step.value)).then(_resumeAfterBody).then(void 0, _reject);\n\t\t\t}\n\t\t}\n\t\tfunction _reject(error) {\n\t\t\t_settle(pact, 2, iterator.return ? iterator.return().then(function() { return error; }) : error);\n\t\t}\n\t}\n\treturn Promise.resolve(_forOf(target, function(value) { return Promise.resolve(value).then(body); }, check));\n}\n\n// Asynchronously implement a generic for loop\nexport function _for(test, update, body) {\n\tvar stage;\n\tfor (;;) {\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t\tif (shouldContinue.then) {\n\t\t\tstage = 0;\n\t\t\tbreak;\n\t\t}\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.s;\n\t\t\t} else {\n\t\t\t\tstage = 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (update) {\n\t\t\tvar updateValue = update();\n\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\tstage = 2;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tvar pact = new _Pact();\n\tvar reject = _settle.bind(null, pact, 2);\n\t(stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tdo {\n\t\t\tif (update) {\n\t\t\t\tupdateValue = update();\n\t\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\t\tupdateValue.then(_resumeAfterUpdate).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tshouldContinue = test();\n\t\t\tif (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t}\n\t\t} while (!result || !result.then);\n\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterBody(result);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n\tfunction _resumeAfterUpdate() {\n\t\tif (shouldContinue = test()) {\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterTest(shouldContinue);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a do ... while loop\nexport function _do(body, test) {\n\tvar awaitBody;\n\tdo {\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t} else {\n\t\t\t\tawaitBody = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t} while (!shouldContinue.then);\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : shouldContinue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tfor (;;) {\n\t\t\tshouldContinue = test();\n\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t}\n\t\t\tif (!shouldContinue) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\tresult = result.v;\n\t\t\t\t} else {\n\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tdo {\n\t\t\t\tresult = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tshouldContinue = test();\n\t\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t\t}\n\t\t\t\tif (!shouldContinue) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} while (!shouldContinue.then);\n\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a switch statement\nexport function _switch(discriminant, cases) {\n\tvar dispatchIndex = -1;\n\tvar awaitBody;\n\touter: {\n\t\tfor (var i = 0; i < cases.length; i++) {\n\t\t\tvar test = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvar testValue = test();\n\t\t\t\tif (testValue && testValue.then) {\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tif (testValue === discriminant) {\n\t\t\t\t\tdispatchIndex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Found the default case, set it as the pending dispatch case\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tif (dispatchIndex !== -1) {\n\t\t\tdo {\n\t\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\t\twhile (!body) {\n\t\t\t\t\tdispatchIndex++;\n\t\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t\t}\n\t\t\t\tvar result = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tawaitBody = true;\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\t\tdispatchIndex++;\n\t\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t\treturn result;\n\t\t}\n\t}\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : testValue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterTest(value) {\n\t\tfor (;;) {\n\t\t\tif (value === discriminant) {\n\t\t\t\tdispatchIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (++i === cases.length) {\n\t\t\t\tif (dispatchIndex !== -1) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\ttest = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvalue = test();\n\t\t\t\tif (value && value.then) {\n\t\t\t\t\tvalue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tdo {\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tvar result = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tdispatchIndex++;\n\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterBody(result) {\n\t\tfor (;;) {\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tif (!fallthroughCheck || fallthroughCheck()) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdispatchIndex++;\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _call(body, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(body()) : body();\n\t}\n\ttry {\n\t\tvar result = Promise.resolve(body());\n\t\treturn then ? result.then(then) : result;\n\t} catch (e) {\n\t\treturn Promise.reject(e);\n\t}\n}\n\n// Asynchronously call a function and swallow the result\nexport function _callIgnored(body, direct) {\n\treturn _call(body, _empty, direct);\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _invoke(body, then) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(then);\n\t}\n\treturn then(result);\n}\n\n// Asynchronously call a function and swallow the result\nexport function _invokeIgnored(body) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(_empty);\n\t}\n}\n\n// Asynchronously call a function and send errors to recovery continuation\nexport function _catch(body, recover) {\n\ttry {\n\t\tvar result = body();\n\t} catch(e) {\n\t\treturn recover(e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(void 0, recover);\n\t}\n\treturn result;\n}\n\n// Asynchronously await a promise and pass the result to a finally continuation\nexport function _finallyRethrows(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer(true, e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer.bind(null, false), finalizer.bind(null, true));\n\t}\n\treturn finalizer(false, result);\n}\n\n// Asynchronously await a promise and invoke a finally continuation that always overrides the result\nexport function _finally(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer();\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer, finalizer);\n\t}\n\treturn finalizer();\n}\n\n// Rethrow or return a value from a finally continuation\nexport function _rethrow(thrown, value) {\n\tif (thrown)\n\t\tthrow value;\n\treturn value;\n}\n\n// Empty function to implement break and other control flow that ignores asynchronous results\nexport function _empty() {\n}\n\n// Sentinel value for early returns in generators \nexport const _earlyReturn = /*#__PURE__*/ {};\n\n// Asynchronously call a function and send errors to recovery continuation, skipping early returns\nexport function _catchInGenerator(body, recover) {\n\treturn _catch(body, function(e) {\n\t\tif (e === _earlyReturn) {\n\t\t\tthrow e;\n\t\t}\n\t\treturn recover(e);\n\t});\n}\n\n// Asynchronous generator class; accepts the entrypoint of the generator, to which it passes itself when the generator should start\nexport const _AsyncGenerator = /*#__PURE__*/(function() {\n\tfunction _AsyncGenerator(entry) {\n\t\tthis._entry = entry;\n\t\tthis._pact = null;\n\t\tthis._resolve = null;\n\t\tthis._return = null;\n\t\tthis._promise = null;\n\t}\n\n\tfunction _wrapReturnedValue(value) {\n\t\treturn { value: value, done: true };\n\t}\n\tfunction _wrapYieldedValue(value) {\n\t\treturn { value: value, done: false };\n\t}\n\n\t_AsyncGenerator.prototype._yield = function(value) {\n\t\t// Yield the value to the pending next call\n\t\tthis._resolve(value && value.then ? value.then(_wrapYieldedValue) : _wrapYieldedValue(value));\n\t\t// Return a pact for an upcoming next/return/throw call\n\t\treturn this._pact = new _Pact();\n\t};\n\t_AsyncGenerator.prototype.next = function(value) {\n\t\t// Advance the generator, starting it if it has yet to be started\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tconst _entry = _this._entry;\n\t\t\t\tif (_entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the next call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Start the generator\n\t\t\t\t_this._entry = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\tfunction returnValue(value) {\n\t\t\t\t\t_this._resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t_this._resolve = null;\n\t\t\t\t}\n\t\t\t\tvar result = _entry(_this);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tresult.then(returnValue, function(error) {\n\t\t\t\t\t\tif (error === _earlyReturn) {\n\t\t\t\t\t\t\treturnValue(_this._return);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst pact = new _Pact();\n\t\t\t\t\t\t\t_this._resolve(pact);\n\t\t\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t\t\t_this._resolve = null;\n\t\t\t\t\t\t\t_resolve(pact, 2, error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturnValue(result);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Generator is started and a yield expression is pending, settle it\n\t\t\t\t_this._pact = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\t_settle(_pact, 1, value);\n\t\t\t}\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.return = function(value) {\n\t\t// Early return from the generator if started, otherwise abandons the generator\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the return call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return the specified value\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t}\n\t\t\t// Settle the yield expression with a rejected \"early return\" value\n\t\t\t_this._return = value;\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, _earlyReturn);\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.throw = function(error) {\n\t\t// Inject an exception into the pending yield expression\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve, reject) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the throw call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return a rejected Promise containing the error\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn reject(error);\n\t\t\t}\n\t\t\t// Settle the yield expression with the value as a rejection\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, error);\n\t\t});\n\t};\n\n\t_AsyncGenerator.prototype[_asyncIteratorSymbol] = function() {\n\t\treturn this;\n\t};\n\t\n\treturn _AsyncGenerator;\n})();\n","import React from \"react\"\nimport styles from \"./styles.module.scss\"\n\ninterface IProps {\n type?: \"primary\" | \"secondary\" | \"text\" | \"danger\" | \"light\"\n children: string | JSX.Element\n onClick?: any\n icon?: JSX.Element | string\n disabled?: boolean\n htmlType?: \"button\" | \"submit\"\n [key: string]: any;\n}\n\nconst CoreButton = (props: IProps) => {\n const {\n type = \"primary\",\n children,\n onClick,\n icon,\n disabled = false,\n htmlType = \"button\",\n ...rest\n } = props\n\n return (\n <button\n className={`${styles[\"core-button\"]} ${styles[type]}`}\n onClick={onClick}\n disabled={disabled}\n type={htmlType}\n {...rest}\n >\n {icon && icon}\n\n {children}\n </button>\n )\n}\n\nexport default CoreButton\n","import React from \"react\"\nimport styles from \"./styles.module.scss\"\n\ninterface IProps {\n message: string\n}\n\nconst CoreError = (props: IProps) => {\n const { message } = props\n\n return (\n <div className={`${styles[\"core-error\"]}`}>\n <p>{message}</p>\n </div>\n )\n}\n\nexport default CoreError\n","import React from \"react\"\nimport styles from \"./styles.module.scss\"\nimport CoreError from \"../CoreError\"\n\ninterface IProps {\n name: string\n value: string\n type?: \"no-outline\" | \"outline\"\n onChange: (name: string, value: string) => void\n disabled?: boolean\n label?: string\n width?: number\n placeholder?: string\n error?: boolean\n errorMessage?: string\n fontSize?: string\n fontWeight?: string\n onKeyDown?: (e: any) => void\n onKeyFocus?: (name: string, value: string) => void\n ref?: any\n maxLength?: number\n className?: string\n}\n\nconst CoreInput = (props: IProps) => {\n const {\n name,\n value,\n onChange,\n type = \"outline\",\n disabled = false,\n label,\n width,\n placeholder = \"Type here\",\n error,\n errorMessage = \"\",\n fontSize,\n fontWeight,\n onKeyDown,\n ref,\n maxLength,\n className,\n onKeyFocus\n } = props\n\n return (\n <div\n className={`${styles[\"core-input\"]} ${styles[type]} ${error ? styles[\"error\"] : \"\"}`}\n style={{\n width: width ?? \"100%\"\n }}\n >\n {label && <label>{label}</label>}\n\n <input\n style={{ fontSize: fontSize, fontWeight: fontWeight }}\n name={name}\n value={value}\n onChange={e => onChange(name, e.target.value)}\n disabled={disabled}\n placeholder={placeholder}\n onKeyDown={e => onKeyDown?.(e)}\n onFocus={e => onKeyFocus?.(name, e.target.value)}\n {...ref}\n maxLength={maxLength}\n className={className}\n />\n\n {error && <CoreError message={errorMessage} />}\n </div>\n )\n}\n\nexport default CoreInput\n","import React from \"react\"\nimport styles from \"./styles.module.scss\"\nimport ReactSelect, {\n ControlProps,\n CSSObjectWithLabel,\n GroupBase,\n OptionProps\n} from \"react-select\"\nimport CoreError from \"../CoreError\"\nimport { components } from \"react-select\"\nimport { CoreCheckbox } from \"..\"\nimport { COLORS } from \"../../utils/constants\"\n\ninterface IOprion {\n label: string\n value: string\n}\n\ninterface IProps {\n name: string\n options: IOprion[]\n value: string | null | string[]\n onChange: (name: string, value: string) => void\n disabled?: boolean\n label?: string\n width?: number\n placeholder?: string\n error?: boolean\n errorMessage?: string\n type?: \"outline\" | \"no-outline\"\n isMulti?: boolean\n closeMenuOnSelect?: boolean\n hideSelectedOptions?: boolean\n}\nconst Option = (props: any) => {\n return (\n <div>\n <components.Option {...props}>\n <CoreCheckbox\n checked={props.isSelected}\n onChange={() => null}\n name=\"\"\n label={props.label}\n />\n </components.Option>\n </div>\n )\n}\n\nconst CoreSelect = (props: IProps) => {\n const {\n name,\n options,\n value,\n onChange,\n disabled = false,\n label,\n width,\n placeholder = \"Select\",\n error,\n errorMessage = \"\",\n type = \"outline\",\n isMulti = false,\n closeMenuOnSelect = true,\n hideSelectedOptions = true\n } = props\n\n const handleChange = (e: any) => {\n const newValue = isMulti ? e.map((item: any) => item.value) : e?.value\n onChange(name, newValue)\n }\n\n const controlStyle = (\n base: CSSObjectWithLabel,\n state: ControlProps<any, boolean, GroupBase<any>>\n ) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n fontSize: \"14px\",\n fontWeight: \"400\",\n padding: \"0 4px\",\n borderRadius: \"8px\",\n backgroundColor: state.isDisabled\n ? COLORS.lightGrayBg\n : COLORS.white,\n border: state.isFocused\n ? `2px solid ${!error ? COLORS.brandBlue : COLORS.red}`\n : `1px solid ${!error ? COLORS.grayLines : COLORS.red}`,\n height: isMulti ? undefined : \"32px\",\n minHeight: 0,\n boxShadow: \"none\"\n }\n\n switch (type) {\n case \"outline\":\n styles.overflow = \"hidden\"\n styles[\":hover\"] = {\n backgroundColor: COLORS.lightBlueHover\n }\n break\n case \"no-outline\":\n styles.border = \"none\"\n styles.padding = 0\n styles[\"&>div\"] = {\n padding: 0\n }\n break\n default:\n break\n }\n return styles\n }\n\n const inputStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n margin: \"0\",\n padding: \"0\",\n color: \"inherit\"\n }\n return styles\n }\n\n const placeholderStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n color: COLORS.lightGray\n // position: \"relative\",\n // top: \"1px\"\n }\n return styles\n }\n\n const dropdownIndicatorStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n position: \"relative\",\n top: \"-4px\",\n padding: \"8px 0\"\n }\n return styles\n }\n\n const valueContainerStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n height: isMulti ? undefined : \"32px\",\n position: \"relative\",\n top: \"-3px\"\n }\n return styles\n }\n\n const singleValueStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base\n }\n return styles\n }\n\n const optionStyles = (\n base: CSSObjectWithLabel,\n state: OptionProps<any, boolean, GroupBase<any>>\n ) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n padding: \"8px\",\n borderRadius: \"8px\",\n cursor: \"pointer\",\n fontSize: \"14px\",\n fontWeight: 400,\n backgroundColor: state.isSelected\n ? COLORS.lightBlueHover\n : \"transparent\",\n \"&:hover\": {\n backgroundColor: COLORS.lightBlueHover\n }\n }\n return styles\n }\n\n const indicatorsContainerStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n display: type === \"no-outline\" ? \"none\" : \"block\"\n }\n return styles\n }\n\n const multiValueStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n backgroundColor: COLORS.lightBlue,\n borderRadius: \"4px\",\n padding: \"2px 8px\",\n display: \"flex\",\n alignItems: \"center\",\n fontSize: \"13px\",\n color: COLORS.blackText\n }\n return styles\n }\n\n const multiValueRemoveStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n color: COLORS.lightGray,\n cursor: \"pointer\"\n }\n return styles\n }\n\n const multiValueLabelStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n color: COLORS.blackText,\n fontWeight: \"400\",\n fontSize: \"13px\",\n padding: 0\n }\n return styles\n }\n\n return (\n <div\n className={`${styles[\"core-select\"]}`}\n style={{ width: width ?? \"100%\" }}\n >\n {label && <span className={styles[\"label\"]}>{label}</span>}\n\n <ReactSelect\n name={name}\n value={options.filter(\n i =>\n value &&\n (isMulti ? value.includes(i.value) : i.value === value)\n )}\n onChange={handleChange}\n placeholder={placeholder}\n isDisabled={disabled}\n isMulti={isMulti}\n closeMenuOnSelect={closeMenuOnSelect}\n hideSelectedOptions={hideSelectedOptions}\n options={options as any}\n components={isMulti ? { Option } : undefined}\n styles={{\n control: controlStyle,\n input: inputStyles,\n placeholder: placeholderStyles,\n dropdownIndicator: dropdownIndicatorStyles,\n indicatorSeparator: () => ({\n display: \"none\"\n }),\n indicatorsContainer: indicatorsContainerStyles,\n valueContainer: valueContainerStyles,\n singleValue: singleValueStyles,\n option: optionStyles,\n multiValue: multiValueStyles,\n multiValueRemove: multiValueRemoveStyles,\n multiValueLabel: multiValueLabelStyles\n }}\n />\n\n {error && <CoreError message={errorMessage} />}\n </div>\n )\n}\n\nexport default CoreSelect\n","import React from \"react\"\nimport styles from \"./styles.module.scss\"\nimport { FormGroup, Input, Label } from \"reactstrap\"\n\ninterface IProps {\n name: string\n checked: boolean\n onChange: (name: string, checked: boolean) => void\n disabled?: boolean\n label?: string\n}\n\nconst CoreInput = (props: IProps) => {\n const { name, checked, onChange, disabled = false, label } = props\n\n return (\n <div className={`${styles[\"core-checkbox\"]}`}>\n <FormGroup check inline>\n <Input\n id={`core-checkbox-${name}`}\n type=\"checkbox\"\n name={name}\n checked={checked}\n onChange={e => onChange?.(name, e.target.checked)}\n disabled={disabled}\n />\n\n <Label htmlFor={`core-checkbox-${name}`} check>\n {label}\n </Label>\n </FormGroup>\n </div>\n )\n}\n\nexport default CoreInput\n","import React from \"react\"\nimport styles from \"./styles.module.scss\"\nimport { FormGroup, Input, Label } from \"reactstrap\"\n\ninterface IOption {\n label: string\n value: string\n disabled?: boolean;\n}\n\ninterface IProps {\n name: string\n value: string\n options: IOption[]\n onChange: (name: string, value: string) => void\n disabled?: boolean\n}\n\nconst CoreRadio = (props: IProps) => {\n const { name, value, options, onChange, disabled = false } = props\n\n return (\n <div className={`${styles[\"core-radio\"]}`}>\n <FormGroup check>\n {options.map(i => (\n <div key={i.value}>\n <Input\n id={`core-radio-${i.value}`}\n type=\"radio\"\n checked={value === i.value}\n onClick={() => {\n onChange(name, i.value)\n }}\n onChange={() => {\n return\n }}\n disabled={disabled || i.disabled}\n />\n\n <Label htmlFor={`core-radio-${i.value}`}>\n {i.label}\n </Label>\n </div>\n ))}\n </FormGroup>\n </div>\n )\n}\n\nexport default CoreRadio\n","import React from \"react\"\nimport styles from \"./styles.module.scss\"\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\"\n\ninterface IProps {\n open: boolean\n onClose?: () => void\n children: JSX.Element\n title: string\n footer?: JSX.Element\n handleSubmit?: any\n onSubmit?: any\n bodyPadding?: string\n className?: string\n}\n\nconst CoreModal = (props: IProps) => {\n const {\n open,\n onClose,\n children,\n title,\n footer,\n handleSubmit,\n onSubmit,\n bodyPadding = \"24px\",\n className\n } = props\n\n return (\n <Modal isOpen={open} toggle={onClose} centered modalClassName={className}>\n <form\n onSubmit={onSubmit ? handleSubmit(onSubmit) : undefined}\n className={`${styles[\"core-modal-container\"]}`}\n >\n <ModalHeader\n toggle={onClose}\n className={styles[\"core-modal-header\"]}\n >\n {title}\n </ModalHeader>\n\n <ModalBody style={{ padding: bodyPadding }}>\n {children}\n </ModalBody>\n\n {footer && <ModalFooter>{footer}</ModalFooter>}\n </form>\n </Modal>\n )\n}\n\nexport default CoreModal\n","import React from \"react\"\nimport styles from \"./styles.module.scss\"\n\ninterface IProps {\n name: string\n value: number\n onChange: (name: string, value: number) => void\n disabled?: boolean\n label?: string\n width?: number\n min?: number\n max?: number\n step?: number\n}\n\nconst CoreRange = (props: IProps) => {\n const { name, value, onChange, label, width, min, max, step } = props\n\n return (\n <div\n className={`${styles[\"core-range\"]}`}\n style={{ width: width ?? \"100%\" }}\n >\n {label && <label>{label}</label>}\n\n <input\n type=\"range\"\n name={name}\n value={value}\n onChange={e => onChange(name, +e.target.value)}\n min={min}\n max={max}\n step={step}\n />\n </div>\n )\n}\n\nexport default CoreRange\n","import React from \"react\"\nimport { IIcon } from \"../types\"\n\nconst Search = (props: IIcon) => {\n const { size = 16, color = \"#A6A6AD\" } = props\n\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M9.40376 9.40352C9.63808 9.1692 10.018 9.1692 10.2523 9.40352L13.4243 12.5755C13.6586 12.8098 13.6586 13.1897 13.4243 13.424C13.19 13.6584 12.8101 13.6584 12.5758 13.424L9.40376 10.252C9.16945 10.0177 9.16945 9.63783 9.40376 9.40352Z\"\n fill={color}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.9999 3.5999C5.12213 3.5999 3.5999 5.12213 3.5999 6.9999C3.5999 8.87767 5.12213 10.3999 6.9999 10.3999C8.87767 10.3999 10.3999 8.87767 10.3999 6.9999C10.3999 5.12213 8.87767 3.5999 6.9999 3.5999ZM2.3999 6.9999C2.3999 4.45939 4.45939 2.3999 6.9999 2.3999C9.54041 2.3999 11.5999 4.45939 11.5999 6.9999C11.5999 9.54041 9.54041 11.5999 6.9999 11.5999C4.45939 11.5999 2.3999 9.54041 2.3999 6.9999Z\"\n fill={color}\n />\n </svg>\n )\n}\n\nexport default Search\n","import React from \"react\"\nimport { IIcon } from \"../types\"\n\nconst Close = (props: IIcon) => {\n const { color = \"#A6A6AD\", size = 16 } = props\n\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_1060_48455)\">\n <rect\n x=\"2.48438\"\n y=\"3.61597\"\n width=\"1.6\"\n height=\"14\"\n rx=\"0.8\"\n transform=\"rotate(-45 2.48438 3.61597)\"\n fill={color}\n />\n <rect\n x=\"12.2427\"\n y=\"2.34326\"\n width=\"1.6\"\n height=\"14\"\n rx=\"0.8\"\n transform=\"rotate(45 12.2427 2.34326)\"\n fill={color}\n />\n </g>\n <defs>\n <clipPath id=\"clip0_1060_48455\">\n <rect width=\"16\" height=\"16\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n )\n}\n\nexport default Close\n","import React from \"react\"\n\nconst Info = () => {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.0002 2.1002C3.84628 2.1002 2.1002 3.84628 2.1002 6.0002C2.1002 8.15411 3.84628 9.9002 6.0002 9.9002C8.15411 9.9002 9.9002 8.15411 9.9002 6.0002C9.9002 3.84628 8.15411 2.1002 6.0002 2.1002ZM1.2002 6.0002C1.2002 3.34923 3.34923 1.2002 6.0002 1.2002C8.65116 1.2002 10.8002 3.34923 10.8002 6.0002C10.8002 8.65116 8.65116 10.8002 6.0002 10.8002C3.34923 10.8002 1.2002 8.65116 1.2002 6.0002Z\"\n fill=\"#A6A6AD\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.9998 5.1001C6.24833 5.1001 6.4498 5.30157 6.4498 5.5501V8.2915C6.4498 8.54003 6.24833 8.7415 5.9998 8.7415C5.75128 8.7415 5.5498 8.54003 5.5498 8.2915V5.5501C5.5498 5.30157 5.75128 5.1001 5.9998 5.1001Z\"\n fill=\"#A6A6AD\"\n />\n <path\n d=\"M5.9999 4.6502C5.6687 4.6502 5.3999 4.3808 5.3999 4.0502C5.3999 3.7196 5.6687 3.4502 5.9999 3.4502C6.3311 3.4502 6.5999 3.7196 6.5999 4.0502C6.5999 4.3808 6.3311 4.6502 5.9999 4.6502Z\"\n fill=\"#A6A6AD\"\n />\n </svg>\n )\n}\n\nexport default Info\n","import React, { useEffect, useRef, useState } from \"react\"\nimport styles from \"./styles.module.scss\"\nimport { Info } from \"../../utils/icons\"\nimport { Tooltip } from \"reactstrap\"\n\ninterface IProps {\n name?: string\n value: string\n onChange: (name: string, value: string) => void\n placeholder?: string\n error?: boolean\n label?: string\n isOptional?: boolean\n tooltip?: string\n noBorder?: boolean\n smallHeight?: boolean\n cols?: number\n rows?: number\n width?: number\n minHeight?: string\n className?: string\n onKeyDown?: (e: any) => void\n onKeyFocus?: (name: string, value: string) => void\n autoResize?: boolean\n onClick?: () => void\n onBlur?: () => void\n isDisabled?: boolean\n}\n\nconst CoreTextArea = (props: IProps) => {\n const {\n name = \"\",\n value,\n onChange,\n placeholder = \"Type here...\",\n error = false,\n label,\n isOptional = false,\n tooltip,\n noBorder = false,\n smallHeight = false,\n cols,\n rows,\n minHeight,\n className,\n onKeyDown,\n onKeyFocus,\n autoResize,\n width,\n onClick,\n onBlur,\n isDisabled,\n ...rest\n } = props\n const [isOpenTooltip, setIsOpenTooltip] = useState(false)\n\n const toggleTooltip = () => setIsOpenTooltip(!isOpenTooltip)\n const textareaRef = useRef<any>(null)\n\n useEffect(() => {\n if (autoResize && textareaRef.current) {\n const el = textareaRef.current;\n requestAnimationFrame(() => {\n el.style.height = \"auto\";\n el.style.height = el.scrollHeight + \"px\";\n });\n }\n }, [value, autoResize]);\n \n return (\n <div\n className={`${styles[\"editor\"]} ${error ? styles[\"error\"] : \"\"} ${noBorder ? styles[\"no-border\"] : \"\"} ${smallHeight ? styles[\"small-height\"] : \"\"}`}\n style={{\n width: width ?? \"100%\"\n }}\n >\n {label && (\n <span className={styles[\"label\"]}>\n <div className={styles[\"label-content\"]}>{label}</div>\n\n {isOptional && (\n <div className={styles[\"optional\"]}>(optional)</div>\n )}\n\n {tooltip && (\n <div id={name} className={styles[\"icon\"]}>\n <Info />\n\n <Tooltip\n target={name}\n isOpen={isOpenTooltip}\n toggle={toggleTooltip}\n >\n {tooltip}\n </Tooltip>\n </div>\n )}\n </span>\n )}\n\n <textarea\n ref={textareaRef}\n placeholder={placeholder}\n style={{\n whiteSpace: \"pre-wrap\",\n width: \"100%\",\n minHeight: minHeight ? minHeight : \"123px\",\n resize: \"none\",\n overflow: \"hidden\"\n }}\n value={value}\n cols={cols}\n rows={rows}\n onChange={e => onChange(name, e.target.value)}\n onKeyDown={e => onKeyDown?.(e)}\n onFocus={e => onKeyFocus?.(name, e.target.value)}\n className={className}\n onClick={onClick}\n onBlur={onBlur}\n disabled={isDisabled}\n {...rest}\n />\n </div>\n )\n}\n\nexport default CoreTextArea\n","import React from \"react\"\nimport styles from \"./styles.module.scss\"\nimport { Close, Search } from \"../../utils/icons\"\n\ninterface IProps {\n name?: string\n value: string\n onChange: (name: string, value: string) => void\n width?: number\n onPressEnter?: (value: string) => void\n placeholder?: string\n}\n\nconst CoreSearch = (props: IProps) => {\n const { name = \"\", value, onChange, width, onPressEnter, placeholder = \"Search...\" } = props\n\n const handleClear = () => {\n onChange(name, \"\")\n onPressEnter && onPressEnter(\"\")\n }\n\n return (\n <div\n className={styles[\"core-search\"]}\n style={{ width: width ?? \"100%\" }}\n tabIndex={1}\n >\n <div className={styles[\"icon\"]}>\n <Search />\n </div>\n\n <input\n className={styles[\"input\"]}\n value={value}\n onChange={e => onChange(name, e.target.value)}\n placeholder={placeholder}\n onKeyDown={e => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n onPressEnter && onPressEnter(value)\n }\n }}\n\n />\n\n {value.length ? (\n <div className={styles[\"clear\"]} onClick={handleClear}>\n <Close />\n </div>\n ) : null}\n </div>\n )\n}\n\nexport default CoreSearch\n","import React from \"react\"\nimport ReactSelect, {\n components,\n ControlProps,\n CSSObjectWithLabel,\n GroupBase,\n OptionProps\n} from \"react-select\"\nimport styles from \"./styles.module.scss\"\nimport { CoreCheckbox } from \"..\"\nimport { Info } from \"../../utils/icons\"\nimport { COLORS } from \"../../utils/constants\"\n\ninterface IOprion {\n label: string\n value: string\n}\n\ninterface IProps {\n name?: string\n options: IOprion[]\n value: string | null | string[]\n onChange: (name: string, value: string) => void\n disabled?: boolean\n label?: string\n width?: number\n placeholder?: string\n isMulti?: boolean\n isShowDropdown?: boolean\n error?: boolean,\n noOptionsMessage?: string,\n}\n\nconst Option = (props: any) => {\n return (\n <div>\n <components.Option {...props}>\n <CoreCheckbox\n checked={props.isSelected}\n onChange={() => null}\n name=\"\"\n label={props.label}\n />\n </components.Option>\n </div>\n )\n}\nconst CoreSelectCompact = (props: IProps) => {\n const {\n name = \"\",\n options,\n value,\n onChange,\n disabled = false,\n label,\n width,\n placeholder = \"Select\",\n isMulti = false,\n isShowDropdown = false,\n error = false,\n noOptionsMessage,\n } = props\n\n const handleChange = (value: any) => {\n const newValue = isMulti\n ? value?.map((item: any) => item.value)\n : value?.value\n onChange(name, newValue)\n }\n\n const controlStyle = (\n base: CSSObjectWithLabel,\n state: ControlProps<any, boolean, GroupBase<any>>\n ) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n fontSize: \"14px\",\n fontWeight: \"400\",\n padding: \"0\",\n backgroundColor: state.isDisabled\n ? \"transparent\"\n : error\n ? COLORS.lightYellow\n : COLORS.white,\n border: \"none\",\n height: isMulti ? undefined : \"26px\",\n minHeight: \"26px\",\n boxShadow: \"none\",\n cursor: \"pointer\",\n \"&:hover\": {\n backgroundColor: COLORS.lightBlueHover\n },\n \"&>div\": {\n padding: \"0 2px\"\n }\n }\n\n return styles\n }\n\n const inputStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n margin: \"0\",\n padding: \"0\",\n color: \"inherit\",\n position: \"relative\",\n top: \"-2px\"\n }\n return styles\n }\n\n const placeholderStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n color: COLORS.lightGray\n }\n return styles\n }\n\n const dropdownIndicatorStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n position: \"relative\",\n padding: \"2px 0\"\n }\n return styles\n }\n\n const indicatorsContainerStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n display: isShowDropdown && !isMulti ? \"block\" : \"none\"\n }\n return styles\n }\n\n const valueContainerStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n height: isMulti ? undefined : \"26px\",\n position: \"relative\"\n }\n return styles\n }\n\n const singleValueStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base\n }\n return styles\n }\n\n const optionStyles = (\n base: CSSObjectWithLabel,\n state: OptionProps<any, boolean, GroupBase<any>>\n ) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n padding: \"8px\",\n borderRadius: \"8px\",\n cursor: \"pointer\",\n fontSize: \"14px\",\n fontWeight: 400,\n color: COLORS.blackText,\n backgroundColor: state.isSelected\n ? COLORS.lightBlueHover\n : \"transparent\",\n \"&:hover\": {\n backgroundColor: COLORS.lightBlueHover\n }\n }\n return styles\n }\n\n const multiValueStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n backgroundColor: COLORS.lightBlue,\n borderRadius: \"4px\",\n padding: \"0 4px\",\n display: \"flex\",\n alignItems: \"center\",\n fontSize: \"13px\",\n color: COLORS.blackText\n }\n return styles\n }\n\n const multiValueRemoveStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n color: COLORS.lightGray,\n cursor: \"pointer\"\n }\n return styles\n }\n\n const multiValueLabelStyles = (base: CSSObjectWithLabel) => {\n const styles: CSSObjectWithLabel = {\n ...base,\n color: COLORS.blackText,\n fontWeight: \"400\",\n fontSize: \"13px\",\n padding: 0\n }\n return styles\n }\n\n return (\n <div\n className={`${styles[\"core-select-compact\"]}`}\n style={{ width: width ?? \"100%\" }}\n >\n {label && (\n <div className={styles[\"label\"]}>\n <label>{label}</label>\n <Info />\n </div>\n )}\n\n <ReactSelect\n name={name}\n value={options.filter(\n i =>\n value &&\n (isMulti ? value.includes(i.value) : i.value === value)\n )}\n onChange={handleChange}\n placeholder={placeholder}\n isDisabled={disabled}\n isMulti={isMulti}\n closeMenuOnSelect={!isMulti}\n hideSelectedOptions={false}\n options={options as any}\n noOptionsMessage={() => noOptionsMessage ? noOptionsMessage : \"No options\"}\n components={isMulti ? { Option } : undefined}\n styles={{\n control: controlStyle,\n input: inputStyles,\n placeholder: placeholderStyles,\n dropdownIndicator: dropdownIndicatorStyles,\n indicatorSeparator: () => ({\n display: \"none\"\n }),\n indicatorsContainer: indicatorsContainerStyles,\n valueContainer: valueContainerStyles,\n singleValue: singleValueStyles,\n option: optionStyles,\n multiValue: multiValueStyles,\n multiValueRemove: multiValueRemoveStyles,\n multiValueLabel: multiValueLabelStyles\n }}\n />\n </div>\n )\n}\n\nexport default CoreSelectCompact\n","import React, { useState } from \"react\"\n\nimport styles from \"./styles.module.scss\"\nimport { Info } from \"../../utils/icons\"\nimport { COLORS } from \"../../utils/constants\"\nimport { Tooltip } from \"reactstrap\"\n\ninterface IProps {\n name?: string\n value: string\n onChange: (name: string, value: string) => void\n disabled?: boolean\n label?: string\n width?: number\n placeholder?: string\n error?: boolean\n tooltip?: string\n onKeyDown?: (event: React.KeyboardEvent<HTMLInputElement>) => void\n [key: string]: any\n}\n\nconst CoreInputCompact = (props: IProps) => {\n const {\n name = \"\",\n value,\n onChange,\n disabled = false,\n label,\n width,\n placeholder = \"Type here\",\n error,\n tooltip,\n onKeyDown,\n ...rest\n } = props\n\n const [isOpenTooltip, setIsOpenTooltip] = useState(false)\n\n const toggleTooltip = () => setIsOpenTooltip(!isOpenTooltip)\n\n return (\n <div\n className={`${styles[\"core-input-compact\"]}`}\n style={{\n width: width ?? \"100%\"\n }}\n >\n {label && (\n <div className={styles[\"label\"]}>\n <label>{label}</label>\n {tooltip ? (\n <div id={name} className={styles[\"icon\"]}>\n <Info />\n </div>\n ) : null}\n </div>\n )}\n\n <input\n style={{\n backgroundColor: error ? COLORS.lightYellow : \"transparent\"\n }}\n name={name}\n value={value}\n onChange={e => onChange(name, e.target.value)}\n disabled={disabled}\n placeholder={placeholder}\n onKeyDown={e => {\n onKeyDown && onKeyDown(e)\n }}\n {...rest}\n />\n\n {tooltip && (\n <Tooltip\n target={name}\n isOpen={isOpenTooltip}\n toggle={toggleTooltip}\n >\n {tooltip}\n </Tooltip>\n )}\n </div>\n )\n}\n\nexport default CoreInputCompact\n","import React from \"react\"\n\nimport styles from \"./styles.module.scss\"\nimport { COLORS } from \"../../utils/constants\"\n\ninterface IProps {\n name?: string\n value: string\n onChange: (name: string, value: string) => void\n disabled?: boolean\n width?: number\n placeholder?: string\n error?: boolean\n size?: \"h1\" | \"h2\"\n maxLength?: number\n}\n\nconst CoreTitleInput = (props: IProps) => {\n const {\n name = \"\",\n value,\n onChange,\n disabled = false,\n width,\n placeholder = \"Type here\",\n error,\n size = \"h1\",\n maxLength\n } = props\n\n return (\n <div\n className={`${styles[\"core-label-input\"]}`}\n style={{\n width: width ?? \"100%\"\n }}\n >\n <input\n className={`${styles[`size-${size}`]}`}\n style={{\n backgroundColor: error ? COLORS.lightYellow : \"transparent\"\n }}\n name={name}\n value={value}\n onChange={e => onChange(name, e.target.value)}\n disabled={disabled}\n placeholder={placeholder}\n maxLength={maxLength}\n />\n </div>\n )\n}\n\nexport default CoreTitleInput\n","import React, { ReactNode, useRef, useState } from \"react\"\nimport { Tooltip } from \"reactstrap\"\nimport styles from \"./styles.module.scss\"\n\ninterface IProps {\n id?: string // optional\n content: string | ReactNode\n children: ReactNode\n placement?: \"left\" | \"top\" | \"bottom\" | \"right\"\n isDelay?: boolean\n timeDelay?: number\n innerClassName?: string\n}\n\nconst CoreTooltip = ({\n id,\n content,\n children,\n placement = \"top\",\n isDelay = false,\n timeDelay = 1500,\n innerClassName\n}: IProps) => {\n const generatedId = useRef(\n id || `tt-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 5)}`\n )\n const timeoutRef = useRef<NodeJS.Timeout | null>(null)\n const [isOpenTooltip, setIsOpenTooltip] = useState(false)\n\n const handleMouseEnter = () => {\n if (isDelay) {\n timeoutRef.current = setTimeout(() => {\n setIsOpenTooltip(true)\n }, timeDelay)\n } else {\n setIsOpenTooltip(true)\n }\n }\n\n const handleMouseLeave = () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n timeoutRef.current = null\n }\n setIsOpenTooltip(false)\n }\n\n return (\n <div\n id={generatedId.current}\n className={styles[\"core-tooltip\"]}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <div className={styles[\"icon\"]}>{children}</div>\n\n {content && typeof window !== \"undefined\" && (\n <Tooltip\n target={generatedId.current}\n isOpen={isOpenTooltip}\n placement={placement}\n innerClassName={innerClassName}\n >\n {content}\n </Tooltip>\n )}\n </div>\n )\n}\n\nexport default CoreTooltip\n","import Cookies from 'js-cookie';\nimport { REQUEST_ORIGIN, AUTH_COOKIE } from \"./../utils/constants\"\n\n// Define types for your cookie data\ntype AuthCookie = {\n token: string;\n expiresAt: number;\n};\n\n\nclass CookieService {\n // Auth cookie methods\n static setAuthCookie(data: AuthCookie): void {\n const rootDomain = this.getRootDomain(REQUEST_ORIGIN);\n Cookies.set(AUTH_COOKIE, data.token, {\n expires: new Date(data.expiresAt),\n secure: process.env.NODE_ENV === 'production',\n domain: '.' + rootDomain,\n sameSite: 'strict',\n path: '/',\n });\n }\n\n private static getRootDomain(host: string): string {\n const match = host.match(/([^.]+\\.[^.]+)$/);\n return match ? match[0] : host;\n }\n\n static getAuthCookie(): AuthCookie | null {\n const cookie = Cookies.get(AUTH_COOKIE);\n return cookie ? JSON.parse(cookie) : null;\n }\n\n static removeAuthCookie(): void {\n Cookies.remove(AUTH_COOKIE, { path: '/' });\n }\n\n // Generic methods with type parameter\n static get<T>(key: string): T | null {\n const cookie = Cookies.get(key);\n return cookie ? JSON.parse(cookie) : null;\n }\n\n static set<T>(key: string, value: T, options?: Cookies.CookieAttributes): void {\n Cookies.set(key, JSON.stringify(value), options);\n }\n}\n\nexport default CookieService;\n","export enum AmplitudeEvent {\n LOGIN = \"login\",\n LOGOUT = \"logout\",\n SIGN_UP = \"sign_up\",\n PAGE_VIEW = \"page_view\",\n BUTTON_CLICK = \"button_click\",\n SESSION_START = \"session_start\",\n SESSION_END = \"session_end\",\n TAB_FOCUS = \"tab_focus\",\n TAB_BLUR = \"tab_blur\",\n USER_PROFILE_UPDATE = \"user_profile_update\",\n USER_USAGE = \"user_usage\",\n}","export default (params: any) => {\n return Object.keys(params)\n .filter(key => params[key] || params[key] === 0 || params[key] === false)\n .map(key => {\n if (Array.isArray(params[key])) {\n return params[key].map((i: any) => `${encodeURIComponent(key)}=${encodeURIComponent(i)}`).join('&')\n }\n return `${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`\n }).join('&')\n}","import { ACCESS_TOKEN } from \"./constants\"\n\nexport default () => {\n try {\n return localStorage.getItem(ACCESS_TOKEN);\n } catch (err) {\n return null;\n }\n}","import axios, { AxiosInstance } from \"axios\"\nimport encodeParams from \"../utils/encodeParams\"\nimport { ACCESS_TOKEN, BASE_URL, ORGANIZATION_TEAM, ORGANIZATION_TENANT } from \"../utils/constants\"\nimport getAccessToken from \"../utils/getAccessToken\"\nimport moment from \"moment\"\nimport Cookies from \"js-cookie\"\n\n\nexport const api: AxiosInstance = axios.create({\n baseURL: BASE_URL,\n timeout: 0,\n headers: {\n \"Content-Type\": \"application/json\"\n },\n paramsSerializer: params => {\n return encodeParams(params)\n }\n})\n\nexport const apiUpload: AxiosInstance = axios.create({\n baseURL: BASE_URL,\n timeout: 10 * 60 * 1000,\n headers: {\n \"Content-Type\": \"multipart/form-data\"\n }\n})\n;[api, apiUpload].forEach(i =>\n i.interceptors.request.use(\n (config: any) => {\n const token = getAccessToken()\n if (token) {\n config.headers.Authorization = `Bearer ${token}`\n localStorage.setItem(\"LAST_TIME_REQUETST\", moment().utc().format(\"YYYY-MM-DD HH:mm:ss\"))\n }\n const imPersonate = localStorage.getItem(\"IMPERSONATE\") == \"1\" \n if (imPersonate) {\n config.headers.ImPersonate = imPersonate\n }\n \n return config\n },\n (error: any) => Promise.reject(error)\n )\n)\n;[api, apiUpload].forEach(i =>\n i.interceptors.response.use(\n response => {\n return response\n },\n error => {\n if (error.response.status === 401) {\n window.location.href = \"/login\"\n }\n if (error.response.status == 403) {\n const hostname = window.location.hostname;\n const parts = hostname.split('.');\n const domain = parts.slice(-2).join('.');\n \n localStorage.removeItem(ACCESS_TOKEN)\n localStorage.removeItem(ORGANIZATION_TENANT);\n localStorage.removeItem(ORGANIZATION_TEAM);\n \n Cookies.remove('auth', { path: '/', domain: `.${domain}` });\n localStorage.removeItem(\"USER_EMAIL\")\n window.location.href = \"/login\"\n }\n return Promise.reject(error)\n }\n )\n)\n","import { api } from \"../../../services/api\"\nimport { BASE_URL } from \"../../../utils/constants\"\n\nconst ACCOUNT_URL = `${BASE_URL}/api/account`\n\nexport const getGoogleClientId = () =>\n api.get(`${ACCOUNT_URL}/send-google`)\n\nexport const apiLoginGoogle = (body: any) => api.post(`${BASE_URL}/api/Auth/login`, body)\n\nexport const apiSendEmailCode = (body: any) => api.post(`${BASE_URL}/api/Auth/send-code-email`, body)\n\nexport const apiCheckEmailCode = (params: any) => api.get(`${BASE_URL}/api/Auth/check-code-email`, { params })\n\nexport const apiGetImage = () => {\n return api.get(`${BASE_URL}/api/Setting/get-image-settings`);\n}","export const itemLogin = [\n 'Seamless lesson planning',\n 'Flexibility and customization',\n 'Data protection and security',\n 'Standards alignment',\n 'AI smart assist'\n \n]\n\nexport enum TypeLogin {\n Google,\n Email,\n Impersonate,\n Microsoft\n}","import { useGoogleLogin } from \"@react-oauth/google\"\nimport axios from \"axios\"\nimport React, { FC, useEffect, useState } from \"react\"\nimport { useDispatch } from \"react-redux\"\nimport { Link } from \"react-router-dom\"\nimport { Col, Modal, ModalBody, ModalFooter, ModalHeader, Row } from \"reactstrap\"\nimport { CoreButton, CoreInput } from \"../../../../components\"\nimport { setLoading } from \"../../../../redux/commons/action\"\nimport CookieService from \"../../../../services/cookieService\"\nimport styles from \"../../../../style/styles.module.scss\"\nimport { ACCESS_TOKEN, ADMIN_ORIGIN, BASE_URL,\n // MICROSOFT_CLIENT_ID, MICROSOFT_URL_DIRECT,\n REQUEST_ORIGIN, TEACHER_ORIGIN } from \"../../../../utils/constants\"\nimport { AmplitudeEvent } from \"../../../../utils/types/amplitude\"\nimport { apiGetImage, apiLoginGoogle } from \"../../apiClient/index\"\nimport { itemLogin, TypeLogin } from \"../../configs/default\"\n// import { PublicClientApplication } from \"@azure/msal-browser\"\n// import { msalConfig } from \"../../configs/constants\"\n\nconst BlockLogin: FC<any> = ({\n onNavigate,\n role,\n hiddenSignup,\n email,\n setEmail,\n loginWithEmail,\n code,\n setCode,\n isScreenCode,\n setIsScreenCode,\n formatTime,\n loginWithEmailCode,\n trackEvent\n}) => {\n const dispatch = useDispatch();\n const [otpCode, setOtpCode] = useState(\"\");\n const [resendCooldown, setResendCooldown] = useState(0);\n const [resendTimer, setResendTimer] = useState<NodeJS.Timeout | null>(null);\n const [images, setImages] = useState<any>([]);\n const [currentImageIndex, setCurrentImageIndex] = useState(0);\n\n const handleGetImage = async () => {\n try {\n const res = await apiGetImage();\n if (res && res.data.imageLogin) {\n setImages(res.data.imageLogin || []);\n }\n } catch (error) {\n console.error(\"Failed to fetch images:\", error);\n }\n }\n\n useEffect(() => {\n if (role === \"Teacher\" || role === \"LandingPage\") {\n handleGetImage();\n }\n }, [])\n\n const googleLogin = useGoogleLogin({\n onSuccess: async (tokenResponse) => {\n const userInfo = await axios.get(\n \"https://www.googleapis.com/oauth2/v3/userinfo\",\n { headers: { Authorization: `Bearer ${tokenResponse.access_token}` } }\n );\n\n if (userInfo && userInfo.data) {\n let {\n email,\n picture,\n family_name, // firstName\n given_name,\n name, // fullName\n sub //googleId\n } = userInfo.data\n let accessToken = tokenResponse.access_token\n\n const infoLogin = {\n imageUrl: picture,\n fullName: name,\n firstName: family_name,\n lastName: given_name,\n email: email,\n token: accessToken,\n googleId: sub,\n role: role,\n type: TypeLogin.Google\n }\n dispatch(setLoading(true))\n const authResult = await apiLoginGoogle(infoLogin)\n if (authResult.data?.id == null) {\n dispatch(setLoading(false))\n alert(\"Please contact admin.\");\n return;\n }\n\n // clear all localstorge\n localStorage.clear();\n const tokenJWT = authResult.data.token\n\n trackEvent?.({\n eventName: AmplitudeEvent.LOGIN,\n eventProperties: {\n email: email,\n login_method: 'google',\n user_role: authResult.data.role,\n success: true,\n timestamp: new Date().toISOString()\n }\n });\n\n if (role === \"LandingPage\") {\n CookieService.setAuthCookie({\n token: tokenJWT,\n expiresAt: Date.now() + 24 * 60 * 60 * 1000 // 24 hour\n });\n\n const getRedirectUrl = (role: string) => {\n switch (role) {\n case \"Admin\":\n return ADMIN_ORIGIN;\n case \"Teacher\":\n return TEACHER_ORIGIN;\n default:\n return `${role}.${REQUEST_ORIGIN}`;\n }\n };\n\n const redirectUrl = getRedirectUrl(authResult.data.role);\n // Redirect to the appropriate subdomain\n window.location.href = `${redirectUrl}/dashboard`;\n dispatch(setLoading(false));\n }\n localStorage.setItem(ACCESS_TOKEN, tokenJWT)\n onNavigate(\"/dashboard\")\n dispatch(setLoading(false))\n }\n },\n onError: (errorResponse) => console.log(errorResponse),\n });\n\n // const fnLoginMicrosoft = async () => {\n // const msalInstance = new PublicClientApplication(msalConfig(MICROSOFT_CLIENT_ID, MICROSOFT_URL_DIRECT));\n // if (!msalInstance) {\n // console.error(\"MSAL instance not initialized\");\n // return;\n // }\n\n // try {\n // await msalInstance.initialize();\n // // Trigger Microsoft login popup\n // const loginRequest = {\n // scopes: [\"openid\", \"profile\", \"email\"],\n // };\n\n // const silentRequest = {\n // ...loginRequest,\n // prompt: \"select_account\" // Silent authentication\n // };\n\n // const response = await msalInstance.loginPopup(silentRequest);\n\n // if (response && response.account) {\n // const account = response.account;\n\n // // Process the logged in user account\n // let fullName = account?.name || \"\";\n // let infoLogin = {\n // firstName: fullName.split(' ').slice(0, -1).join(' '),\n // lastName: fullName.split(' ').slice(-1).join(' '),\n // fullName: fullName,\n // imageUrl: \"\",\n // email: account?.username || \"\",\n // token: response?.accessToken || \"\",\n // googleId: account?.homeAccountId || \"\",\n // role: role,\n // type: TypeLogin.Microsoft\n // };\n\n // dispatch(setLoading(true))\n // const authResult = await apiLoginGoogle(infoLogin)\n // if (authResult.data?.id == null) {\n // dispatch(setLoading(false))\n // alert(\"Please contact admin.\");\n // return;\n // }\n\n // // clear all localstorge\n // localStorage.clear();\n // const tokenJWT = authResult.data.token\n\n // trackEvent?.({\n // eventName: AmplitudeEvent.LOGIN,\n // eventProperties: {\n // email: email,\n // login_method: 'google',\n // user_role: authResult.data.role,\n // success: true,\n // timestamp: new Date().toISOString()\n // }\n // });\n\n // if (role === \"LandingPage\") {\n // CookieService.setAuthCookie({\n // token: tokenJWT,\n // expiresAt: Date.now() + 24 * 60 * 60 * 1000 // 24 hour\n // });\n\n // const getRedirectUrl = (role: string) => {\n // switch (role) {\n // case \"Admin\":\n // return ADMIN_ORIGIN;\n // case \"Teacher\":\n // return TEACHER_ORIGIN;\n // default:\n // return `${role}.${REQUEST_ORIGIN}`;\n // }\n // };\n\n // const redirectUrl = getRedirectUrl(authResult.data.role);\n // // Redirect to the appropriate subdomain\n // window.location.href = `${redirectUrl}/dashboard`;\n // dispatch(setLoading(false));\n // }\n // localStorage.setItem(ACCESS_TOKEN, tokenJWT)\n // onNavigate(\"/dashboard\")\n // dispatch(setLoading(false))\n // }\n\n // } catch (error) {\n // console.error(\"Microsoft login error:\", error);\n // }\n // }\n\n React.useEffect(() => {\n return () => {\n if (resendTimer) {\n clearInterval(resendTimer);\n }\n };\n }, [resendTimer]);\n\n const handleEmailLogin = () => {\n if (!email.trim()) {\n alert(\"Please enter your email\");\n return;\n }\n loginWithEmail(role);\n };\n\n const startResendCooldown = () => {\n setResendCooldown(300); // 5 minutes = 300 seconds\n\n if (resendTimer) {\n clearInterval(resendTimer);\n }\n\n const timer = setInterval(() => {\n setResendCooldown(prev => {\n if (prev <= 1) {\n clearInterval(timer);\n return 0;\n }\n return prev - 1;\n });\n }, 1000);\n\n setResendTimer(timer);\n };\n\n const handleResend = () => {\n if (resendCooldown > 0) {\n return;\n }\n\n if (!email.trim()) {\n alert(\"Please enter your email\");\n return;\n }\n\n loginWithEmail(role);\n startResendCooldown();\n };\n\n const formatResendTime = (seconds: number) => {\n const mins = Math.floor(seconds / 60);\n const secs = seconds % 60;\n return `${mins}:${secs.toString().padStart(2, '0')}`;\n };\n\n // Cleanup timer on unmount\n React.useEffect(() => {\n return () => {\n if (resendTimer) {\n clearInterval(resendTimer);\n }\n };\n }, [resendTimer]);\n\n useEffect(() => {\n if (images.length <= 1) return;\n\n const interval = setInterval(() => {\n setCurrentImageIndex(current => (current + 1) % images.length);\n }, 5000); // Change image every 5 seconds\n\n return () => clearInterval(interval);\n }, [images.length]);\n\n return (\n <React.Fragment>\n <Row style={{ height: \"100%\" }}>\n <Col sm={12} lg={role != \"Admin\" ? 7 : 12}>\n <div className={`${styles[\"box-signin-container\"]}`}>\n <div className={`${styles[\"box-signin-logo\"]} `}>\n <Link to=\"/\" className=\"d-flex\">\n <img\n src={\"/images/Logo.png\"}\n alt=\"\"\n height={37}\n width={155}\n className=\"my-auto\"\n />\n </Link>\n </div>\n <div className={`${styles[\"box-signin\"]} `}>\n <div className={`${styles[\"signin_title\"]}`}>\n <span>Welcome to Edusfere</span>\n </div>\n {\n !hiddenSignup && (\n <div className={`${styles[\"signup_link\"]}`}>\n <span>\n Don't have an account?{\" \"}\n <Link\n to=\"/\"\n style={{ color: \"#00A0DA\" }}\n className=\"text-decoration-none\"\n >\n Sign up\n </Link>\n </span>\n </div>\n )\n }\n\n <div className={`${styles[\"google_button\"]}`}>\n <button\n onClick={() => googleLogin()}\n >\n <img\n width={24}\n height={24}\n alt=\"Google sign-in\"\n src={\n \"/images/icons/Google__G__logo.png\"\n }\n />\n Sign in with Google\n </button>\n </div>\n\n {/* <div className={`${styles[\"microsoft_button\"]}`}>\n <button\n onClick={() => fnLoginMicrosoft()}\n >\n <img\n width={24}\n height={24}\n alt=\"Google sign-in\"\n src={\n \"/images/Single-Sign-On-logo.png\"\n }\n />\n Sign in with Microsoft\n </button>\n </div> */}\n <span className={`${styles[\"box-field\"]}`}>OR</span>\n\n <div className={`${styles[\"box-input\"]}`}>\n <input\n type=\"email\"\n placeholder=\"Email\"\n value={email}\n onChange={(event: any) => {\n setEmail(event.target.value.trim());\n }}\n />\n </div>\n <button\n onClick={handleEmailLogin}\n className={`${styles[\"box-button-email\"]}`}\n disabled={!email.trim()}\n >\n <img\n width={20}\n height={20}\n alt=\"Email sign-in\"\n src={\"/images/icons/Login_icon.png\"}\n />\n Sign in with Email\n </button>\n </div>\n <div className={`${styles[\"box-signin-text\"]} `}>\n <span style={{ fontSize: \"13px\", color: \"#A6A6AD\" }}>\n By signing in, you agree to our <a href={`/terms`} target=\"_blank\" rel=\"noopener noreferrer\">Terms</a> & <a href={`/privacy`} target=\"_blank\" rel=\"noopener noreferrer\">Privacy Policy</a>\n </span>\n </div>\n </div>\n </Col>\n {\n role != \"Admin\" && role != 'LandingPage' && (\n <Col sm={12} lg={5} className={`d-none d-lg-block ${styles[\"pr-30\"]}`}>\n {images.length > 0 ? (\n <div className={`${styles[\"box-right\"]}`}>\n <div className={styles[\"image-slideshow\"]}>\n {images.map((image: any, index: number) => (\n <img\n key={image.fileId}\n src={image.fileId && `${BASE_URL}/api/Asset/proxy-image?fileId=${image.fileId}`}\n alt={image.name}\n className={index === currentImageIndex ? styles.active : ''}\n />\n ))}\n </div>\n </div>\n ) : (\n <div\n className={`${styles[\"box-right\"]}`}\n style={{ backgroundImage: `url('/images/bg_login.png')` }}\n >\n <div className={`${styles[\"box-right-body\"]}`}>\n <span style={{ fontSize: \"24px\", fontWeight: \"700\" }}>\n As a teacher, your time and energy are too valuable\n to waste\n </span>\n <p\n className=\" fw-normal \"\n style={{\n marginTop: \"12px\",\n marginBottom: \"24px\",\n color: \"#03191F\"\n }}\n >\n So we’re building a curriculum hub and and workspace\n that puts everything you need to plan and prep\n within reach.\n </p>\n <ul>\n {itemLogin.map((item, it) => (\n <li\n key={it}\n className=\"mb-2 \"\n style={{ color: \"#212126\" }}\n >\n {item}\n </li>\n ))}\n </ul>\n <div className={`${styles[\"box-right-footer\"]}`}>\n <img\n className=\"img-fluid\"\n alt=\"\"\n src={\"/images/image_login.png\"}\n style={{ width: \"15vw\" }}\n />\n <div>\n <p>\n As one of our earliest users,\n <br />\n you are a vital part of this process\n </p>\n <div>\n <span className=\"d-block\">Thank you!</span>\n <img\n style={{ marginTop: \"-15px\" }}\n alt=\"\"\n src={\"/images/icons/Vector 22.png\"}\n />\n </div>\n </div>\n </div>\n </div>\n </div>\n )}\n </Col>\n )}\n {\n role === \"LandingPage\" && (\n <Col sm={12} lg={5} className={`d-none d-lg-block ${styles[\"pr-30\"]}`}>\n <div\n className={`${styles[\"box-right\"]}`}\n style={{ backgroundImage: `url('/images/bg_login.png')` }}\n >\n <div className={`${styles[\"box-right-body\"]}`}>\n <span style={{ fontSize: \"24px\", fontWeight: \"700\" }}>\n Get ready to manage your realm!\n </span>\n <p\n className=\" fw-normal \"\n style={{\n marginTop: \"12px\",\n marginBottom: \"24px\",\n color: \"#03191F\"\n }}\n >\n So we’re building a curriculum hub and and workspace\n that puts everything you need to plan and prep\n within reach.\n </p>\n <ul>\n {itemLogin.map((item, it) => (\n <li\n key={it}\n className=\"mb-2 \"\n style={{ color: \"#212126\" }}\n >\n {item}\n </li>\n ))}\n </ul>\n <div className={`${styles[\"box-right-footer\"]}`}>\n <img\n className=\"img-fluid\"\n alt=\"\"\n src={\"/images/image_login.png\"}\n style={{ width: \"15vw\" }}\n />\n <div>\n <p>\n As one of our earliest users,\n <br />\n you are a vital part of this process\n </p>\n <div>\n <span className=\"d-block\">Thank you!</span>\n <img\n style={{ marginTop: \"-15px\" }}\n alt=\"\"\n src={\"/images/icons/Vector 22.png\"}\n />\n </div>\n </div>\n </div>\n </div>\n </div>\n </Col>\n )\n }\n\n </Row>\n\n <Modal\n isOpen={isScreenCode}\n toggle={() => {\n setIsScreenCode(false);\n setResendCooldown(0);\n if (resendTimer) {\n clearInterval(resendTimer);\n }\n }}\n centered\n >\n <ModalHeader\n toggle={() => {\n setIsScreenCode(false);\n setResendCooldown(0);\n if (resendTimer) {\n clearInterval(resendTimer);\n }\n }}\n >\n Enter OTP Code\n </ModalHeader>\n\n <ModalBody style={{ padding: \"24px\" }}>\n <div className=\"mx-auto\" style={{ maxWidth: 400, width: 400 }}>\n <p className=\"text-sm text-muted mb-2\">\n A one-time verification code has just been sent to your registered email.\n Please enter it below.\n </p>\n\n <div className={`${styles[\"box-input\"]}`}>\n <CoreInput\n name=\"otpCode\"\n value={code}\n onChange={(_, value: any) => {\n setCode(value.trim());\n setOtpCode(value.trim());\n }}\n placeholder=\"Code OTP\"\n onKeyDown={(event: any) => {\n if (event.key === 'Enter') {\n event.preventDefault(); // Prevent form submission\n }\n }}\n />\n <p className=\"mt-1 text-muted\">\n Your code will expire: <span className=\"text-danger\">{formatTime()}</span>\n </p>\n </div>\n\n <p className=\"mt-3 text-muted mb-0\">\n Didn't receive the code?{\" \"}\n {resendCooldown > 0 ? (\n <span className=\"text-muted\">\n Resend available in {formatResendTime(resendCooldown)}\n </span>\n ) : (\n <span\n className=\"text-primary cursor-pointer\"\n style={{ cursor: \"pointer\" }}\n onClick={handleResend}\n >\n Click here to resend\n </span>\n )}\n {\" \"}or check your spam inbox.\n </p>\n </div>\n </ModalBody>\n\n <ModalFooter>\n <CoreButton\n onClick={() => {\n setIsScreenCode(false);\n setResendCooldown(0);\n if (resendTimer) {\n clearInterval(resendTimer);\n }\n }}\n type=\"text\"\n >\n Cancel\n </CoreButton>\n <CoreButton\n type=\"primary\"\n htmlType=\"button\"\n onClick={async (event: any) => {\n event.preventDefault();\n event.stopPropagation();\n\n if (!otpCode.trim()) {\n alert(\"Please enter the OTP code\");\n return;\n }\n const success = await loginWithEmailCode(role);\n if (success) {\n setIsScreenCode(false);\n setResendCooldown(0);\n if (resendTimer) {\n clearInterval(resendTimer);\n }\n }\n }}\n >\n Login\n </CoreButton>\n </ModalFooter>\n </Modal>\n </React.Fragment>\n )\n}\n\n\nexport default BlockLogin\n","import { useCallback, useEffect, useState } from \"react\"\nimport { useDispatch } from \"react-redux\"\nimport { toast } from \"react-toastify\"\nimport { setLoading } from \"../../../redux/commons/action\"\nimport { ACCESS_TOKEN } from \"../../../utils/constants\"\nimport { AmplitudeEvent } from \"../../../utils/types/amplitude\"\nimport { apiCheckEmailCode, apiSendEmailCode } from \"../apiClient\"\n\ntype LoginInfo = {\n email: string\n password: string\n captcha: string\n rememberMe: boolean\n}\n\nconst defaultInfo: LoginInfo = {\n email: \"\",\n password: \"\",\n captcha: \"\",\n rememberMe: false\n}\n\nconst minutes = 15;\n\nconst useLogin = (onNavigate: any, trackEvent?: (props: any) => void) => {\n\n const [openLogin, setOpenLogin] = useState<boolean>(false)\n const [infoUser, setInfoUser] = useState<any>();\n const dispatch = useDispatch();\n\n const toggle = useCallback(() => {\n setOpenLogin(!openLogin)\n }, [openLogin])\n const [email, setEmail] = useState<string>(\"\")\n const [code, setCode] = useState<string>(\"\");\n const [isScreenCode, setIsScreenCode] = useState<boolean>(false)\n const [timeLeft, setTimeLeft] = useState(minutes * 60);\n\n const loginWithEmail = async (role: string) => {\n dispatch(setLoading(true))\n try {\n const body = {\n email: email,\n role: role\n }\n const res = await apiSendEmailCode(body)\n const data = res.data;\n if (data.success) {\n // send code.\n setTimeLeft(minutes * 60);\n setIsScreenCode(true)\n } else {\n dispatch(setLoading(false))\n alert(\"Please contact admin.\");\n }\n } catch (e) {\n toast.error(\"An error occurred while sending the code. Please try again later.\");\n console.log(e);\n }\n dispatch(setLoading(false))\n }\n\n const loginWithEmailCode = async (role: string) => {\n dispatch(setLoading(true))\n try {\n const res = await apiCheckEmailCode({\n email,\n code,\n role\n })\n const data = res.data;\n if (data.success) {\n // clear all localstorge\n localStorage.clear();\n // login\n const tokenJWT = data.data.token\n localStorage.setItem(ACCESS_TOKEN, tokenJWT)\n trackEvent?.({\n eventName: AmplitudeEvent.LOGIN,\n eventProperties: {\n email: email,\n login_method: 'email',\n timestamp: new Date().toISOString()\n }\n });\n onNavigate(\"/dashboard\")\n } else {\n toast.error(\"The code is not correct. Please check again.\");\n }\n } catch (e) {\n toast.error(\"An error occurred while verifying the code. Please try again.\");\n }\n dispatch(setLoading(false))\n }\n\n const formatTime = () => {\n const m = Math.floor(timeLeft / 60);\n const s = timeLeft % 60;\n return `${m.toString().padStart(2, '0')}:${s.toString().padStart(2, '0')}`;\n };\n\n useEffect(() => {\n if (isScreenCode) {\n const timer = setInterval(() => {\n setTimeLeft(prev => {\n if (prev <= 1) {\n clearInterval(timer);\n return 0;\n }\n return prev - 1;\n });\n }, 1000);\n return () => clearInterval(timer); // cleanup on unmount\n }\n return;\n }, [isScreenCode]);\n\n return {\n defaultInfo,\n openLogin,\n toggle,\n email,\n setEmail,\n loginWithEmail,\n infoUser,\n setInfoUser,\n code,\n setCode,\n isScreenCode,\n setIsScreenCode,\n formatTime,\n loginWithEmailCode,\n }\n}\n\nexport default useLogin\n","import React from \"react\"\nimport styles from \"../../../style/styles.module.scss\"\n// import BlockLogin from \"./block/BlockLogin\"\n// import useLogin from \"../hooks/useLogin\"\n\n// import { INavigateProps } from \"../../../utils/types\"\n\nimport BlockLogin from \"./block/BlockLogin\"\nimport useLogin from \"../hooks/useLogin\"\nimport { INavigateProps } from \"../../../utils/types\"\n\nconst Login = (props: INavigateProps) => {\n const { onNavigate, role, hiddenSignup, trackEvent } = props\n const {\n defaultInfo,\n email,\n setEmail,\n loginWithEmail,\n code,\n setCode,\n isScreenCode,\n setIsScreenCode,\n formatTime,\n loginWithEmailCode,\n } = useLogin(onNavigate, trackEvent)\n return (\n <div className={`${styles[\"signup_wrap\"]} container-fluid font-family-lato`}>\n <BlockLogin\n defaultInfo={defaultInfo}\n email={email}\n hiddenSignup={hiddenSignup}\n setEmail={setEmail}\n loginWithEmail={loginWithEmail}\n code={code}\n setCode={setCode}\n formatTime={formatTime}\n isScreenCode={isScreenCode}\n setIsScreenCode={setIsScreenCode}\n onNavigate={onNavigate}\n loginWithEmailCode={loginWithEmailCode}\n role={role}\n trackEvent={trackEvent}\n />\n </div>\n )\n}\n\nexport default Login\n","// src/utils/formatProdErrorMessage.ts\nfunction formatProdErrorMessage(code) {\n return `Minified Redux error #${code}; visit https://redux.js.org/Errors?code=${code} for the full message or use the non-minified dev environment for full errors. `;\n}\n\n// src/utils/symbol-observable.ts\nvar $$observable = /* @__PURE__ */ (() => typeof Symbol === \"function\" && Symbol.observable || \"@@observable\")();\nvar symbol_observable_default = $$observable;\n\n// src/utils/actionTypes.ts\nvar randomString = () => Math.random().toString(36).substring(7).split(\"\").join(\".\");\nvar ActionTypes = {\n INIT: `@@redux/INIT${/* @__PURE__ */ randomString()}`,\n REPLACE: `@@redux/REPLACE${/* @__PURE__ */ randomString()}`,\n PROBE_UNKNOWN_ACTION: () => `@@redux/PROBE_UNKNOWN_ACTION${randomString()}`\n};\nvar actionTypes_default = ActionTypes;\n\n// src/utils/isPlainObject.ts\nfunction isPlainObject(obj) {\n if (typeof obj !== \"object\" || obj === null)\n return false;\n let proto = obj;\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n return Object.getPrototypeOf(obj) === proto || Object.getPrototypeOf(obj) === null;\n}\n\n// src/utils/kindOf.ts\nfunction miniKindOf(val) {\n if (val === void 0)\n return \"undefined\";\n if (val === null)\n return \"null\";\n const type = typeof val;\n switch (type) {\n case \"boolean\":\n case \"string\":\n case \"number\":\n case \"symbol\":\n case \"function\": {\n return type;\n }\n }\n if (Array.isArray(val))\n return \"array\";\n if (isDate(val))\n return \"date\";\n if (isError(val))\n return \"error\";\n const constructorName = ctorName(val);\n switch (constructorName) {\n case \"Symbol\":\n case \"Promise\":\n case \"WeakMap\":\n case \"WeakSet\":\n case \"Map\":\n case \"Set\":\n return constructorName;\n }\n return Object.prototype.toString.call(val).slice(8, -1).toLowerCase().replace(/\\s/g, \"\");\n}\nfunction ctorName(val) {\n return typeof val.constructor === \"function\" ? val.constructor.name : null;\n}\nfunction isError(val) {\n return val instanceof Error || typeof val.message === \"string\" && val.constructor && typeof val.constructor.stackTraceLimit === \"number\";\n}\nfunction isDate(val) {\n if (val instanceof Date)\n return true;\n return typeof val.toDateString === \"function\" && typeof val.getDate === \"function\" && typeof val.setDate === \"function\";\n}\nfunction kindOf(val) {\n let typeOfVal = typeof val;\n if (process.env.NODE_ENV !== \"production\") {\n typeOfVal = miniKindOf(val);\n }\n return typeOfVal;\n}\n\n// src/createStore.ts\nfunction createStore(reducer, preloadedState, enhancer) {\n if (typeof reducer !== \"function\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(2) : `Expected the root reducer to be a function. Instead, received: '${kindOf(reducer)}'`);\n }\n if (typeof preloadedState === \"function\" && typeof enhancer === \"function\" || typeof enhancer === \"function\" && typeof arguments[3] === \"function\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(0) : \"It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.\");\n }\n if (typeof preloadedState === \"function\" && typeof enhancer === \"undefined\") {\n enhancer = preloadedState;\n preloadedState = void 0;\n }\n if (typeof enhancer !== \"undefined\") {\n if (typeof enhancer !== \"function\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(1) : `Expected the enhancer to be a function. Instead, received: '${kindOf(enhancer)}'`);\n }\n return enhancer(createStore)(reducer, preloadedState);\n }\n let currentReducer = reducer;\n let currentState = preloadedState;\n let currentListeners = /* @__PURE__ */ new Map();\n let nextListeners = currentListeners;\n let listenerIdCounter = 0;\n let isDispatching = false;\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = /* @__PURE__ */ new Map();\n currentListeners.forEach((listener, key) => {\n nextListeners.set(key, listener);\n });\n }\n }\n function getState() {\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(3) : \"You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.\");\n }\n return currentState;\n }\n function subscribe(listener) {\n if (typeof listener !== \"function\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(4) : `Expected the listener to be a function. Instead, received: '${kindOf(listener)}'`);\n }\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(5) : \"You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api/store#subscribelistener for more details.\");\n }\n let isSubscribed = true;\n ensureCanMutateNextListeners();\n const listenerId = listenerIdCounter++;\n nextListeners.set(listenerId, listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(6) : \"You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api/store#subscribelistener for more details.\");\n }\n isSubscribed = false;\n ensureCanMutateNextListeners();\n nextListeners.delete(listenerId);\n currentListeners = null;\n };\n }\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(7) : `Actions must be plain objects. Instead, the actual type was: '${kindOf(action)}'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.`);\n }\n if (typeof action.type === \"undefined\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n }\n if (typeof action.type !== \"string\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(17) : `Action \"type\" property must be a string. Instead, the actual type was: '${kindOf(action.type)}'. Value was: '${action.type}' (stringified)`);\n }\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : \"Reducers may not dispatch actions.\");\n }\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n const listeners = currentListeners = nextListeners;\n listeners.forEach((listener) => {\n listener();\n });\n return action;\n }\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== \"function\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(10) : `Expected the nextReducer to be a function. Instead, received: '${kindOf(nextReducer)}`);\n }\n currentReducer = nextReducer;\n dispatch({\n type: actionTypes_default.REPLACE\n });\n }\n function observable() {\n const outerSubscribe = subscribe;\n return {\n /**\n * The minimal observable subscription method.\n * @param observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe(observer) {\n if (typeof observer !== \"object\" || observer === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(11) : `Expected the observer to be an object. Instead, received: '${kindOf(observer)}'`);\n }\n function observeState() {\n const observerAsObserver = observer;\n if (observerAsObserver.next) {\n observerAsObserver.next(getState());\n }\n }\n observeState();\n const unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe\n };\n },\n [symbol_observable_default]() {\n return this;\n }\n };\n }\n dispatch({\n type: actionTypes_default.INIT\n });\n const store = {\n dispatch,\n subscribe,\n getState,\n replaceReducer,\n [symbol_observable_default]: observable\n };\n return store;\n}\nfunction legacy_createStore(reducer, preloadedState, enhancer) {\n return createStore(reducer, preloadedState, enhancer);\n}\n\n// src/utils/warning.ts\nfunction warning(message) {\n if (typeof console !== \"undefined\" && typeof console.error === \"function\") {\n console.error(message);\n }\n try {\n throw new Error(message);\n } catch (e) {\n }\n}\n\n// src/combineReducers.ts\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n const reducerKeys = Object.keys(reducers);\n const argumentName = action && action.type === actionTypes_default.INIT ? \"preloadedState argument passed to createStore\" : \"previous state received by the reducer\";\n if (reducerKeys.length === 0) {\n return \"Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.\";\n }\n if (!isPlainObject(inputState)) {\n return `The ${argumentName} has unexpected type of \"${kindOf(inputState)}\". Expected argument to be an object with the following keys: \"${reducerKeys.join('\", \"')}\"`;\n }\n const unexpectedKeys = Object.keys(inputState).filter((key) => !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key]);\n unexpectedKeys.forEach((key) => {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === actionTypes_default.REPLACE)\n return;\n if (unexpectedKeys.length > 0) {\n return `Unexpected ${unexpectedKeys.length > 1 ? \"keys\" : \"key\"} \"${unexpectedKeys.join('\", \"')}\" found in ${argumentName}. Expected to find one of the known reducer keys instead: \"${reducerKeys.join('\", \"')}\". Unexpected keys will be ignored.`;\n }\n}\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach((key) => {\n const reducer = reducers[key];\n const initialState = reducer(void 0, {\n type: actionTypes_default.INIT\n });\n if (typeof initialState === \"undefined\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(12) : `The slice reducer for key \"${key}\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.`);\n }\n if (typeof reducer(void 0, {\n type: actionTypes_default.PROBE_UNKNOWN_ACTION()\n }) === \"undefined\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(13) : `The slice reducer for key \"${key}\" returned undefined when probed with a random type. Don't try to handle '${actionTypes_default.INIT}' or other actions in \"redux/*\" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.`);\n }\n });\n}\nfunction combineReducers(reducers) {\n const reducerKeys = Object.keys(reducers);\n const finalReducers = {};\n for (let i = 0; i < reducerKeys.length; i++) {\n const key = reducerKeys[i];\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof reducers[key] === \"undefined\") {\n warning(`No reducer provided for key \"${key}\"`);\n }\n }\n if (typeof reducers[key] === \"function\") {\n finalReducers[key] = reducers[key];\n }\n }\n const finalReducerKeys = Object.keys(finalReducers);\n let unexpectedKeyCache;\n if (process.env.NODE_ENV !== \"production\") {\n unexpectedKeyCache = {};\n }\n let shapeAssertionError;\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n return function combination(state = {}, action) {\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n if (process.env.NODE_ENV !== \"production\") {\n const warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n let hasChanged = false;\n const nextState = {};\n for (let i = 0; i < finalReducerKeys.length; i++) {\n const key = finalReducerKeys[i];\n const reducer = finalReducers[key];\n const previousStateForKey = state[key];\n const nextStateForKey = reducer(previousStateForKey, action);\n if (typeof nextStateForKey === \"undefined\") {\n const actionType = action && action.type;\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(14) : `When called with an action of type ${actionType ? `\"${String(actionType)}\"` : \"(unknown type)\"}, the slice reducer for key \"${key}\" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.`);\n }\n nextState[key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\n// src/bindActionCreators.ts\nfunction bindActionCreator(actionCreator, dispatch) {\n return function(...args) {\n return dispatch(actionCreator.apply(this, args));\n };\n}\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === \"function\") {\n return bindActionCreator(actionCreators, dispatch);\n }\n if (typeof actionCreators !== \"object\" || actionCreators === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(16) : `bindActionCreators expected an object or a function, but instead received: '${kindOf(actionCreators)}'. Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?`);\n }\n const boundActionCreators = {};\n for (const key in actionCreators) {\n const actionCreator = actionCreators[key];\n if (typeof actionCreator === \"function\") {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n return boundActionCreators;\n}\n\n// src/compose.ts\nfunction compose(...funcs) {\n if (funcs.length === 0) {\n return (arg) => arg;\n }\n if (funcs.length === 1) {\n return funcs[0];\n }\n return funcs.reduce((a, b) => (...args) => a(b(...args)));\n}\n\n// src/applyMiddleware.ts\nfunction applyMiddleware(...middlewares) {\n return (createStore2) => (reducer, preloadedState) => {\n const store = createStore2(reducer, preloadedState);\n let dispatch = () => {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(15) : \"Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.\");\n };\n const middlewareAPI = {\n getState: store.getState,\n dispatch: (action, ...args) => dispatch(action, ...args)\n };\n const chain = middlewares.map((middleware) => middleware(middlewareAPI));\n dispatch = compose(...chain)(store.dispatch);\n return {\n ...store,\n dispatch\n };\n };\n}\n\n// src/utils/isAction.ts\nfunction isAction(action) {\n return isPlainObject(action) && \"type\" in action && typeof action.type === \"string\";\n}\nexport {\n actionTypes_default as __DO_NOT_USE__ActionTypes,\n applyMiddleware,\n bindActionCreators,\n combineReducers,\n compose,\n createStore,\n isAction,\n isPlainObject,\n legacy_createStore\n};\n//# sourceMappingURL=redux.mjs.map","import { createReducer } from \"@reduxjs/toolkit\"\n\nimport {\n setLoading,\n setAlert,\n setTenant,\n setAddTenant,\n setTeam,\n setUser,\n setLanguage,\n reset,\n setMenuCollapse,\n setIsRefetchSidebar,\n setLoadingPage\n} from \"./action\"\n\nconst initialState: any = {\n isLoading: false,\n isLoadingPage: false,\n alert: {\n type: \"\",\n message: \"\"\n },\n user: null,\n academy: null,\n menuCollapse: false,\n isRefetchSidebar: false\n}\n\nconst commonReducer = createReducer(initialState, builder => {\n builder\n .addCase(setLoading, (state, action) => {\n state.isLoading = action.payload\n })\n .addCase(setLoadingPage, (state, action) => {\n state.isLoadingPage = action.payload\n })\n .addCase(setAlert, (state, action) => {\n state.alert = action.payload\n })\n .addCase(setUser, (state, action) => {\n state.user = action.payload\n })\n .addCase(setLanguage, (state, action) => {\n state.language = action.payload\n })\n .addCase(reset, (_state, _action) => {\n return initialState\n })\n .addCase(setMenuCollapse, (state, action) => {\n state.menuCollapse = action.payload\n })\n .addCase(setIsRefetchSidebar, state => {\n state.isRefetchSidebar = !state.isRefetchSidebar\n })\n .addCase(setTenant, (state, action) => {\n state.user.currentTenantId = action.payload \n })\n .addCase(setAddTenant, (state, action) => {\n state.user.tenantInfo = action.payload\n })\n .addCase(setTeam, (state, action) => {\n state.user.currentTeamId = action.payload\n })\n})\n\nexport default commonReducer\n","import { combineReducers } from \"redux\"\n\nimport common from \"./redux/commons/reducer\"\n\nconst rootReducer = combineReducers({\n common\n})\n\nexport default rootReducer\n","import { configureStore } from \"@reduxjs/toolkit\"\n\nimport rootReducer from \"./rootReducer\"\n\nconst store = configureStore({\n reducer: rootReducer,\n middleware: getDefaultMiddleware =>\n getDefaultMiddleware({ serializableCheck: false })\n})\n\nexport default store\n","import { api } from \"./api\"\nimport { AcademyHeaders, BASE_URL, SUPER_ADMIN_BASE_URL } from \"../utils/constants\"\nimport { LoginAccessTokenRequest, LoginRequest } from \"../utils/types/login\"\n\n// const ACCOUNT_URL = `${BASE_URL}/api/account`\nconst AUTH_URL = `${BASE_URL}/api/auth`\nconst AUTH_SUPER_ADMIN_URL = `${SUPER_ADMIN_BASE_URL}/api/auth`\n\nexport const getInfo = (role: string) => api.get(`${BASE_URL}/api/Auth/info?role=${role}`)\n\nexport const getSuperAdminInfoFromWeb = () => api.get(`${AUTH_SUPER_ADMIN_URL}/info`)\n\nexport const apiLoginGoogle = (body: LoginRequest) => api.post(\n `${AUTH_URL}/login`, \n body\n)\n\nexport const apiLoginGoogleSuperAdmin = (body: LoginRequest) => api.post(\n `${AUTH_SUPER_ADMIN_URL}/login`, \n body\n)\n\nexport const apiLoginWithAccessToken = (body: LoginAccessTokenRequest, domain?: string) => api.post(\n `${AUTH_URL}/login/access-token`, \n body,\n {\n headers: {\n [AcademyHeaders]: domain\n }\n }\n)\n\nexport const checkToken = (token: string) => api.post(`${AUTH_URL}/checktoken`, { token })\n","import { checkToken } from \"../services/accountService\"\nimport getAccessToken from \"./getAccessToken\"\n\nconst firstCheckToken = async () => {\n try {\n const token = getAccessToken()\n if (!token) return false\n\n const tokenStatus = await checkToken(token)\n if (!tokenStatus.data) return false\n\n return true\n } catch (err) {\n return false\n }\n}\n\nexport default firstCheckToken\n","import { BASE_URL } from \"./constants\";\n\nconst getImageUrl = (imageUrl?: string) => {\n try {\n if (!!imageUrl) {\n const imageTrimmed = imageUrl.trim();\n\n if (imageTrimmed.startsWith('http://') || imageTrimmed.startsWith('https://')) {\n return imageTrimmed; \n }\n return `${BASE_URL}/images/${imageTrimmed}`;\n }\n return `/images/avatar-default.png`;\n } catch (err) {\n return `/images/avatar-default.png`;\n }\n}\n\nexport default getImageUrl\n","import React, { FC } from \"react\"\n\nconst NotFound: FC = () => {\n return (\n <div className=\"not-found\">\n <div className=\"clearfix\">\n <h1 className=\"float-left display-3 mr-4\">404</h1>\n <div className=\"float-left\">\n <h4 className=\"pt-3\">Oops! You are lost.</h4>\n <p className=\"text-muted mb-2\">\n The page you are looking for was not found.\n </p>\n <div>\n </div>\n </div>\n </div>\n </div>\n )\n}\n\nexport default NotFound\n","import React, { FC, CSSProperties } from \"react\"\nimport { useSelector } from \"react-redux\"\nimport moment from \"moment\"\n\nconst loadingStyle: CSSProperties = {\n minWidth: \"100vw\",\n minHeight: \"100vh\",\n position: \"fixed\",\n top: 0,\n left: 0,\n zIndex: 999999999,\n backgroundColor: \"rgba(0, 0, 0, 0.4)\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n}\n\nconst Loading: FC = () => {\n const isLoading = useSelector((state: any) => state.common.isLoading)\n localStorage.setItem(\"LAST_TIME_REQUETST\", moment().utc().format(\"YYYY-MM-DD HH:mm:ss\"))\n return isLoading ? (\n <div style={loadingStyle}>\n <div className=\"spinner-border text-secondary\" role=\"status\">\n <span className=\"sr-only\"></span>\n </div>\n </div>\n ) : null\n}\n\nexport default Loading","import { useDispatch } from \"react-redux\";\nimport { GOOGLE_CLIENT_ID } from \"../constants\";\nimport { useGoogleLogout } from \"@leecheuk/react-google-login\"\nimport { reset } from \"../../redux/commons/action\";\n\ninterface Props{\n onLogoutSuccess?: () => void\n onFailure?: () => void\n onNavigate: Function\n}\nconst useGoogleSignOut = (props: Props) => {\n const dispatch = useDispatch()\n const {\n onLogoutSuccess,\n onFailure\n } = props\n\n\n const handleLogoutSuccess = () => {\n onLogoutSuccess?.()\n }\n\n const handleLogoutFailure = () => {\n onFailure?.()\n }\n\n const { signOut, loaded } = useGoogleLogout({\n clientId: GOOGLE_CLIENT_ID,\n onLogoutSuccess: handleLogoutSuccess,\n onFailure: handleLogoutFailure,\n })\n\n const handleSignOut = () => {\n localStorage.clear();\n try {\n signOut()\n } catch (error) {\n console.log({error});\n }\n dispatch(reset())\n window.location.href = \"/login\"\n }\n return {\n handleSignOut, loaded\n }\n}\n\nexport default useGoogleSignOut","import React, { FC, Fragment, PropsWithChildren, useEffect } from \"react\"\nimport useGoogleSignOut from \"../utils/hooks/useGoogleSignOut\"\nimport firstCheckToken from \"../utils/firstCheckToken\"\n\ninterface Props {\n onNavigate: (pathname: string) => void\n role: string\n}\n\nconst LayoutContext: FC<Props & PropsWithChildren> = ({\n children,\n onNavigate\n}) => {\n const {\n handleSignOut\n } = useGoogleSignOut({onNavigate})\n\n const resetAuth = () => {\n handleSignOut()\n }\n\n const loadInfo = async () => {\n const token = firstCheckToken()\n !token && resetAuth()\n }\n\n useEffect(() => {\n loadInfo()\n }, [])\n\n return <Fragment>{children}</Fragment>\n}\n\nexport default LayoutContext\n","import React, { FC } from \"react\"\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\"\n\ninterface Props {\n text: string\n cancelText?: string\n okText?: string\n onConfirm: () => void\n onClose?: () => void\n open: boolean\n toggle: () => void\n isDelete?: boolean\n}\nexport const ConfirmDialog: FC<Props> = ({\n open,\n text,\n cancelText = \"No\",\n okText = \"Yes\",\n isDelete,\n toggle,\n onClose,\n onConfirm\n}) => {\n return (\n <Modal isOpen={open} toggle={!!onClose ? onClose : toggle} centered>\n <ModalHeader toggle={toggle}>Confirmation</ModalHeader>\n <ModalBody>{text}</ModalBody>\n <ModalFooter>\n <Button color=\"secondary\" onClick={toggle}>\n {cancelText}\n </Button>\n <Button\n color={isDelete ? \"danger\" : \"primary\"}\n onClick={onConfirm}\n >\n {okText}\n </Button>\n </ModalFooter>\n </Modal>\n )\n}\n","import { FC, PropsWithChildren } from \"react\"\nimport { Modal, ModalHeader } from \"reactstrap\"\nimport React from \"react\"\nimport { Box, Typography } from \"@mui/material\"\ninterface Props {\n open: boolean\n onClose: () => void\n centered?: boolean\n title: string\n size?: \"xs\" | \"lg\" | \"xl\"\n backdrop?: boolean | \"static\"\n isShowHeader?: boolean\n}\n\nconst CommonDialog: FC<Props & PropsWithChildren> = ({\n open,\n children,\n centered,\n title,\n size = \"xs\",\n isShowHeader = true,\n onClose,\n backdrop\n}) => {\n return (\n <Modal backdrop={backdrop} isOpen={open} toggle={onClose} centered={centered} size={size} zIndex={1102}>\n {\n isShowHeader\n ? \n <ModalHeader toggle={onClose}>{title}</ModalHeader>\n :\n <Box className=\"p-3\">\n <Typography className=\"fs-5 text-center fw-bold\">\n {title}\n </Typography>\n </Box>\n }\n {children}\n </Modal>\n )\n}\n\nexport default CommonDialog\n","import { LogLevel } from \"@azure/msal-browser\";\n\n\nexport enum AuthenticationMessage {\n NotAllowedToRegister = \"NotAllowedToRegister\",\n InvalidGoogleToken = \"InvalidGoogleToken\"\n}\n\nexport enum Role {\n Student = \"Student\",\n Teacher = \"Teacher\",\n Admin = \"Admin\"\n}\n\nexport interface IInformationUser {\n firstName: string\n lastName: string\n fullName: string\n imageUrl: string | null\n email: string\n accessToken: string\n googleId: string \n}\n\nexport const msalConfig = (clientId: string, redirectUri: string) => ({\n auth: {\n clientId: clientId,\n authority: \"https://login.microsoftonline.com/common\",\n redirectUri: redirectUri\n },\n cache: {\n cacheLocation: \"sessionStorage\", // This configures where your cache will be stored\n storeAuthStateInCookie: false, // Set this to \"true\" if you are having issues on IE11 or Edge\n },\n system: {\t\n loggerOptions: {\t\n loggerCallback: (level: LogLevel, message: string, containsPii: any) => {\t\n if (containsPii) {\t\t\n return;\t\t\n }\t\t\n switch (level) {\n case LogLevel.Error:\n console.error(message);\n return;\n case LogLevel.Info:\n console.info(message);\n return;\n case LogLevel.Verbose:\n console.debug(message);\n return;\n case LogLevel.Warning:\n console.warn(message);\n return;\n default:\n return;\n }\t\n }\t\n }\t\n }\n});","import React from \"react\"\nimport { FC } from \"react\"\nimport { Pagination, PaginationItem, PaginationLink } from \"reactstrap\"\n\ninterface Props {\n currentPage: number\n totalPage: number\n onChangePage: (page: number) => void\n}\nconst CustomPagination: FC<Props> = ({\n currentPage,\n totalPage,\n onChangePage\n}) => {\n\n return (\n <Pagination className=\"w-fit\">\n <PaginationItem disabled={currentPage <= 1}>\n <PaginationLink\n onClick={e => {\n e.preventDefault()\n onChangePage(currentPage - 1)\n }}\n previous\n href=\"#\"\n />\n </PaginationItem>\n <PaginationItem active={1 === currentPage} key={1}>\n <PaginationLink\n onClick={e => {\n e.preventDefault()\n onChangePage(1)\n }}\n href=\"#\"\n >\n {1}\n </PaginationLink>\n </PaginationItem>\n\n {\n totalPage > 2 && <PaginationItem active={2 === currentPage} key={1}>\n <PaginationLink\n onClick={e => {\n e.preventDefault()\n onChangePage(2)\n }}\n href=\"#\"\n >\n {2}\n </PaginationLink>\n </PaginationItem>\n }\n\n {\n currentPage > 4 && currentPage !== totalPage && totalPage !== 5\n &&\n <PaginationItem disabled key={\"first\"}>\n <PaginationLink\n href=\"#\"\n >\n ...\n </PaginationLink>\n </PaginationItem>\n }\n {\n (currentPage === 1 || currentPage === totalPage) && totalPage === 5 && \n <PaginationItem key={3}>\n <PaginationLink\n onClick={e => {\n e.preventDefault()\n onChangePage(3)\n }}\n href=\"#\"\n >\n 3\n </PaginationLink>\n </PaginationItem>\n }\n {\n [currentPage - 1, currentPage, currentPage + 1]\n .filter(page => page > 2 && page < totalPage - 1).map(page => (\n <PaginationItem active={page === currentPage} key={page}>\n <PaginationLink\n onClick={e => {\n e.preventDefault()\n onChangePage(page)\n }}\n href=\"#\"\n >\n {page}\n </PaginationLink>\n </PaginationItem>\n ))\n }\n\n {\n totalPage - currentPage > 4\n &&\n <PaginationItem disabled key={\"last\"}>\n <PaginationLink\n href=\"#\"\n >\n ...\n </PaginationLink>\n </PaginationItem>\n }\n\n {totalPage > 3 && (\n <PaginationItem active={totalPage - 1 === currentPage} key={totalPage - 1}>\n <PaginationLink\n onClick={e => {\n e.preventDefault()\n onChangePage(totalPage - 1)\n }}\n href=\"#\"\n >\n {totalPage - 1}\n </PaginationLink>\n </PaginationItem>\n )}\n {totalPage > 1 && (\n <PaginationItem active={totalPage === currentPage} key={totalPage}>\n <PaginationLink\n onClick={e => {\n e.preventDefault()\n onChangePage(totalPage)\n }}\n href=\"#\"\n >\n {totalPage}\n </PaginationLink>\n </PaginationItem>\n )}\n <PaginationItem disabled={currentPage >= totalPage}>\n <PaginationLink\n onClick={e => {\n e.preventDefault()\n onChangePage(currentPage + 1)\n }}\n next\n href=\"#\"\n />\n </PaginationItem>\n </Pagination>\n )\n}\n\nexport default CustomPagination\n","import { useCallback, useEffect, useState, useRef } from 'react';\nimport * as amplitude from '@amplitude/analytics-browser';\nimport { AmplitudeEvent } from '../types/amplitude';\n\nexport interface AmplitudeProps {\n eventName: AmplitudeEvent;\n eventProperties?: any;\n}\ntype UserProperties = Record<string, any>;\n\ninterface SessionData {\n start_time: string;\n end_time: string;\n session_duration_seconds: number;\n session_id: number;\n}\n\nconst useAmplitude = () => {\n const [userId, setUserIdState] = useState<string | number | null>(null);\n const [isTabActive, setIsTabActive] = useState<boolean>(true);\n const sessionStartTime = useRef<Date | null>(null);\n const currentSessionStart = useRef<Date | null>(null);\n const savedUserProperties = useRef<UserProperties>({});\n const hasTrackedInitialSession = useRef<boolean>(false);\n\n const setUserProperties = useCallback((properties: UserProperties) => {\n savedUserProperties.current = { ...savedUserProperties.current, ...properties };\n const identify = new amplitude.Identify();\n Object.entries(properties).forEach(([key, value]) => {\n identify.set(key, value);\n });\n amplitude.identify(identify);\n }, []);\n\n const trackEvent = useCallback(({ eventName, eventProperties }: AmplitudeProps) => {\n amplitude.track(eventName, {\n ...savedUserProperties.current,\n ...eventProperties,\n timestamp: new Date().toISOString(),\n });\n }, []);\n\n const setUserId = useCallback((newUserId: string | number | null) => {\n const prevUserId = userId;\n setUserIdState(newUserId);\n\n if (newUserId) {\n const prefixedUserId = `edusfere:${newUserId}`;\n amplitude.setUserId(prefixedUserId);\n\n if (prevUserId !== newUserId && !hasTrackedInitialSession.current) {\n hasTrackedInitialSession.current = true;\n sessionStartTime.current = new Date();\n currentSessionStart.current = new Date();\n\n trackEvent({\n eventName: AmplitudeEvent.SESSION_START,\n eventProperties: {\n start_time: new Date().toISOString(),\n },\n });\n }\n }\n }, [userId, trackEvent]);\n\n const reset = useCallback(() => {\n amplitude.reset();\n setUserIdState(null);\n sessionStartTime.current = null;\n currentSessionStart.current = null;\n savedUserProperties.current = {};\n hasTrackedInitialSession.current = false;\n localStorage.removeItem('sessionData');\n }, []);\n\n const saveSessionToLocalStorage = useCallback((session: SessionData) => {\n const existingSessions = localStorage.getItem('sessionData');\n const sessions: SessionData[] = existingSessions ? JSON.parse(existingSessions) : [];\n sessions.push(session);\n localStorage.setItem('sessionData', JSON.stringify(sessions));\n }, []);\n\n const sendSessionsToAmplitude = useCallback(() => {\n if (!userId) return;\n\n const existingSessions = localStorage.getItem('sessionData');\n if (!existingSessions) return;\n\n const sessions: SessionData[] = JSON.parse(existingSessions);\n if (sessions.length === 0) return;\n\n sessions.forEach((session) => {\n trackEvent({\n eventName: AmplitudeEvent.SESSION_END,\n eventProperties: {\n start_time: session.start_time,\n end_time: session.end_time,\n session_duration_seconds: session.session_duration_seconds,\n session_id: session.session_id,\n },\n });\n });\n\n localStorage.removeItem('sessionData');\n }, [userId, trackEvent]);\n\n const trackTabActivity = useCallback((isActive: boolean) => {\n if (!userId) return;\n\n const now = new Date();\n\n if (isActive) {\n currentSessionStart.current = now;\n\n trackEvent({\n eventName: AmplitudeEvent.SESSION_START,\n eventProperties: {\n start_time: now.toISOString(),\n },\n });\n } else {\n if (currentSessionStart.current) {\n const sessionDuration = now.getTime() - currentSessionStart.current.getTime();\n const sessionData: SessionData = {\n start_time: currentSessionStart.current.toISOString(),\n end_time: now.toISOString(),\n session_duration_seconds: Math.round(sessionDuration / 1000),\n session_id: currentSessionStart.current.getTime(),\n };\n\n saveSessionToLocalStorage(sessionData);\n\n trackEvent({\n eventName: AmplitudeEvent.SESSION_END,\n eventProperties: {\n session_duration_seconds: sessionData.session_duration_seconds,\n start_time: sessionData.start_time,\n end_time: sessionData.end_time,\n session_id: sessionData.session_id,\n },\n });\n\n currentSessionStart.current = null;\n }\n }\n }, [userId, trackEvent, saveSessionToLocalStorage]);\n\n const trackPageUnload = useCallback(() => {\n if (!userId || !currentSessionStart.current) return;\n\n const now = new Date();\n const sessionDuration = now.getTime() - currentSessionStart.current.getTime();\n const sessionData: SessionData = {\n start_time: currentSessionStart.current.toISOString(),\n end_time: now.toISOString(),\n session_duration_seconds: Math.round(sessionDuration / 1000),\n session_id: currentSessionStart.current.getTime(),\n };\n\n saveSessionToLocalStorage(sessionData);\n sendSessionsToAmplitude();\n }, [userId, saveSessionToLocalStorage, sendSessionsToAmplitude]);\n\n useEffect(() => {\n const handleVisibilityChange = () => {\n const isVisible = !document.hidden;\n setIsTabActive(isVisible);\n trackTabActivity(isVisible);\n };\n\n document.addEventListener('visibilitychange', handleVisibilityChange);\n return () => document.removeEventListener('visibilitychange', handleVisibilityChange);\n }, [trackTabActivity]);\n\n useEffect(() => {\n const handleFocus = () => {\n setIsTabActive(true);\n trackTabActivity(true);\n };\n\n const handleBlur = () => {\n setIsTabActive(false);\n trackTabActivity(false);\n };\n\n window.addEventListener('focus', handleFocus);\n window.addEventListener('blur', handleBlur);\n\n return () => {\n window.removeEventListener('focus', handleFocus);\n window.removeEventListener('blur', handleBlur);\n };\n }, [trackTabActivity]);\n\n useEffect(() => {\n const handleBeforeUnload = () => {\n trackPageUnload();\n };\n\n window.addEventListener('beforeunload', handleBeforeUnload);\n return () => window.removeEventListener('beforeunload', handleBeforeUnload);\n }, [trackPageUnload]);\n\n return {\n setUserId,\n setUserProperties,\n trackEvent,\n reset,\n userId,\n isTabActive,\n sessionStartTime: sessionStartTime.current,\n currentSessionStart: currentSessionStart.current,\n };\n};\n\nexport default useAmplitude;","import * as amplitude from '@amplitude/analytics-browser';\n\nconst initializeAmplitude = (\n apiKey: string,\n) => {\n amplitude.init(apiKey, {\n defaultTracking: {\n pageViews: true,\n sessions: true,\n formInteractions: true,\n },\n });\n};\n\nexport default initializeAmplitude;\n","import * as Sentry from '@sentry/react'\nexport function initSentry(dsn: string, release: string) {\n if (!dsn) return\n Sentry.init({\n dsn,\n tracesSampleRate: 1.0,\n release: release,\n sendDefaultPii: true,\n })\n}\n","import { DefaultErrorMessage } from \"./constants\";\n\nexport const getErrorMessage = (error: any, defaultErrorMessage?: string): string => {\n let errorMessage = error?.response?.data?.title\n if(error?.response?.status === 500) return defaultErrorMessage || DefaultErrorMessage\n if (typeof errorMessage === \"string\") return decodeURIComponent(errorMessage);\n errorMessage = error?.message || error?.response?.data?.message\n if (typeof errorMessage === \"string\") return errorMessage;\n return defaultErrorMessage || DefaultErrorMessage;\n}","import styleGlobal from '../../../style/styles.module.scss'\nexport const customStyles = {\n control: (baseStyles: any, state: any) => ({\n ...baseStyles,\n fontSize: \"14px\",\n fontWeight: 700,\n color: styleGlobal.darker,\n borderColor: (state.isFocused || state.hasValue) ? styleGlobal.dark : styleGlobal.less_dark,\n boxShadow: state.isFocused ? `0 0 0 1px ${styleGlobal.dark}4D`: baseStyles.boxShadow,\n \"&:active\": {\n borderColor: (state.isFocused || state.hasValue) ? styleGlobal.dark : styleGlobal.less_dark,\n },\n \"&:hover\": {\n borderColor: (state.isFocused || state.hasValue) ? styleGlobal.dark : styleGlobal.less_dark,\n }\n }),\n input: (baseStyles: any, _: any) => ({\n ...baseStyles,\n fontSize: \"14px\",\n fontWeight: 700,\n color: styleGlobal.darker\n }),\n singleValue: (baseStyles: any) => ({\n ...baseStyles,\n fontSize: \"14px\",\n fontWeight: 700,\n color: styleGlobal.darker\n }),\n option: (baseStyles: any, state: any) => ({\n ...baseStyles,\n backgroundColor: state.isSelected ? styleGlobal.dark : state.isFocused ? styleGlobal.light : 'white',\n \"&:active\": {\n backgroundColor: state.isSelected ? styleGlobal.dark : state.isFocused ? styleGlobal.less_dark : baseStyles.backgroundColor,\n },\n }),\n};","import React from \"react\"\nimport { DropdownIndicatorProps, components } from 'react-select'\nimport { FaCaretDown } from \"react-icons/fa\";\nimport styleGlobal from '../../../style/styles.module.scss'\n\nexport const DropdownIndicator = (props: DropdownIndicatorProps) => {\n return <components.DropdownIndicator {...props}>\n <FaCaretDown size={20} color={styleGlobal.darker}/>\n </components.DropdownIndicator>\n}\n\nexport const CustomOption = (props: any) => {\n return (\n <components.Option {...props}>\n <div style={{ fontSize: \"14px\", fontWeight: 500, }}>\n {props.data.label}\n </div>\n </components.Option>\n );\n };","import React from \"react\"\nimport Select, { } from 'react-select'\nimport { customStyles } from \"./theme/styles\";\nimport { CustomOption, DropdownIndicator } from \"./partials\";\n\nconst CustomSelect = ({\n isDefault,\n defaultValue,\n options,\n isDisabled,\n scrollBottom,\n value,\n isMulti,\n ...rest\n}: any) => {\n const initialValues = Array.isArray(value) ? options.filter((i: any)=> value.includes(i.value)) : isMulti ? options?.filter((i: any) => i.value == value) : options?.find((i: any) => i.value == value)\n return (\n <Select\n isDisabled={isDisabled}\n options={options}\n value={!isDefault ? (initialValues ?? null) : undefined}\n defaultValue={isDefault ? initialValues : undefined}\n menuPlacement={scrollBottom ? \"top\" : \"auto\"}\n isMulti={isMulti}\n components={{\n IndicatorSeparator: () => null,\n DropdownIndicator,\n Option: CustomOption\n }}\n styles={customStyles}\n placeholder=\"Select...\"\n {...rest}\n />\n )\n}\n\nexport default CustomSelect\n","import React from \"react\"\nimport AsyncSelect from \"react-select\"\nimport { CustomOption, DropdownIndicator } from \"./partials\";\nimport { customStyles } from \"./theme/styles\";\n\nconst CustomAsyncSelect = ({\n isDefault,\n defaultValue,\n options,\n isDisabled,\n scrollBottom,\n value,\n isMulti,\n ...rest\n}: any) => {\n const initialValues = Array.isArray(value) ? options.filter((i: any)=> value.includes(i.value)) : isMulti ? options.filter((i: any) => i.value == value) : options.find((i: any) => i.value == value)\n\n return (\n <AsyncSelect\n isDisabled={isDisabled}\n options={options}\n value={!isDefault ? initialValues : undefined}\n defaultValue={isDefault ? initialValues : undefined}\n menuPlacement={scrollBottom ? \"top\" : \"auto\"}\n isMulti={isMulti}\n components={{\n IndicatorSeparator: () => null,\n DropdownIndicator,\n Option: CustomOption\n }}\n styles={customStyles}\n placeholder=\"Select...\"\n {...rest}\n\n />\n )\n}\n\nexport default CustomAsyncSelect\n","import React from \"react\"\nimport CreatableSelect from 'react-select/creatable';\nimport { CustomOption, DropdownIndicator } from \"./partials\";\nimport { customStyles } from \"./theme/styles\";\n\nconst CustomCreatable = ({\n defaultValue,\n options,\n isDisabled,\n scrollBottom,\n value,\n isMulti,\n ...rest\n}: any) => {\n const initialValues = Array.isArray(value) ? options.filter((i: any)=> value.includes(i.value)) : isMulti ? options.filter((i: any) => i.value == value) : options.find((i: any) => i.value == value)\n\n return (\n <CreatableSelect\n isClearable\n isDisabled={isDisabled}\n options={options}\n value={initialValues}\n menuPlacement={scrollBottom ? \"top\" : \"auto\"}\n isMulti={isMulti}\n components={{\n IndicatorSeparator: () => null,\n DropdownIndicator,\n Option: CustomOption\n }}\n styles={customStyles}\n placeholder=\"Select...\"\n {...rest}\n\n />\n )\n}\n\nexport default CustomCreatable\n","import React from \"react\"\nimport Select from 'react-select'\nimport { customStyles } from \"./theme/styles\";\nimport { CustomOption, DropdownIndicator } from \"./partials\";\n\nconst CustomSelectOption = ({\n defaultValue,\n options,\n isDisabled,\n scrollBottom,\n value,\n isMulti,\n ...rest\n}: any) => {\n \n const initialValues = \n defaultValue !== null && typeof defaultValue !== \"undefined\"\n ? options.find((option: any) => option.value === defaultValue) ||\n null\n : null\n \n return (\n <Select\n isDisabled={isDisabled}\n options={options}\n value={value}\n defaultValue={initialValues}\n menuPlacement={scrollBottom ? \"top\" : \"auto\"}\n isMulti={isMulti}\n components={{\n IndicatorSeparator: () => null,\n DropdownIndicator,\n Option: CustomOption\n }}\n styles={customStyles}\n placeholder=\"Select...\"\n {...rest}\n />\n )\n}\n\nexport default CustomSelectOption\n","import moment from \"moment\"\nimport { DATE_MIN_VALUE } from \"../utils/constants\"\n\nexport default (time: string, FORMAT?: string) => {\n if (time === DATE_MIN_VALUE || time == null) return \"\"\n try {\n return moment.utc(time).local().format(FORMAT || \"yyyy-MM-DD\");\n } catch {\n return \"\"\n }\n}\n","import { createBrowserHistory } from \"history\"\nconst historyCore = createBrowserHistory()\n\nimport {\n setLoading,\n setAlert,\n setTenant,\n setAddTenant,\n setTeam,\n setUser,\n setMenuCollapse,\n setIsRefetchSidebar,\n setLoadingPage\n} from \"./redux/commons/action\"\nimport { BASE_URL, ACCESS_TOKEN, DATE_TIME_MIN_VALUE, OPENSALT_BASE_URL, ORGANIZATION_TEAM, ORGANIZATION_TENANT } from \"./utils/constants\"\nimport Login from \"./containers/Login/views/Login\"\nimport store from \"./store\"\nimport getAccessToken from \"./utils/getAccessToken\"\nimport firstCheckToken from \"./utils/firstCheckToken\"\nimport getImageUrl from \"./utils/getImageUrl\"\n\nimport NotFound from \"./components/Commons/NotFound\"\nimport Loading from \"./components/Loading/Loading\"\nimport LayoutContext from \"./layouts/LayoutContext\"\nimport { api, apiUpload } from \"./services/api\"\nimport { ConfirmDialog } from \"./components/Dialogs/ConfirmDialog\"\nimport CommonDialog from \"./components/Dialogs/CommonDialog\"\nimport { ToastContainer, toast } from \"react-toastify\"\nimport { Role } from \"./containers/Login/configs/constants\"\nimport CustomPagination from \"./components/Paginations/CustomPagination\"\nimport useGoogleSignOut from \"./utils/hooks/useGoogleSignOut\"\nimport useAmplitude from \"./utils/hooks/useAmplitude\"\nimport { AmplitudeEvent } from \"./utils/types/amplitude\"\nimport initializeAmplitude from \"./configs/amplitude\"\nimport { initSentry } from \"./configs/sentry\"\nimport {\n CoreButton,\n CoreInput,\n CoreSelect,\n CoreCheckbox,\n CoreRadio,\n CoreError,\n CoreModal,\n CoreRange,\n CoreTextArea,\n CoreSearch,\n CoreSelectCompact,\n CoreInputCompact,\n CoreTitleInput,\n CoreTooltip\n} from \"./components\"\nimport { getErrorMessage } from \"./utils/getErrorMessage\"\nimport { GoogleOAuthProvider } from '@react-oauth/google';\n\n// select\nimport CustomSelect from \"./components/Selects/CustomSelect\"\nimport CustomAsyncSelect from \"./components/Selects/CustomAsyncSelect\"\nimport CustomCreatable from \"./components/Selects/CustomCreatable\"\nimport CustomSelectOption from \"./components/Selects/CustomSelectOption\"\nimport utcToLocalTime from \"./utils/utcToLocalTime\"\nimport Cookies from \"js-cookie\"\n\nexport {\n setLoading,\n setLoadingPage,\n BASE_URL,\n OPENSALT_BASE_URL,\n ACCESS_TOKEN,\n DATE_TIME_MIN_VALUE,\n ORGANIZATION_TEAM,\n ORGANIZATION_TENANT,\n firstCheckToken,\n getImageUrl,\n Login,\n utcToLocalTime,\n getAccessToken,\n store,\n historyCore,\n setAlert,\n setUser,\n setTenant,\n setAddTenant,\n setTeam,\n setMenuCollapse,\n setIsRefetchSidebar,\n Loading,\n NotFound,\n LayoutContext,\n api,\n apiUpload,\n ConfirmDialog,\n CommonDialog,\n ToastContainer,\n toast,\n Role,\n Cookies,\n CustomPagination,\n useGoogleSignOut,\n CoreButton,\n CoreInput,\n CoreSelect,\n CoreCheckbox,\n CoreRadio,\n CoreError,\n CoreModal,\n CoreRange,\n CoreTextArea,\n CoreSearch,\n CoreSelectCompact,\n CoreInputCompact,\n CoreTitleInput,\n CoreTooltip,\n getErrorMessage,\n\n // select\n CustomSelect,\n CustomAsyncSelect,\n CustomCreatable,\n CustomSelectOption,\n GoogleOAuthProvider,\n\n\n //Amplitude\n useAmplitude,\n AmplitudeEvent,\n initializeAmplitude,\n initSentry\n\n}\n"],"names":["setLoading","createAction","setLoadingPage","setAlert","setUser","setLanguage","reset","setMenuCollapse","setIsRefetchSidebar","setTenant","setAddTenant","setTeam","REQUEST_ORIGIN","process","env","REACT_APP_REQUEST_ORIGIN","ADMIN_ORIGIN","REACT_APP_ADMIN_ORIGIN","TEACHER_ORIGIN","REACT_APP_TEACHER_ORIGIN","GOOGLE_RECAPTCHA_KEY","REACT_APP_GOOGLE_RECAPTCHA_KEY","GOOGLE_CLIENT_ID","REACT_APP_GOOGLE_CLIENT_ID","GOOGLE_RECAPTCHA_ID","REACT_APP_GOOGLE_RECAPTCHA_ID","GOOGLE_RECAPTCHA_SECRET","REACT_APP_GOOGLE_RECAPTCHA_SECRET","BASE_URL","REACT_APP_BASE_URL","SUPER_ADMIN_BASE_URL","REACT_APP_SUPER_ADMIN_BASE_URL","PUSHER_CONFIG","cluster","REACT_APP_PUSHER_CONFIG_CLUSTER","key","REACT_APP_PUSHER_CONFIG_KEY","MICROSOFT_CLIENT_ID","REACT_APP_MICROSOFT_CLIENT_ID","MICROSOFT_URL_DIRECT","REACT_APP_MICROSOFT_URL_DIRECT","OPENSALT_BASE_URL","REACT_APP_OPENSALT","ACCESS_TOKEN","AUTH_COOKIE","DATE_MIN_VALUE","DATE_TIME_MIN_VALUE","DefaultErrorMessage","COLORS","brandBlack","grayText","blackText","lightGray","lightGray2","lightGray2Text","grayLines","lightGrayBg","white","brandBlue","lightBlue","lightBlueHover","brandBlueHover","darkBrandBlue","darkBrandBlueHover","brandAccent","red","lightYellow","ORGANIZATION_TENANT","ORGANIZATION_TEAM","CoreButton","props","_props$type","type","children","onClick","icon","_props$disabled","disabled","_props$htmlType","htmlType","rest","_objectWithoutPropertiesLoose","_excluded","React","className","styles","CoreError","message","CoreInput","name","value","onChange","label","width","_props$placeholder","placeholder","error","_props$errorMessage","errorMessage","fontSize","fontWeight","onKeyDown","ref","maxLength","onKeyFocus","style","e","target","onFocus","Option","components","CoreCheckbox","checked","isSelected","CoreSelect","options","_props$isMulti","isMulti","_props$closeMenuOnSel","closeMenuOnSelect","_props$hideSelectedOp","hideSelectedOptions","handleChange","newValue","map","item","controlStyle","base","state","_extends","padding","borderRadius","backgroundColor","isDisabled","border","isFocused","height","undefined","minHeight","boxShadow","overflow","inputStyles","margin","color","placeholderStyles","dropdownIndicatorStyles","position","top","valueContainerStyles","singleValueStyles","optionStyles","cursor","indicatorsContainerStyles","display","multiValueStyles","alignItems","multiValueRemoveStyles","multiValueLabelStyles","ReactSelect","filter","i","includes","control","input","dropdownIndicator","indicatorSeparator","indicatorsContainer","valueContainer","singleValue","option","multiValue","multiValueRemove","multiValueLabel","FormGroup","check","inline","Input","id","Label","htmlFor","CoreRadio","CoreModal","open","onClose","title","footer","handleSubmit","onSubmit","_props$bodyPadding","bodyPadding","Modal","isOpen","toggle","centered","modalClassName","ModalHeader","ModalBody","ModalFooter","CoreRange","min","max","step","Search","_props$size","size","_props$color","viewBox","fill","xmlns","fillRule","clipRule","d","Close","clipPath","x","y","rx","transform","Info","CoreTextArea","_props$name","_props$error","_props$isOptional","isOptional","tooltip","_props$noBorder","noBorder","_props$smallHeight","smallHeight","cols","rows","autoResize","onBlur","_useState","useState","isOpenTooltip","setIsOpenTooltip","toggleTooltip","textareaRef","useRef","useEffect","current","el","requestAnimationFrame","scrollHeight","Tooltip","whiteSpace","resize","CoreSearch","onPressEnter","handleClear","tabIndex","preventDefault","length","CoreSelectCompact","_props$isShowDropdown","isShowDropdown","noOptionsMessage","CoreInputCompact","CoreTitleInput","CoreTooltip","_ref","content","_ref$placement","placement","_ref$isDelay","isDelay","_ref$timeDelay","timeDelay","innerClassName","generatedId","Date","now","toString","Math","random","slice","timeoutRef","handleMouseEnter","setTimeout","handleMouseLeave","clearTimeout","onMouseEnter","onMouseLeave","window","CookieService","setAuthCookie","data","rootDomain","getRootDomain","Cookies","set","token","expires","expiresAt","secure","NODE_ENV","domain","sameSite","path","host","match","getAuthCookie","cookie","get","JSON","parse","removeAuthCookie","remove","stringify","AmplitudeEvent","params","Object","keys","Array","isArray","encodeURIComponent","join","localStorage","getItem","err","api","axios","create","baseURL","timeout","headers","paramsSerializer","encodeParams","apiUpload","forEach","interceptors","request","use","config","getAccessToken","Authorization","setItem","moment","utc","format","imPersonate","ImPersonate","Promise","reject","response","status","location","href","hostname","parts","split","removeItem","apiLoginGoogle","body","post","apiSendEmailCode","apiCheckEmailCode","apiGetImage","itemLogin","TypeLogin","BlockLogin","onNavigate","role","hiddenSignup","email","setEmail","loginWithEmail","code","setCode","isScreenCode","setIsScreenCode","formatTime","loginWithEmailCode","trackEvent","dispatch","useDispatch","otpCode","setOtpCode","_useState2","resendCooldown","setResendCooldown","_useState3","resendTimer","setResendTimer","_useState4","images","setImages","_useState5","currentImageIndex","setCurrentImageIndex","handleGetImage","resolve","then","res","imageLogin","console","_temp","googleLogin","useGoogleLogin","onSuccess","tokenResponse","access_token","userInfo","_userInfo$data","picture","family_name","given_name","sub","accessToken","infoLogin","imageUrl","fullName","firstName","lastName","googleId","Google","authResult","_authResult$data","alert","clear","tokenJWT","eventName","LOGIN","eventProperties","login_method","user_role","success","timestamp","toISOString","getRedirectUrl","redirectUrl","onError","errorResponse","log","clearInterval","handleEmailLogin","trim","startResendCooldown","timer","setInterval","prev","handleResend","formatResendTime","seconds","mins","floor","secs","padStart","interval","Fragment","Row","Col","sm","lg","Link","to","src","alt","event","rel","image","index","fileId","active","backgroundImage","marginTop","marginBottom","it","maxWidth","_","stopPropagation","defaultInfo","password","captcha","rememberMe","minutes","useLogin","openLogin","setOpenLogin","infoUser","setInfoUser","useCallback","_useState6","timeLeft","setTimeLeft","_catch","toast","_temp2","_temp3","_temp4","m","s","Login","_useLogin","initialState","isLoading","isLoadingPage","user","academy","menuCollapse","isRefetchSidebar","commonReducer","createReducer","builder","addCase","action","payload","language","_state","_action","currentTenantId","tenantInfo","currentTeamId","rootReducer","combineReducers","common","store","configureStore","reducer","middleware","getDefaultMiddleware","serializableCheck","AUTH_URL","checkToken","firstCheckToken","tokenStatus","getImageUrl","imageTrimmed","startsWith","NotFound","loadingStyle","minWidth","left","zIndex","justifyContent","Loading","useSelector","useGoogleSignOut","onLogoutSuccess","onFailure","handleLogoutSuccess","handleLogoutFailure","_useGoogleLogout","useGoogleLogout","clientId","signOut","loaded","handleSignOut","LayoutContext","_useGoogleSignOut","resetAuth","loadInfo","ConfirmDialog","text","_ref$cancelText","cancelText","_ref$okText","okText","isDelete","onConfirm","Button","CommonDialog","_ref$size","_ref$isShowHeader","isShowHeader","backdrop","Box","Typography","AuthenticationMessage","Role","CustomPagination","currentPage","totalPage","onChangePage","Pagination","PaginationItem","PaginationLink","previous","page","next","useAmplitude","userId","setUserIdState","isTabActive","setIsTabActive","sessionStartTime","currentSessionStart","savedUserProperties","hasTrackedInitialSession","setUserProperties","properties","identify","amplitude","entries","_ref2","setUserId","newUserId","prevUserId","prefixedUserId","SESSION_START","start_time","saveSessionToLocalStorage","session","existingSessions","sessions","push","sendSessionsToAmplitude","SESSION_END","end_time","session_duration_seconds","session_id","trackTabActivity","isActive","sessionDuration","getTime","sessionData","round","trackPageUnload","handleVisibilityChange","isVisible","document","hidden","addEventListener","removeEventListener","handleFocus","handleBlur","handleBeforeUnload","initializeAmplitude","apiKey","defaultTracking","pageViews","formInteractions","initSentry","dsn","release","Sentry","tracesSampleRate","sendDefaultPii","getErrorMessage","defaultErrorMessage","_error$response","_error$response$data","_error$response2","decodeURIComponent","_error$response3","_error$response3$data","customStyles","baseStyles","styleGlobal","darker","borderColor","hasValue","dark","less_dark","light","DropdownIndicator","FaCaretDown","CustomOption","CustomSelect","isDefault","defaultValue","scrollBottom","initialValues","find","Select","menuPlacement","IndicatorSeparator","CustomAsyncSelect","AsyncSelect","CustomCreatable","CreatableSelect","isClearable","CustomSelectOption","time","FORMAT","local","_unused","historyCore","createBrowserHistory"],"mappings":"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"}