{"version":3,"sources":["store/NavMenu.js","store/Login.js","store/Requests.js","store/RequestView.js","store/TelegramUsers.js","store/TelegramUserEdit.js","store/TakeLogin.js","store/Settings.js","util/HttpUtil.js","components/AsyncComponent.js","App.js","registerServiceWorker.js","index.js","store/configureStore.js"],"names":["hidePreScreenType","checkLoginType","showGlobalLoaderType","showSnackBarType","hideGlobalLoaderType","initialState","showLoginButton","drawerOpen","searchComponent","user","globalLoading","showPreScreen","snackBarMessage","actionCreators","showGlobalLoader","type","hideGlobalLoader","hideSnackBar","checkLogin","dispatch","getState","a","token","localStorage","getItem","HttpUtil","fetchGet","accessToken","refreshToken","data","undefined","setItem","expires","isLogin","errorCode","profile","err","document","logout","removeItem","hideDrawer","openDrawer","reducer","state","action","message","isLoading","openRestoreDia","requestLogin","email","password","error","trim","loginError","passwordError","errorDescription","focusLogin","focusPassword","closeDialog","restorePass","set","Object","assign","filters","fetchFilters","showLoader","stopLoader","users","fetch","console","log","fields","createDate","Date","toISOString","status","map","n","id","client","filter","u","isSaving","rights","clients","startLoadUser","stopLoadUser","showSnackBar","addUser","callback","fetchEdit","JSON","stringify","editUser","reason","deleteUser","alert","hidePreScreen","settings","startSaveState","saveSettings","result","url","params","successCallback","failCallback","keys","reduce","k","push","encodeURIComponent","toString","join","options","method","headers","then","response","json","statusText","responseObj","catch","fetchFile","blob","fetchPostFile","FormData","key","append","file","body","fetchPost","fetchPostUser","asyncComponent","importComponent","props","component","default","this","setState","C","Component","Layout","Requests","Login","TakeLogin","TelegramUsers","TelegramUserEdit","Settings","RequestView","isLocalhost","Boolean","window","location","hostname","match","registerValidSW","swUrl","navigator","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","baseUrl","getElementsByTagName","getAttribute","history","createBrowserHistory","basename","store","reducers","login","navMenu","NavMenu","requests","requestView","telegramUsers","telegramUserEdit","tekeLogin","middleware","thunk","routerMiddleware","enhancers","rootReducer","combineReducers","router","connectRouter","createStore","compose","applyMiddleware","configureStore","initialReduxState","theme","createMuiTheme","overrides","MuiTableCell","root","palette","background","secondary","main","light","dark","contrastText","primary","text","rootElement","getElementById","checkMobile","check","userAgent","vendor","opera","test","substr","ReactDOM","render","exact","path","URL","process","origin","addEventListener","get","indexOf","ready","unregister","reload","checkValidServiceWorker","registerServiceWorker"],"mappings":"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","file":"static/js/main.c065e02a.chunk.js","sourcesContent":["import HttpUtil from \"../util/HttpUtil\";\r\n\r\nconst hideDrawerType = \"HIDE_DRAWER\";\r\nconst openDrawerType = \"OPEN_DRAWER\";\r\n\r\nexport const hidePreScreenType = \"HIDE_PRE_SCREEN\";\r\nconst logoutType = \"LOGOUT\";\r\n\r\nexport const checkLoginType = \"CHECK_LOGIN\";\r\nexport const showGlobalLoaderType = \"SHOW_GLOBAL_LOADER\";\r\nexport const showSnackBarType = \"SHOW_SNACK_BAR\";\r\nconst hideSnackBarType = \"HIDE_SNACK_BAR\";\r\nexport const hideGlobalLoaderType = \"HIDE_GLOBAL_LOADER\";\r\nexport const fetchNotificationsType = \"FETCH_NOTIFICATIONS\";\r\n\r\nconst initialState = {\r\n showLoginButton: true,\r\n drawerOpen: false,\r\n searchComponent: null,\r\n user: null,\r\n globalLoading: false,\r\n showPreScreen: true,\r\n snackBarMessage: \"\"\r\n};\r\n\r\nexport const actionCreators = {\r\n showGlobalLoader: () => ({ type: showGlobalLoaderType }),\r\n hideGlobalLoader: () => ({ type: hideGlobalLoaderType }),\r\n hideSnackBar: () => ({ type: hideSnackBarType }),\r\n checkLogin: () => async (dispatch, getState) => {\r\n var token = localStorage.getItem(\"accessToken\");\r\n if (token) {\r\n HttpUtil.fetchGet(\"api/Login/CheckToken\", { accessToken: token, refreshToken: localStorage.getItem(\"refreshToken\") }, true,\r\n data => {\r\n if (data.accessToken !== undefined) {\r\n localStorage.setItem(\"accessToken\", data.accessToken);\r\n localStorage.setItem(\"refreshToken\", data.refreshToken);\r\n localStorage.setItem(\"expires\", data.expires);\r\n }\r\n\r\n dispatch({\r\n type: checkLoginType,\r\n isLogin: data.errorCode === 200,\r\n user: data.profile\r\n });\r\n dispatch({ type: hidePreScreenType });\r\n },\r\n err => {\r\n dispatch({ type: checkLoginType, isLogin: false });\r\n dispatch({ type: hidePreScreenType });\r\n }\r\n );\r\n } else if (typeof document !== \"undefined\") {\r\n dispatch({ type: checkLoginType, isLogin: false });\r\n }\r\n },\r\n logout: () => (dispatch, getState) => {\r\n localStorage.removeItem(\"accessToken\");\r\n dispatch({ type: logoutType, isLogin: false });\r\n },\r\n hideDrawer: () => ({ type: hideDrawerType }),\r\n openDrawer: () => ({ type: openDrawerType })\r\n};\r\n\r\nexport const reducer = (state, action) => {\r\n state = state || initialState;\r\n\r\n if (action.type === showGlobalLoaderType) {\r\n return {\r\n ...state,\r\n globalLoading: true\r\n }\r\n }\r\n\r\n if (action.type === hideGlobalLoaderType) {\r\n return {\r\n ...state,\r\n globalLoading: false\r\n }\r\n }\r\n\r\n if (action.type === hidePreScreenType) {\r\n return {\r\n ...state,\r\n showPreScreen: false,\r\n globalLoading: false\r\n }\r\n }\r\n\r\n if (action.type === checkLoginType) {\r\n return {\r\n ...state,\r\n showLoginButton: action.isLogin,\r\n user: action.user\r\n }\r\n }\r\n\r\n if (action.type === logoutType) {\r\n return {\r\n ...state,\r\n drawerOpen: false,\r\n showLoginButton: false,\r\n user: null\r\n }\r\n }\r\n\r\n if (action.type === showSnackBarType) {\r\n return {\r\n ...state,\r\n snackBarMessage: action.message\r\n }\r\n }\r\n\r\n if (action.type === hideSnackBarType) {\r\n return {\r\n ...state,\r\n snackBarMessage: \"\"\r\n }\r\n }\r\n\r\n if (action.type === openDrawerType) {\r\n return {\r\n ...state,\r\n drawerOpen: true\r\n }\r\n }\r\n\r\n if (action.type === hideDrawerType) {\r\n return {\r\n ...state,\r\n drawerOpen: false\r\n }\r\n }\r\n return state;\r\n};\r\n","import HttpUtil from \"../util/HttpUtil\";\r\nimport { hidePreScreenType, showGlobalLoaderType, hideGlobalLoaderType, checkLoginType} from \"./NavMenu\";\r\n\r\nconst requestLoginType = \"REQUEST_LOGIN\";\r\nconst receiveLoginType = \"RECEIVE_LOGIN\";\r\nconst focusLoginType = \"FOCUS_LOGIN\";\r\nconst focusPasswordType = \"FOCUS_PASSWORD\";\r\nconst closeDialogType = \"CLOSE_DIALOG\";\r\nconst passwordChangedType = \"PASSWORD_CHANGED\"\r\n\r\nconst initialState = {\r\n isLoading: false,\r\n openRestoreDia: false\r\n};\r\n\r\nexport const actionCreators = {\r\n hideGlobalLoader: () => ({ type: hidePreScreenType }),\r\n requestLogin: (email, password) => async (dispatch, getState) => {\r\n if (email == null || password == null) {\r\n dispatch({\r\n type: receiveLoginType,\r\n error: \"Логин и пароль являются обязательными полями\"\r\n });\r\n return;\r\n }\r\n\r\n if (email.trim() === \"\") {\r\n dispatch({\r\n type: receiveLoginType,\r\n loginError: \"Введите логин\"\r\n });\r\n return;\r\n }\r\n \r\n if (password === \"\") {\r\n dispatch({\r\n type: receiveLoginType,\r\n passwordError: \"Введите пароль\"\r\n });\r\n return;\r\n }\r\n\r\n dispatch({ type: requestLoginType });\r\n dispatch({ type: showGlobalLoaderType });\r\n\r\n HttpUtil.fetchGet(\"api/Login/SignIn\",\r\n {\r\n email,\r\n password\r\n },\r\n false,\r\n data => {\r\n dispatch({ type: hideGlobalLoaderType });\r\n if (data.accessToken) {\r\n localStorage.setItem(\"accessToken\", data.accessToken);\r\n localStorage.setItem(\"refreshToken\", data.refreshToken);\r\n localStorage.setItem(\"expires\", data.expires);\r\n dispatch({\r\n type: checkLoginType,\r\n user: data.profile,\r\n isLogin: true\r\n });\r\n }\r\n dispatch({\r\n type: receiveLoginType,\r\n error: data.errorDescription === \"invalid_username_or_password\" ?\r\n \"Неправильный логин или пароль\" :\r\n data.errorDescription\r\n });\r\n },\r\n err => {\r\n dispatch({\r\n type: receiveLoginType,\r\n error: err.message\r\n })\r\n }\r\n )\r\n },\r\n focusLogin: () => ({ type: focusLoginType }),\r\n focusPassword: () => ({ type: focusPasswordType }),\r\n closeDialog: () => ({ type: closeDialogType }),\r\n restorePass: (email) => async (dispatch, getState) => {\r\n if (email == null || email.trim() === \"\") {\r\n dispatch({\r\n type: receiveLoginType,\r\n error: \"Введите почту для восстановления пароля\"\r\n });\r\n return;\r\n }\r\n\r\n dispatch({ type: requestLoginType });\r\n dispatch({ type: showGlobalLoaderType });\r\n\r\n HttpUtil.fetchGet(\"api/Login/Restore\",\r\n {\r\n email\r\n },\r\n false,\r\n data => {\r\n dispatch({ type: hideGlobalLoaderType });\r\n if (data.error) {\r\n localStorage.set(\"accessToken\", data.accessToken);\r\n localStorage.setItem(\"refreshToken\", data.refreshToken);\r\n localStorage.setItem(\"expires\", data.expires);\r\n dispatch({\r\n type: receiveLoginType,\r\n error: \"Произошла ошибка при сбросе пароля, обратитесь к администратору системы\"\r\n });\r\n }\r\n dispatch({ type: passwordChangedType })\r\n },\r\n err => {\r\n dispatch({\r\n type: receiveLoginType,\r\n error: err.message\r\n })\r\n }\r\n )\r\n },\r\n};\r\n\r\n\r\nexport const reducer = (state, action) => {\r\n state = state || initialState;\r\n switch (action.type) {\r\n case closeDialogType:\r\n return Object.assign({}, state, {\r\n error: undefined\r\n });\r\n case focusLoginType:\r\n return Object.assign({}, state, {\r\n loginError: undefined\r\n });\r\n case focusPasswordType:\r\n return Object.assign({}, state, {\r\n passwordError: undefined\r\n });\r\n case requestLoginType:\r\n return Object.assign({}, state, {\r\n isLoading: true\r\n });\r\n case receiveLoginType:\r\n return Object.assign({}, state, {\r\n error: action.error,\r\n loginError: action.loginError,\r\n passwordError: action.passwordError,\r\n isLoading: false\r\n });\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { showGlobalLoaderType, hideGlobalLoaderType } from './NavMenu';\r\nimport HttpUtil from '../util/HttpUtil';\r\n\r\nconst fetchFiltersType = \"FETCH_CLIENT_FILTERS\";\r\n\r\nconst initialState = {\r\n filters: null\r\n};\r\n\r\nexport const actionCreators = {\r\n fetchFilters: () => async (dispatch, getState) => {\r\n HttpUtil.fetchGet(\"api/Requests/GetFilters\", {}, true,\r\n data => {\r\n dispatch({ type: fetchFiltersType, filters: data });\r\n }\r\n );\r\n },\r\n showLoader: () => ({ type: showGlobalLoaderType }),\r\n stopLoader: () => ({ type: hideGlobalLoaderType })\r\n};\r\n\r\nexport const reducer = (state, action) => {\r\n state = state || initialState;\r\n\r\n if (action.type === fetchFiltersType) {\r\n return {\r\n ...state,\r\n filters: action.filters\r\n };\r\n }\r\n\r\n return state;\r\n};\r\n","import { showGlobalLoaderType, hideGlobalLoaderType } from './NavMenu';\r\n\r\nconst initialState = {\r\n};\r\n\r\nexport const actionCreators = {\r\n showLoader: () => ({ type: showGlobalLoaderType }),\r\n stopLoader: () => ({ type: hideGlobalLoaderType })\r\n};\r\n\r\nexport const reducer = (state, action) => {\r\n state = state || initialState;\r\n\r\n return state;\r\n};\r\n","import HttpUtil from \"../util/HttpUtil\";\r\nimport { showGlobalLoaderType, hideGlobalLoaderType } from './NavMenu';\r\n\r\nexport const fetchUsersDataType = \"FETCH_TELEGRAM_USERS_DATA\";\r\nexport const clearUsersGridType = \"CLEAR_TELEGRAM_USERS_DATA\";\r\nexport const addUserType = 'ADD_TG_USER';\r\nexport const editUserType = 'EDIT_TG_USER';\r\nexport const deleteUserType = 'DELETE_TG_USER';\r\n\r\n\r\nconst initialState = {\r\n users: null,\r\n isLoading: true\r\n};\r\n\r\nexport const actionCreators = {\r\n showGlobalLoader: () => ({ type: showGlobalLoaderType }),\r\n hideGlobalLoader: () => ({ type: hideGlobalLoaderType }),\r\n fetch: () => async (dispatch, getState) => {\r\n dispatch({ type: showGlobalLoaderType });\r\n HttpUtil.fetchGet(\"api/TelegramUsers\", null, true,\r\n data => {\r\n console.log(data);\r\n dispatch({ type: fetchUsersDataType, users: data });\r\n\r\n }\r\n );\r\n dispatch({ type: hideGlobalLoaderType });\r\n }\r\n};\r\n\r\nexport const reducer = (state, action) => {\r\n state = state || initialState;\r\n\r\n\r\n if (action.type === clearUsersGridType) {\r\n return {\r\n ...state,\r\n users: null,\r\n isLoading: true\r\n }\r\n }\r\n\r\n if (action.type === fetchUsersDataType) {\r\n return {\r\n ...state,\r\n users: action.users,\r\n isLoading: false,\r\n };\r\n \r\n }\r\n\r\n if (action.type === addUserType) {\r\n if (state.users === null) {\r\n return state;\r\n }\r\n var user = action.fields;\r\n \r\n\r\n user.createDate = new Date().toISOString();\r\n user.status = \"Активен\";\r\n\r\n return {\r\n ...state,\r\n users: [...state.users, user]\r\n };\r\n }\r\n\r\n if (action.type === editUserType) {\r\n if (state.users === null) {\r\n return state;\r\n }\r\n\r\n let users = state.users.map(n => {\r\n if (n.id === action.fields.id) {\r\n return {\r\n ...n,\r\n ...action.fields,\r\n client: action.client\r\n };\r\n }\r\n return n;\r\n });\r\n\r\n return {\r\n ...state,\r\n users\r\n };\r\n }\r\n\r\n if (action.type === deleteUserType) {\r\n let users = [...state.users];\r\n users = users.filter(u => u.id !== action.id);\r\n\r\n return {\r\n ...state,\r\n users\r\n };\r\n }\r\n\r\n return state;\r\n};\r\n","import HttpUtil from '../util/HttpUtil';\r\nimport { showGlobalLoaderType, hideGlobalLoaderType, showSnackBarType } from './NavMenu';\r\n\r\nconst startAddUserType = 'START_ADD_TG_USER';\r\nexport const addUserType = 'ADD_TG_USER';\r\nexport const errorType = 'ERROR_ADD_TG_USER_TYPE';\r\nexport const editUserType = 'EDIT_TG_USER';\r\nexport const deleteUserType = 'DELETE_TG_USER';\r\nconst stopSavingType = \"STOP_TG_USER_SAVING\";\r\n\r\nconst initialState = {\r\n isSaving: false,\r\n rights: null,\r\n user: null,\r\n clients: [],\r\n error: null\r\n};\r\n\r\nexport const actionCreators = {\r\n startLoadUser: () => ({ type: showGlobalLoaderType }),\r\n stopLoadUser: () => ({ type: hideGlobalLoaderType }),\r\n showSnackBar: (message) => ({ type: showSnackBarType, message }),\r\n addUser: (fields, callback) => async (dispatch, getState) => {\r\n dispatch({\r\n type: startAddUserType\r\n });\r\n\r\n dispatch({\r\n type: showGlobalLoaderType\r\n });\r\n\r\n HttpUtil.fetchEdit(\"api/TelegramUsers/Create\", JSON.stringify(fields), \"POST\", false,\r\n data => {\r\n if (data.error) {\r\n dispatch({\r\n type: showSnackBarType,\r\n message: data.error\r\n });\r\n\r\n dispatch({\r\n type: errorType\r\n });\r\n\r\n callback(\"/telegram\");\r\n\r\n dispatch({\r\n type: hideGlobalLoaderType\r\n });\r\n\r\n return;\r\n }\r\n dispatch({\r\n type: addUserType,\r\n error: data.error,\r\n fields: {\r\n ...fields,\r\n id: data.id\r\n }\r\n });\r\n\r\n dispatch({\r\n type: showSnackBarType,\r\n message: \"Новый пользователь Telegram успешно добавлен!\"\r\n });\r\n\r\n callback(\"/telegram\");\r\n\r\n dispatch({\r\n type: hideGlobalLoaderType\r\n });\r\n }\r\n );\r\n },\r\n editUser: (fields, callback) => async (dispatch, getState) => {\r\n dispatch({\r\n type: startAddUserType\r\n });\r\n dispatch({\r\n type: showGlobalLoaderType\r\n });\r\n HttpUtil.fetchEdit('api/TelegramUsers/' + fields.id, JSON.stringify(fields), \"PUT\", false,\r\n data => {\r\n if (data.reason) {\r\n dispatch({\r\n type: showSnackBarType,\r\n message: \"Ошибка сервера: \" + data.reason\r\n });\r\n\r\n dispatch({\r\n type: hideGlobalLoaderType\r\n });\r\n\r\n return;\r\n }\r\n\r\n dispatch({\r\n type: editUserType,\r\n fields: {\r\n ...fields,\r\n status: fields.status === 1 ? \"Заблокирован\" : \"Активен\"\r\n }\r\n });\r\n\r\n dispatch({\r\n type: hideGlobalLoaderType\r\n });\r\n\r\n let message = \"Пользователь Telegram успешно отредактирован!\" \r\n\r\n dispatch({\r\n type: showSnackBarType,\r\n message\r\n });\r\n\r\n callback(\"/telegram\");\r\n }\r\n )\r\n },\r\n deleteUser: (id, callback) => async (dispatch, getState) => {\r\n dispatch({\r\n type: startAddUserType\r\n });\r\n dispatch({\r\n type: showGlobalLoaderType\r\n });\r\n\r\n HttpUtil.fetchEdit(\"api/TelegramUsers/\" + id, {}, \"DELETE\", false,\r\n data => {\r\n dispatch({\r\n type: hideGlobalLoaderType\r\n });\r\n\r\n if (data.error) {\r\n alert(data.error);\r\n dispatch({\r\n type: stopSavingType\r\n });\r\n return;\r\n }\r\n\r\n dispatch({\r\n type: deleteUserType,\r\n id\r\n });\r\n\r\n dispatch({\r\n type: showSnackBarType,\r\n message: \"Пользователь Telegram успешно удален!\"\r\n });\r\n\r\n callback(\"/telegram\");\r\n }\r\n )\r\n },\r\n};\r\n\r\nexport const reducer = (state, action) => {\r\n state = state || initialState;\r\n\r\n if (action.type === startAddUserType) {\r\n return {\r\n ...state,\r\n isSaving: true\r\n }\r\n }\r\n\r\n if (action.type === addUserType) {\r\n return {\r\n ...state,\r\n isSaving: false\r\n }\r\n }\r\n\r\n if (action.type === errorType) {\r\n return {\r\n ...state,\r\n isSaving: false,\r\n error: action.error\r\n }\r\n }\r\n\r\n if (action.type === deleteUserType) {\r\n return {\r\n ...state,\r\n isSaving: false,\r\n error: null\r\n }\r\n }\r\n\r\n if (action.type === stopSavingType) {\r\n return {\r\n ...state,\r\n isSaving: false\r\n }\r\n }\r\n\r\n if (action.type === editUserType) {\r\n return {\r\n ...state,\r\n isSaving: false\r\n }\r\n }\r\n\r\n return state;\r\n};\r\n","import { hidePreScreenType, showGlobalLoaderType, hideGlobalLoaderType } from './NavMenu';\r\n\r\nconst initialState = {\r\n};\r\n\r\nexport const actionCreators = {\r\n \r\n showLoader: () => ({ type: showGlobalLoaderType }),\r\n stopLoader: () => ({ type: hideGlobalLoaderType }),\r\n hidePreScreen: () => ({ type: hidePreScreenType })\r\n};\r\n\r\nexport const reducer = (state, action) => {\r\n state = state || initialState;\r\n\r\n return state;\r\n};\r\n","import HttpUtil from '../util/HttpUtil';\r\nimport { showGlobalLoaderType, hideGlobalLoaderType, showSnackBarType } from './NavMenu';\r\n\r\nconst startFetchSettingsType = 'START_FETCH_SETTINGS';\r\nconst fetchSettingsType = 'FETCH_SETTINGS';\r\nconst startSaveStateType = 'START_SAVE_STATE';\r\nconst startSaveType = 'START_SETTINGS_SAVE';\r\nconst saveType = 'SETTINGS_SAVE';\r\n\r\nconst initialState = {\r\n settings: null,\r\n isLoading: true,\r\n isSaving: false\r\n};\r\n\r\nexport const actionCreators = {\r\n startSaveState: (settings) => async (dispatch, getState) => {\r\n dispatch({ type: startSaveStateType, settings});\r\n },\r\n saveSettings: (settings) => async (dispatch, getState) => {\r\n dispatch({ type: showGlobalLoaderType });\r\n dispatch({ type: startSaveType });\r\n HttpUtil.fetchEdit('api/Settings', JSON.stringify(settings), \"POST\", false,\r\n data => {\r\n if (data.result === \"OK\") {\r\n dispatch({ type: saveType });\r\n dispatch({ type: showSnackBarType, message: \"Настройки успешно сохранены!\" });\r\n dispatch({ type: hideGlobalLoaderType });\r\n }\r\n }\r\n )\r\n }\r\n};\r\n\r\nexport const reducer = (state, action) => {\r\n state = state || initialState;\r\n\r\n if (action.type === startSaveStateType) {\r\n return {\r\n ...state,\r\n settings: action.settings\r\n }\r\n }\r\n\r\n if (action.type === startFetchSettingsType) {\r\n return {\r\n ...state,\r\n isLoading: true\r\n }\r\n }\r\n\r\n if (action.type === fetchSettingsType) {\r\n return {\r\n ...state,\r\n isLoading: false,\r\n settings: action.settings\r\n }\r\n }\r\n\r\n if (action.type === startSaveType) {\r\n return {\r\n ...state,\r\n isSaving: true\r\n }\r\n }\r\n\r\n if (action.type === saveType) {\r\n return {\r\n ...state,\r\n isSaving: false\r\n }\r\n }\r\n\r\n return state;\r\n};\r\n\r\n","let HttpUtil = {\r\n fetchGet: (url, params, token, successCallback, failCallback) => {\r\n if (params) {\r\n url += \"?\";\r\n var paramsBody = Object.keys(params)\r\n .reduce((a, k) => {\r\n a.push(k + \"=\" + encodeURIComponent(params[k].toString()));\r\n return a;\r\n }, [])\r\n .join('&');\r\n url += paramsBody;\r\n }\r\n\r\n var options = {\r\n method: 'GET'\r\n };\r\n\r\n if (token) {\r\n options.headers = {\r\n 'Authorization': `Bearer ${localStorage.getItem(\"accessToken\")}`\r\n }\r\n }\r\n\r\n fetch(url, options)\r\n .then(response => {\r\n if (response.status === 200) {\r\n return response.json();\r\n } else {\r\n failCallback({\r\n status: response.status,\r\n statusText: response.statusText\r\n });\r\n }\r\n })\r\n .then(responseObj => {\r\n console.log(responseObj);\r\n if (responseObj !== undefined) {\r\n successCallback(responseObj);\r\n }\r\n })\r\n .catch(error => {\r\n if (failCallback)\r\n failCallback(error);\r\n });\r\n },\r\n\r\n fetchFile: (url, successCallback, failCallback) => {\r\n var options = {\r\n method: 'GET'\r\n };\r\n\r\n options.headers = {\r\n 'Authorization': `Bearer ${localStorage.getItem('accessToken')}`\r\n }\r\n\r\n fetch(url, options)\r\n .then(response => response.blob())\r\n .then(responseObj => {\r\n console.log(responseObj);\r\n if (responseObj !== undefined) {\r\n successCallback(responseObj);\r\n }\r\n })\r\n .catch(error => {\r\n if (failCallback)\r\n failCallback(error);\r\n });\r\n },\r\n\r\n fetchPostFile: (url, params, token, successCallback, failCallback) => {\r\n let data = new FormData();\r\n\r\n data.append('bytes', params.file);\r\n for (var key in params) {\r\n if (key !== 'file') {\r\n data.append(key, params[key])\r\n }\r\n };\r\n\r\n const options = {\r\n method: 'POST',\r\n headers: {\r\n //'Accept': 'application/json',\r\n //'Content-Type': 'multipart/form-data',\r\n //'Content-Language': React.NativeModules.RNI18n.locale,\r\n 'Authorization': `Bearer ${localStorage.getItem('accessToken')}`\r\n },\r\n body: data,\r\n }\r\n\r\n fetch(url, options)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(responseObj => {\r\n successCallback(responseObj);\r\n })\r\n .catch(error => {\r\n if (failCallback)\r\n failCallback(error);\r\n });\r\n },\r\n\r\n fetchPost: (url, params, token, successCallback, failCallback) => {\r\n if (typeof params !== 'string')\r\n url += \"?\";// \"?key=\" + KEY;\r\n\r\n var options = {\r\n method: 'POST'\r\n };\r\n\r\n if (typeof params !== 'string') {\r\n var paramsBodyArr = Object.keys(params)\r\n .reduce((a, k) => {\r\n if (k !== 'picture' && k !== 'text' && params[k] != null) {\r\n a.push(k + \"=\" + encodeURIComponent(params[k].toString()));\r\n }\r\n return a;\r\n }, []);\r\n var paramsBody = paramsBodyArr.join('&');\r\n url += /*\"&\" + */paramsBody;\r\n } else {\r\n options.body = `'${params}'`\r\n }\r\n\r\n if (token) {\r\n options.headers = {\r\n 'Authorization': `Bearer ${localStorage.getItem('accessToken')}`,\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n else {\r\n options.headers = {\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n\r\n fetch(url, options)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(responseObj => {\r\n successCallback(responseObj);\r\n })\r\n .catch(error => {\r\n if (failCallback)\r\n failCallback(error);\r\n });\r\n },\r\n\r\n fetchEdit: (url, params, method, stringify, successCallback, failCallback) => {\r\n var options = {\r\n method: method,\r\n body: stringify ? `'${params}'` : `${params}`,\r\n headers: {\r\n 'Authorization': `Bearer ${localStorage.getItem('accessToken')}`,\r\n 'Content-Type': 'application/json'\r\n }\r\n };\r\n\r\n fetch(url, options)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(responseObj => {\r\n successCallback(responseObj);\r\n })\r\n .catch(error => {\r\n if (failCallback)\r\n failCallback(error);\r\n });\r\n },\r\n\r\n fetchPostUser: (url, params, method, stringify, successCallback, failCallback) => {\r\n var options = {\r\n method: method,\r\n body: stringify ? `'${params}'` : `${params}`,\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n };\r\n\r\n fetch(url, options)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(responseObj => {\r\n successCallback(responseObj);\r\n })\r\n .catch(error => {\r\n if (failCallback)\r\n failCallback(error);\r\n });\r\n },\r\n}\r\n\r\nexport default HttpUtil;\r\n","import React, { Component } from \"react\";\r\n\r\nexport default function asyncComponent(importComponent) {\r\n class AsyncComponent extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n component: null\r\n };\r\n }\r\n\r\n async componentDidMount() {\r\n const { default: component } = await importComponent();\r\n\r\n this.setState({\r\n component: component\r\n });\r\n }\r\n\r\n render() {\r\n const C = this.state.component;\r\n\r\n return C ? : null;\r\n }\r\n }\r\n\r\n return AsyncComponent;\r\n}\r\n","import React from 'react';\r\nimport { Route, Switch } from 'react-router';\r\nimport asyncComponent from './components/AsyncComponent';\r\n\r\nconst Layout = asyncComponent(() => import(\"./components/Layout\"));\r\nconst Requests = asyncComponent(() => import(\"./components/Requests\"));\r\nconst Login = asyncComponent(() => import(\"./components/Login\"));\r\nconst TakeLogin = asyncComponent(() => import(\"./components/TakeLogin\"));\r\nconst TelegramUsers = asyncComponent(() => import(\"./components/TelegramUsers\"));\r\nconst TelegramUserEdit = asyncComponent(() => import(\"./components/TelegramUserEdit\"));\r\nconst Settings = asyncComponent(() => import(\"./components/Settings\"));\r\nconst RequestView = asyncComponent(() => import(\"./components/RequestView\"));\r\n\r\n\r\nexport default () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n);","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport default function register() {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log('New content is available; please refresh.');\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { Provider } from 'react-redux';\r\nimport { ConnectedRouter } from 'connected-react-router';\r\nimport { createBrowserHistory } from 'history';\r\nimport configureStore from './store/configureStore';\r\nimport App from './App';\r\nimport registerServiceWorker from './registerServiceWorker';\r\nimport { MuiThemeProvider, createMuiTheme } from '@material-ui/core/styles';\r\n\r\n// Create browser history to use in the Redux store\r\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\nconst history = createBrowserHistory({ basename: baseUrl });\r\n\r\n// Get the application-wide store instance, prepopulating with state from the server where available.\r\nconst initialState = window.initialReduxState;\r\n\r\nconst store = configureStore(history, initialState);\r\nconst theme = createMuiTheme({\r\n overrides: {\r\n MuiTableCell: {\r\n root: {\r\n //padding: '4px 24px 4px 24px'\r\n },\r\n }\r\n },\r\n palette: {\r\n background: {\r\n default: '#f1f1f1'\r\n },\r\n secondary: {\r\n main: '#0b2d50',\r\n light: '#13375c',\r\n dark: '#061e38',\r\n contrastText: '#ffffff'\r\n },\r\n primary: {\r\n main: '#0b2d50',\r\n light: '#13375c',\r\n dark: '#061e38',\r\n contrastText: '#0b2d50'\r\n },\r\n text: {\r\n secondary: 'grey'\r\n },\r\n }\r\n});\r\n\r\nconst rootElement = document.getElementById('root');\r\n\r\nwindow.checkMobile = () => {\r\n var check = false;\r\n (function (a) { if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(a.substr(0, 4))) check = true; })(navigator.userAgent || navigator.vendor || window.opera);\r\n return check;\r\n}\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n \r\n ,\r\n rootElement);\r\n\r\nregisterServiceWorker();\r\n","import { applyMiddleware, combineReducers, compose, createStore } from 'redux';\r\nimport thunk from 'redux-thunk';\r\nimport { connectRouter, routerMiddleware } from 'connected-react-router';\r\nimport * as Login from './Login';\r\nimport * as NavMenu from './NavMenu';\r\nimport * as Requests from './Requests';\r\nimport * as RequestView from \"./RequestView\";\r\nimport * as TelegramUsers from \"./TelegramUsers\";\r\nimport * as TelegramUserEdit from \"./TelegramUserEdit\";\r\nimport * as TakeLogin from \"./TakeLogin\";\r\nimport * as Settings from \"./Settings\";\r\n\r\nexport default function configureStore (history, initialState) {\r\n const reducers = {\r\n login: Login.reducer,\r\n navMenu: NavMenu.reducer,\r\n requests: Requests.reducer,\r\n requestView: RequestView.reducer,\r\n telegramUsers: TelegramUsers.reducer,\r\n telegramUserEdit: TelegramUserEdit.reducer,\r\n tekeLogin: TakeLogin.reducer,\r\n settings: Settings.reducer\r\n\r\n };\r\n\r\n const middleware = [\r\n thunk,\r\n routerMiddleware(history)\r\n ];\r\n\r\n // In development, use the browser's Redux dev tools extension if installed\r\n const enhancers = [];\r\n const isDevelopment = process.env.NODE_ENV === 'development';\r\n if (isDevelopment && typeof window !== 'undefined' && window.devToolsExtension) {\r\n enhancers.push(window.devToolsExtension());\r\n }\r\n\r\n const rootReducer = combineReducers({\r\n ...reducers,\r\n router: connectRouter(history)\r\n });\r\n\r\n return createStore(\r\n rootReducer,\r\n initialState,\r\n compose(applyMiddleware(...middleware), ...enhancers)\r\n );\r\n}\r\n"],"sourceRoot":""}