{"version":3,"sources":["actions/types.js","reducers/auth.js","reducers/index.js","reducers/documents.js","reducers/contracts.js","reducers/users.js","reducers/admins.js","reducers/message.js","store.js","config/config.js","services/auth.service.js","actions/auth.js","screens/LoginPage.js","screens/RegisterPage.js","components/Messages.js","screens/ResetPage.js","screens/HomePage.js","actions/form.action.js","screens/ProfilePage.js","actions/message.js","helpers/history.js","components/Header.js","common/EventBus.js","common/AuthVerify.js","actions/contract.action.js","actions/user.action.js","components/UserPersonal.js","components/UserContractDetail.js","components/UserContract.js","actions/document.action.js","components/UserDocumentDetail.js","components/UserDocument.js","screens/BoardUser.js","actions/admin.action.js","screens/BoardSupervisor.js","actions/supervisor.action.js","components/Pagination.js","components/AllUser.js","components/AllContract.js","components/AllDocument.js","screens/BoardAdmin.js","screens/ResetPassword.js","screens/BoardOperator.js","components/NotificationList.js","screens/Notification.js","pages/Page404.js","helpers/PrivateRoute.js","helpers/ResetPrivateRoute.js","App.js","serviceWorker.js","index.js"],"names":["REGISTER_SUCCESS","REGISTER_FAIL","LOGIN_SUCCESS","LOGIN_FAIL","LOGOUT","USER_ALL_SUCCESS","USER_GET_SUCCESS","USER_GET_FAIL","USER_ALL_FAIL","CONTRACT_GET_SUCCESS","CONTRACT_ALL_SUCCESS","CONTRACT_GET_FAIL","CONTRACT_ALL_FAIL","DOCUMENT_ALL_SUCCESS","DOCUMENT_ALL_FAIL","DOCUMENT_GET_FAIL","DOCUMENT_GET_SUCCESS","ROLE_ALL_SUCCESS","ROLE_ALL_FAIL","CHANGE_STATUS_FAIL","USER_MODE_SUCCESS","SET_MESSAGE","CLEAR_MESSAGE","NOTIFICATION_SUCCESS","NOTIFICATION_FAIL","user","JSON","parse","localStorage","getItem","initialState","isLoggedIn","combineReducers","documents","state","current","action","type","payload","contracts","users","auth","admins","roles","notifications","message","middleware","thunk","store","createStore","rootReducer","composeWithDevTools","applyMiddleware","API_url","API_URL","firstname","lastname","email","password","axios","post","then","response","data","accessToken","setItem","stringify","removeItem","logout","dispatch","AuthService","required","value","className","role","LoginPage","props","useEffect","document","body","style","backgroundColor","form","useRef","checkBtn","useState","setEmail","setPassword","loading","setLoading","useSelector","useDispatch","to","color","num","bg","src","alt","onSubmit","e","preventDefault","validateAll","context","_errors","length","Promise","resolve","error","toString","reject","login","history","push","catch","ref","htmlFor","name","onChange","target","validations","disabled","display","href","validEmail","isEmail","vpassword","RegisterPage","setFirstName","setLastName","confirmPassword","setConfirmPassword","successful","setSuccessful","infoMessage","setInfoMessage","isVisible","setIsVisible","setTimeout","register","conPassword","Message","variant","children","Alert","defaultProps","ResetPage","setMessage","res","placeholder","initialcontactForm","phone","query","HomePage","contactForm","setcontactForm","visible","setVisible","handleFormInput","replace","handleFormClear","window","addEventListener","scrolled","documentElement","scrollTop","id","backgroundImage","width","a","status","pattern","patern","rows","onClick","scrollTo","top","behavior","ProfilePage","currentUser","username","substring","substr","map","index","clearMessage","createBrowserHistory","Header","showOperatorBoard","setShowOperatorBoard","showSupervisorBoard","setShowSupervisorBoard","showAdminBoard","setShowAdminBoard","setShowUserBoard","expanded","setExpanded","active","filter","item","isActive","listen","location","logOut","useCallback","includes","Navbar","expand","Container","Brand","height","Toggle","Collapse","zIndex","Nav","Item","Link","Badge","NavDropdown","title","split","eventBus","on","event","callback","detail","dispatchEvent","CustomEvent","remove","removeEventListener","withRouter","atob","exp","Date","now","getUserContract","getState","config","headers","get","getOneUser","imgUrl","middlename","phone1","phone2","birthDate","placeOfBirth","nativeLanguage","gender","countryOrigin","race","address","address_line_1","address_line_2","city","zip_code","initialSocials","url","initialNewPass","currentpassword","newpass1","newpass2","socialMedia","UserPersonal","isEditing","setisEditing","imgFile","setimgFile","setstate","uploadMessage","setuploadMessage","show","setshow","showPass","setshowPass","socials","setsocials","newpassState","setnewpassState","alert","setalert","inputReference","React","createRef","setCurrenttoState","handleInput","handleInputPass","handleInputAddress","handleCancelPassUpdate","fontSize","fontWeight","URL","createObjectURL","Form","Control","hidden","accept","files","startsWith","click","right","cursor","Button","size","file","FormData","append","position","put","updateUser","Modal","onHide","backdrop","centered","closeButton","Title","updateUserPassword","newPassword","Body","Group","Label","column","Footer","Row","controlId","as","Col","social","i","InputGroup","DropdownButton","Dropdown","tempSocial","text","handleSelectSocial","Text","handleInputSocial","dateFormat","user_id","contractname","company","salary","hireDate","endDate","employmentBasis","workMonths","UserContractDetail","contract","setisWorking","handleCheckDates","isContracting","setisContracting","danger","setWarning","setmessage","deleteMessage","setdeleteMessage","deletealert","setdeletealert","_id","updateUserContract","FormControl","undefined","delete","initialContract","UserContract","showModal","setshowModal","newcontract","setnewcontract","isWorking","sorted","sort","b","handleWorking","edited","findIndex","handleCancel","addNewContract","getUserDocument","updateUserDocument","downloadDocument","fetch","blob","resData","downloadHRDocument","downloadHr","UserDocumentDetail","handleChangeShow","visibleDocument","isDocumenting","setisDocumenting","newFile","setnewFile","linkReference","downloadURL","setdownloadURL","warnWidth","setwarnWidth","console","log","objectURL","file_type","selectType","download","borderColor","OverlayTrigger","placement","overlay","Tooltip","triggerHandler","initialDocument","UserDocument","newdocument","setnewdocument","inputReferenceNew","setvisibleDocument","visibleDoc","find","addNewDocument","BoardUser","maxWidth","margin","Tabs","defaultActiveKey","Tab","eventKey","getAllUsers","page","searchValue","searchStatus","searchQuery","toLowerCase","meta","getNotifications","changeNoticeStatus","msg","changeUserStatus","changeUserVisible","sendUsertoHR","BoardSupervisor","setsearchValue","HRmail","setHRmail","sendMessage","setsendMessage","copySuccess","setCopySuccess","cvReference","codeAreaRef","userDocuments","handleSearch","lg","Card","Img","charAt","toUpperCase","slice","userContracts","sm","ListGroup","ListGroupItem","toLocaleDateString","code","cols","outline","border","resize","readOnly","select","execCommand","Check","defaultChecked","showOperator","totalItems","currentPage","pageSize","totalPages","startPage","endPage","startIndex","endIndex","pages","Pagination","onChangePage","pager","setpager","isMobile","useMediaQuery","Math","ceil","min","Array","keys","getPager","setPage","boxShadow","jobStatus","AllUser","setcurrentPage","settotalItems","selected","setselected","selectedRole","setselectedRole","rolesAll","setrolesAll","setShow","setisLoading","setstatus","handleClose","total","temp_selectedRole","checked","filteredRole","pageNum","Table","striped","bordered","hover","responsive","inline","label","onRowClick","elem","keyboard","updatedAt","role_id","changeUserRole","AllContract","getAllContracts","selectedcontract","AllFile","selectedUser","setselectedUser","getAllDocuments","selecteddocument","createdAt","handleDownload","BoardAdmin","AllDocument","ResetPassword","currentHref","tokenStartIndex","indexOf","tokenEndIndex","token","idStartIndex","lastIndexOf","err","BoardOperator","setCode","lengthCode","showUsertoHR","NotificationList","handleActivate","sendUserConfirmation","overflowX","left","notification_name","NotificationListP","handleDelete","deleteNotification","Notification","Page404","ProtectedRoute","isAuth","Component","component","rest","render","pathname","from","ResetPrivateRoute","showComponent","setshowComponent","App","showUserBoard","EventBus","setInterval","exact","path","PrivateRoute","Boolean","hostname","match","ReactDOM","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.51a7c6ea.chunk.js","sourcesContent":["export const REGISTER_SUCCESS = \"REGISTER_SUCCESS\";\r\nexport const REGISTER_FAIL = \"REGISTER_FAIL\";\r\nexport const LOGIN_SUCCESS = \"LOGIN_SUCCESS\";\r\nexport const LOGIN_FAIL = \"LOGIN_FAIL\";\r\nexport const LOGOUT = \"LOGOUT\";\r\n\r\nexport const CONTACT_FORM_SUCCESS = \"CONTACT_FORM_SUCCESS\";\r\nexport const CONTACT_FORM_FAIL = \"CONTACT_FORM_FAIL\";\r\n\r\nexport const USER_ALL_SUCCESS = \"USER_ALL_SUCCESS\";\r\nexport const USER_GET_SUCCESS = \"USER_GET_SUCCESS\";\r\nexport const USER_GET_FAIL = \"USER_GET_FAIL\";\r\nexport const USER_ALL_FAIL = \"USER_ALL_FAIL\";\r\n\r\nexport const CONTRACT_GET_SUCCESS = \"CONTRACT_GET_SUCCESS\";\r\nexport const CONTRACT_ALL_SUCCESS = \"CONTRACT_ALL_SUCCESS\";\r\nexport const CONTRACT_GET_FAIL = \"CONTRACT_GET_FAIL\";\r\nexport const CONTRACT_ALL_FAIL = \"CONTRACT_ALL_FAIL\";\r\nexport const CONTRACT_ADD_FAIL = \"CONTRACT_ADD_FAIL\";\r\nexport const CONTRACT_DELETE_FAIL = \"CONTRACT_DELETE_FAIL\";\r\n\r\nexport const DOCUMENT_ALL_SUCCESS = \"DOCUMENT_ALL_SUCCESS\";\r\nexport const DOCUMENT_ALL_FAIL = \"DOCUMENT_ALL_FAIL\";\r\nexport const DOCUMENT_GET_FAIL = \"DOCUMENT_GET_FAIL\";\r\nexport const DOCUMENT_GET_SUCCESS = \"DOCUMENT_GET_SUCCESS\";\r\nexport const DOCUMENT_DELETE_FAIL = \"DOCUMENT_DELETE_FAIL\";\r\nexport const DOCUMENT_ADD_FAIL = \"DOCUMENT_ADD_FAIL\";\r\n\r\nexport const ROLE_ALL_SUCCESS = \"ROLE_ALL_SUCCESS\";\r\nexport const ROLE_ALL_FAIL = \"ROLE_ALL_FAIL\";\r\n\r\nexport const GENERATE_GET_FAIL = \"GENERATE_GET_FAIL\";\r\nexport const GENERATE_GET_SUCCESS = \"GENERATE_GET_SUCCESS\";\r\nexport const GENERATE_ALL_SUCCESS = \"GENERATE_ALL_SUCCESS\";\r\nexport const GENERATE_ALL_FAIL = \"GENERATE_ALL_FAIL\";\r\n\r\nexport const CHANGE_STATUS_FAIL = \"CHANGE_STATUS_FAIL\";\r\n\r\nexport const USER_MODE_SUCCESS = \"USER_MODE_SUCCESS\"; \r\nexport const MOD_USER_SUCCESS = \"MOD_USER_SUCCESS\"; \r\nexport const MOD_USER_FAIL = \"MOD_USER_FAIL\"; \r\n\r\nexport const SET_MESSAGE = \"SET_MESSAGE\";\r\nexport const CLEAR_MESSAGE = \"CLEAR_MESSAGE\";\r\n\r\nexport const NOTIFICATION_SUCCESS = \"NOTIFICATION_SUCCESS\";\r\nexport const NOTIFICATION_FAIL = \"NOTIFICATION_FAIL\";\r\n\r\n//Operator Page Actions\r\nexport const SEND_DATA_REQUEST = \"SEND_DATA_REQUEST\";\r\nexport const SEND_DATA_SUCCESS = \"SEND_DATA_SUCCESS\";\r\nexport const SEND_DATA_FAILED = \"SEND_DATA_FAILED\";\r\n\r\n","import {\r\n REGISTER_SUCCESS,\r\n REGISTER_FAIL,\r\n LOGIN_SUCCESS,\r\n LOGIN_FAIL,\r\n LOGOUT,\r\n} from \"../actions/types\";\r\n\r\nconst user = JSON.parse(localStorage.getItem(\"user\"));\r\n\r\nconst initialState = user\r\n ? { isLoggedIn: true, user }\r\n : { isLoggedIn: false, user: null };\r\n\r\nexport default function (state = initialState, action) {\r\n const { type, payload } = action;\r\n\r\n switch (type) {\r\n case REGISTER_SUCCESS:\r\n return {\r\n ...state,\r\n isLoggedIn: false,\r\n };\r\n case REGISTER_FAIL:\r\n return {\r\n ...state,\r\n isLoggedIn: false,\r\n };\r\n case LOGIN_SUCCESS:\r\n return {\r\n isLoggedIn: true,\r\n user: payload.user,\r\n };\r\n case LOGIN_FAIL:\r\n return {\r\n isLoggedIn: false,\r\n user: null,\r\n };\r\n case LOGOUT:\r\n return {\r\n isLoggedIn: false,\r\n user: null,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { combineReducers } from \"redux\";\r\nimport users from \"./users\";\r\nimport contracts from \"./contracts\";\r\nimport documents from \"./documents\";\r\nimport auth from \"./auth\";\r\nimport admins from \"./admins\";\r\nimport message from \"./message\";\r\n\r\nexport default combineReducers({\r\n documents,\r\n contracts,\r\n users,\r\n auth,\r\n admins,\r\n message,\r\n});\r\n","import {\r\n DOCUMENT_GET_SUCCESS,\r\n DOCUMENT_GET_FAIL,\r\n LOGOUT\r\n} from \"../actions/types\";\r\n\r\n\r\nexport default function (state = {current:null }, action) {\r\n const { type, payload } = action;\r\n // console.log(payload)\r\n switch (type) {\r\n case DOCUMENT_GET_SUCCESS:\r\n return {\r\n current: payload\r\n };\r\n case DOCUMENT_GET_FAIL:\r\n return state;\r\n case LOGOUT:\r\n return {\r\n current: null,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n CONTRACT_GET_SUCCESS,\r\n CONTRACT_GET_FAIL,\r\n LOGOUT\r\n} from \"../actions/types\";\r\n\r\n\r\nexport default function (state = {current:null }, action) {\r\n const { type, payload } = action;\r\n //console.log(payload)\r\n switch (type) {\r\n case CONTRACT_GET_SUCCESS:\r\n return {\r\n current: payload\r\n };\r\n case CONTRACT_GET_FAIL:\r\n return state;\r\n case LOGOUT:\r\n return {\r\n current: null,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n USER_GET_SUCCESS,\r\n USER_GET_FAIL,\r\n USER_MODE_SUCCESS,\r\n LOGOUT\r\n} from \"../actions/types\";\r\n\r\n\r\nexport default function (state = {current:null, users:[] }, action) {\r\n const { type, payload } = action;\r\n //console.log(payload)\r\n switch (type) {\r\n case USER_GET_SUCCESS:\r\n return {\r\n ...state,\r\n current: payload\r\n };\r\n case USER_MODE_SUCCESS:\r\n return {\r\n ...state,\r\n users: payload\r\n };\r\n case USER_GET_FAIL:\r\n return state;\r\n case LOGOUT:\r\n return {\r\n current: null,\r\n users:[]\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n USER_ALL_SUCCESS,\r\n USER_ALL_FAIL,\r\n CONTRACT_ALL_SUCCESS,\r\n CONTRACT_ALL_FAIL,\r\n DOCUMENT_ALL_SUCCESS,\r\n DOCUMENT_ALL_FAIL,\r\n ROLE_ALL_SUCCESS,\r\n ROLE_ALL_FAIL,\r\n NOTIFICATION_SUCCESS,\r\n NOTIFICATION_FAIL,\r\n LOGOUT\r\n} from \"../actions/types\";\r\n\r\n\r\nexport default function (state = {users:[] , contracts:[], roles:[], documents:[], notifications:[]}, action) {\r\n const { type, payload } = action;\r\n //console.log(payload)\r\n switch (type) {\r\n case USER_ALL_SUCCESS:\r\n return {\r\n ...state,\r\n users: payload\r\n };\r\n case USER_ALL_FAIL:\r\n return state;\r\n case CONTRACT_ALL_SUCCESS:\r\n return {\r\n ...state,\r\n contracts: payload\r\n };\r\n case CONTRACT_ALL_FAIL:\r\n return state;\r\n case DOCUMENT_ALL_SUCCESS:\r\n return {\r\n ...state,\r\n documents: payload\r\n };\r\n case DOCUMENT_ALL_FAIL:\r\n return state;\r\n case ROLE_ALL_SUCCESS:\r\n return {\r\n ...state,\r\n roles: payload\r\n };\r\n case ROLE_ALL_FAIL:\r\n return state;\r\n case NOTIFICATION_SUCCESS:\r\n return {\r\n ...state,\r\n notifications: payload\r\n };\r\n case NOTIFICATION_FAIL:\r\n return state;\r\n case LOGOUT:\r\n return {\r\n users: [],\r\n contracts: [],\r\n roles:[],\r\n documents:[],\r\n notifications:[]\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { SET_MESSAGE, CLEAR_MESSAGE } from \"../actions/types\";\r\n\r\nconst initialState = \"\";\r\n\r\nexport default function (state = initialState, action) {\r\n const { type, payload } = action;\r\n\r\n switch (type) {\r\n case SET_MESSAGE:\r\n return payload ;\r\n\r\n case CLEAR_MESSAGE:\r\n return initialState;\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { createStore, applyMiddleware } from \"redux\";\r\nimport { composeWithDevTools } from \"redux-devtools-extension\";\r\nimport thunk from \"redux-thunk\";\r\nimport rootReducer from \"./reducers\";\r\n//import logger from \"redux-logger\";\r\n\r\nconst middleware = [thunk];\r\n\r\nconst store = createStore(\r\n rootReducer,\r\n composeWithDevTools(applyMiddleware(...middleware))\r\n);\r\n\r\nexport default store;\r\n","//export const API_url = \"http://localhost:8080\";\r\nexport const API_url = \"http://api.xprsoft.com\";\r\n//export const API_url = \"http://31.220.21.212:8090\";","import axios from \"axios\";\r\nimport { API_url } from \"../config/config\";\r\n\r\nconst API_URL = `${API_url}/api/auth/`;\r\n\r\nconst register = (firstname, lastname, email, password) => {\r\n return axios.post(API_URL + \"signup\", {\r\n firstname,\r\n lastname,\r\n email,\r\n password,\r\n });\r\n};\r\n\r\nconst login = (email, password) => {\r\n return axios\r\n .post(API_URL + \"signin\", {\r\n email,\r\n password,\r\n })\r\n .then((response) => {\r\n if (response.data.accessToken) {\r\n localStorage.setItem(\"user\", JSON.stringify(response.data));\r\n }\r\n\r\n return response.data;\r\n });\r\n};\r\n\r\nconst logout = () => {\r\n localStorage.removeItem(\"user\");\r\n};\r\n\r\nexport default {\r\n register,\r\n login,\r\n logout,\r\n};\r\n","import {\r\n REGISTER_SUCCESS,\r\n REGISTER_FAIL,\r\n LOGIN_SUCCESS,\r\n LOGIN_FAIL,\r\n LOGOUT,\r\n SET_MESSAGE,\r\n CLEAR_MESSAGE\r\n} from \"./types\";\r\n\r\nimport AuthService from \"../services/auth.service\";\r\n\r\nexport const register =\r\n (firstname, lastname, email, password) => (dispatch) => {\r\n return AuthService.register(firstname, lastname, email, password).then(\r\n (response) => {\r\n dispatch({\r\n type: REGISTER_SUCCESS,\r\n });\r\n\r\n dispatch({\r\n type: SET_MESSAGE,\r\n payload: response.data.message,\r\n });\r\n setTimeout(() => {\r\n dispatch({\r\n type: CLEAR_MESSAGE,\r\n });\r\n }, 3000);\r\n return Promise.resolve();\r\n },\r\n (error) => {\r\n const message =\r\n (error.response &&\r\n error.response.data &&\r\n error.response.data.message) ||\r\n error.message ||\r\n error.toString();\r\n\r\n dispatch({\r\n type: REGISTER_FAIL,\r\n });\r\n dispatch({\r\n type: SET_MESSAGE,\r\n payload: message,\r\n });\r\n setTimeout(() => {\r\n dispatch({\r\n type: CLEAR_MESSAGE,\r\n });\r\n }, 3000);\r\n\r\n return Promise.reject();\r\n }\r\n );\r\n };\r\n\r\nexport const login = (email, password) => (dispatch) => {\r\n return AuthService.login(email, password).then(\r\n (data) => {\r\n dispatch({\r\n type: LOGIN_SUCCESS,\r\n payload: { user: data },\r\n });\r\n\r\n return Promise.resolve();\r\n },\r\n (error) => {\r\n const message =\r\n (error.response &&\r\n error.response.data &&\r\n error.response.data.message) ||\r\n error.message ||\r\n error.toString();\r\n\r\n dispatch({\r\n type: LOGIN_FAIL,\r\n });\r\n\r\n dispatch({\r\n type: SET_MESSAGE,\r\n payload: message,\r\n });\r\n\r\n return Promise.reject();\r\n }\r\n );\r\n};\r\n\r\nexport const logout = () => (dispatch) => {\r\n AuthService.logout();\r\n\r\n dispatch({\r\n type: LOGOUT,\r\n });\r\n};\r\n\r\n\r\n","import React, { useState, useRef, useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { Redirect, Link } from \"react-router-dom\";\r\nimport ParticlesBg from 'particles-bg'\r\n\r\nimport Form from \"react-validation/build/form\";\r\nimport Input from \"react-validation/build/input\";\r\nimport CheckButton from \"react-validation/build/button\";\r\n\r\nimport { login } from \"../actions/auth\";\r\n\r\nconst required = (value) => {\r\n if (!value) {\r\n return (\r\n
\r\n This field is required!\r\n
\r\n );\r\n }\r\n};\r\n\r\nconst LoginPage = (props) => {\r\n useEffect(() => {\r\n document.body.style.backgroundColor = \"#1c262f\";\r\n });\r\n\r\n const form = useRef();\r\n const checkBtn = useRef();\r\n\r\n const [email, setEmail] = useState(\"\");\r\n const [password, setPassword] = useState(\"\");\r\n const [loading, setLoading] = useState(false);\r\n\r\n const { isLoggedIn } = useSelector((state) => state.auth);\r\n const { message } = useSelector((state) => state);\r\n\r\n const dispatch = useDispatch();\r\n\r\n const onChangeEmail = (e) => {\r\n const email = e.target.value;\r\n setEmail(email);\r\n };\r\n\r\n const onChangePassword = (e) => {\r\n const password = e.target.value;\r\n setPassword(password);\r\n };\r\n\r\n const handleLogin = (e) => {\r\n e.preventDefault();\r\n\r\n setLoading(true);\r\n\r\n form.current.validateAll();\r\n\r\n if (checkBtn.current.context._errors.length === 0) {\r\n dispatch(login(email, password))\r\n .then(() => {\r\n props.history.push(\"/\");\r\n // window.location.reload();\r\n })\r\n .catch(() => {\r\n setLoading(false);\r\n });\r\n } else {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n if (isLoggedIn) {\r\n return ;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
\r\n \r\n \"\"\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Password\r\n \r\n \r\n
\r\n
\r\n \r\n {loading && (\r\n \r\n )}\r\n Login\r\n \r\n
\r\n\r\n {message && (\r\n
\r\n
\r\n {message}\r\n
\r\n
\r\n )}\r\n \r\n \r\n
\r\n \r\n Forgot Password\r\n \r\n \r\n Create Account\r\n \r\n
\r\n
\r\n \r\n Are you an employee? Login here\r\n \r\n \r\n
\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default LoginPage;\r\n","import React, { useState, useRef, useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport ParticlesBg from 'particles-bg'\r\n\r\nimport Form from \"react-validation/build/form\";\r\nimport Input from \"react-validation/build/input\";\r\nimport CheckButton from \"react-validation/build/button\";\r\nimport { isEmail } from \"validator\";\r\nimport { Redirect, Link } from \"react-router-dom\";\r\nimport { register } from \"../actions/auth\";\r\n\r\nconst required = (value) => {\r\n if (!value) {\r\n return (\r\n
\r\n This field is required!\r\n
\r\n );\r\n }\r\n};\r\n\r\nconst validEmail = (value) => {\r\n if (!isEmail(value)) {\r\n return (\r\n
\r\n This is not a valid email.\r\n
\r\n );\r\n }\r\n};\r\n\r\nconst vpassword = (value) => {\r\n if (value.length < 6 || value.length > 40) {\r\n return (\r\n
\r\n The password must be between 6 and 40 characters.\r\n
\r\n );\r\n }\r\n};\r\n\r\nconst initialState = {\r\n email: \"\",\r\n firstname: \"\",\r\n middlename: \"\",\r\n lastname: \"\",\r\n phone: \"\",\r\n};\r\n\r\nconst RegisterPage = (props) => {\r\n useEffect(() => {\r\n document.body.style.backgroundColor = \"#1c262f\";\r\n });\r\n\r\n const form = useRef();\r\n const checkBtn = useRef();\r\n\r\n const [firstname, setFirstName] = useState(\"\");\r\n const [lastname, setLastName] = useState(\"\");\r\n const [email, setEmail] = useState(\"\");\r\n const [password, setPassword] = useState(\"\");\r\n const [confirmPassword, setConfirmPassword] = useState(\"\");\r\n const [successful, setSuccessful] = useState(false);\r\n //const [message, setMessage] = useState(null);\r\n const [infoMessage, setInfoMessage] = useState(null);\r\n const [isVisible, setIsVisible] = useState(false);\r\n\r\n const { message } = useSelector((state) => state);\r\n const dispatch = useDispatch();\r\n\r\n const onChangeFirstName = (e) => {\r\n const firstname = e.target.value;\r\n setFirstName(firstname);\r\n };\r\n const onChangeLastName = (e) => {\r\n const lastname = e.target.value;\r\n setLastName(lastname);\r\n };\r\n\r\n const onChangeEmail = (e) => {\r\n const email = e.target.value;\r\n setEmail(email);\r\n };\r\n\r\n const onChangePassword = (e) => {\r\n const password = e.target.value;\r\n setPassword(password);\r\n };\r\n const onChangeConfirmPassword = (e) => {\r\n const conPassword = e.target.value;\r\n setConfirmPassword(conPassword);\r\n };\r\n\r\n const handleRegister = (e) => {\r\n e.preventDefault();\r\n\r\n setSuccessful(false);\r\n\r\n form.current.validateAll();\r\n\r\n if (checkBtn.current.context._errors.length === 0) {\r\n if (password !== confirmPassword) {\r\n setInfoMessage(\"Passwords do not match.\");\r\n return;\r\n }\r\n if (password === \"\" && confirmPassword === \"\") {\r\n setInfoMessage(\r\n \"You can not set your new password empty! Please check your password\"\r\n );\r\n return;\r\n }\r\n if (password === confirmPassword && password.length < 6) {\r\n setInfoMessage(\r\n \"New password should be at least 6 character! Please check your password\"\r\n );\r\n }\r\n dispatch(register(firstname, lastname, email, password))\r\n .then(() => {\r\n setSuccessful(true);\r\n setIsVisible(true);\r\n setTimeout(() => {\r\n props.history.push(\"/\");\r\n }, 3000);\r\n })\r\n .catch(() => {\r\n setSuccessful(false);\r\n });\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
\r\n \r\n \"\"\r\n\r\n
\r\n {!successful && (\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n Email\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n Password\r\n \r\n \r\n
\r\n
\r\n \r\n Confirm Password\r\n \r\n \r\n
\r\n {infoMessage && (\r\n
\r\n \r\n {infoMessage}\r\n
\r\n \r\n )}\r\n {message && (\r\n
\r\n \r\n {message}\r\n
\r\n \r\n )}\r\n
\r\n \r\n
\r\n \r\n )}\r\n\r\n {isVisible && message && (\r\n
\r\n \r\n {message}\r\n
\r\n \r\n Return Home\r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default RegisterPage;\r\n","import React from \"react\";\r\nimport { Alert } from \"react-bootstrap\";\r\n\r\nconst Message = ({ variant, children }) => {\r\n return {children};\r\n};\r\n\r\nMessage.defaultProps = {\r\n variant: \"info\",\r\n};\r\n\r\nexport default Message;","import React, { useState, useRef, useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nimport Form from \"react-validation/build/form\";\r\nimport Input from \"react-validation/build/input\";\r\nimport CheckButton from \"react-validation/build/button\";\r\n\r\nimport { login } from \"../actions/auth\";\r\n\r\nimport axios from \"axios\";\r\nimport { API_url } from \"../config/config\";\r\nimport Messages from \"../components/Messages\";\r\n\r\nconst required = (value) => {\r\n if (!value) {\r\n return (\r\n
\r\n This field is required!\r\n
\r\n );\r\n }\r\n};\r\n\r\nconst ResetPage = (props) => {\r\n useEffect(() => {\r\n document.body.style.backgroundColor = \"#1c262f\";\r\n });\r\n\r\n const form = useRef();\r\n const checkBtn = useRef();\r\n\r\n const [email, setEmail] = useState(\"\");\r\n const [loading, setLoading] = useState(false);\r\n\r\n const { isLoggedIn } = useSelector((state) => state.auth);\r\n //const { message } = useSelector((state) => state);\r\n const [message, setMessage] = useState(null);\r\n const [successful, setSuccessful] = useState(false);\r\n const [isVisible, setIsVisible] = useState(true);\r\n\r\n\r\n //const [messageStatus, setMessageStatus] = useState(false);\r\n const dispatch = useDispatch();\r\n\r\n\r\n\r\n const handleReset = (e) => {\r\n e.preventDefault();\r\n setSuccessful(false)\r\n // console.log(e.target.value);\r\n //console.log(email);\r\n axios\r\n .post(`${API_url}/api/password-reset`, { email })\r\n .then((res) => {\r\n // console.log(res);\r\n setSuccessful(true)\r\n setIsVisible(false)\r\n setMessage(res.data.message);\r\n })\r\n .catch((error) => {\r\n setSuccessful(false)\r\n //console.log(error.response.data.message);\r\n setMessage(error.response ? error.response.data.message : error.message);\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n \"\"\r\n {isVisible ? (\r\n
\r\n \r\n \r\n setEmail(e.target.value)}\r\n validations={[required]}\r\n placeholder=\"Enter Your Email Adress\"\r\n \r\n />\r\n
\r\n \r\n
\r\n \r\n {loading && (\r\n \r\n )}\r\n Send Password Reset Link\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n message && (\r\n
\r\n \r\n {message}\r\n
\r\n \r\n Return Home\r\n \r\n \r\n )\r\n\r\n\r\n )}\r\n \r\n\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ResetPage;\r\n","import React, { useState } from \"react\";\r\n\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { ContactFormSubmit } from \"../actions/form.action\"\r\nimport { Alert } from \"react-bootstrap\";\r\nconst initialcontactForm = {\r\n name: \"\",\r\n phone: \"\",\r\n email: \"\",\r\n query: \"\",\r\n}\r\n\r\n\r\nconst HomePage = () => {\r\n const dispatch = useDispatch();\r\n const { message } = useSelector(state => state)\r\n const [contactForm, setcontactForm] = useState(initialcontactForm)\r\n const [visible, setVisible] = useState(false)\r\n\r\n const handleFormInput = (e) => {\r\n if (e.target.name === \"phone\") {\r\n var phone = e.target.value.replace(/(\\d{3})(\\d{3})(\\d{4})/, '$1 $2 $3');\r\n setcontactForm({ ...contactForm, [e.target.name]: phone });\r\n } else {\r\n setcontactForm({ ...contactForm, [e.target.name]: e.target.value });\r\n }\r\n }\r\n\r\n const handleFormSubmit = (e) => {\r\n e.preventDefault();\r\n dispatch(ContactFormSubmit(contactForm))\r\n .then(res => {\r\n if (res.status === 200) {\r\n handleFormClear();\r\n }\r\n })\r\n }\r\n\r\n const handleFormClear = (e) => {\r\n setcontactForm(initialcontactForm);\r\n }\r\n\r\n const toggleVisible = () => {\r\n const scrolled = document.documentElement.scrollTop;\r\n if (scrolled > 300) {\r\n setVisible(true)\r\n }\r\n else if (scrolled <= 300) {\r\n setVisible(false)\r\n }\r\n };\r\n\r\n const scrollToTop = () => {\r\n window.scrollTo({\r\n top: 0,\r\n behavior: 'smooth'\r\n });\r\n };\r\n\r\n window.addEventListener('scroll', toggleVisible);\r\n\r\n //console.log(\"message ==>\", message)\r\n //console.log(contactForm)\r\n return (\r\n
\r\n \r\n
\r\n

\r\n Create Learning platform
with \r\n TranscendHub\r\n
\r\n Start selling your courses\r\n

\r\n {/*

\r\n Best Salesforce Solutions\r\n
\r\n For Your Company\r\n

*/}\r\n {/*

\r\n As TranscendHub, we prioritize customer satisfaction and believe we can help strengthen your ecosystem by promoting top talent for your specific needs to fill the talent gap in your companies, and by offering you innovative technological solutions.\r\n

*/}\r\n

\r\n We are offering the best online course platform for creating, selling and promoting your online courses. Start monetizing your skills, experiences and your audience. With TranscendHub you will be able to offer your audience services with World’s best platform standards since it is built on the top of the Salesforce platform.\r\n

\r\n
\r\n

\r\n \r\n

\r\n

SalesForce Based

\r\n
\r\n
\r\n

\r\n \r\n

\r\n {/*

Staffing Solutions

*/}\r\n

Live Events

\r\n
\r\n
\r\n

\r\n \r\n

\r\n {/*

Web Development

*/}\r\n

Easy Management

\r\n
\r\n {/* */}\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Fast Reliable

\r\n

\r\n TranscendHub develops safe, stable, scalable salesforce solutions for customers\r\n in many sectors. We believe in learning and listening all the time. We\r\n always believe in thinking about how we can grow ourselves and the\r\n team and make it better.\r\n

\r\n
\r\n
\r\n \r\n

Customer Oriented

\r\n

\r\n We are here to take care of our employees and customers. We always\r\n consider each other's interests and try to do what is right for\r\n our team and customers. We believe in going above and beyond for\r\n our customers.\r\n

\r\n
\r\n
\r\n \r\n

Our Solutions

\r\n

\r\n Custom apps that work perfectly in all popular browsers and\r\n provide seamless UX with a clear logical layout and mobile\r\n adaptation.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n {/*

ABOUT US

*/}\r\n

\r\n TranscendHub Solutions\r\n

\r\n

\r\n TranscendHub is driven to provide you the best solutions by rendering the top talent and technology. Ensuring capability, reliability and reducing redundancy when working with accomplished and capable individuals is the building block of a company, and we are here to help do just that.\r\n

\r\n

\r\n Easily train your remote team with TranscendHub's learning management software. Train from anywhere in the world with a learning management system for the modern workforce. Manage training across hundreds or thousands of employees in your organization. Learn how leading mid size companies use TranscendHub Learn to quickly create quizzes and assessments, make training more impactful and never miss another compliance training deadline.\r\n

\r\n {/*

\r\n Our flexible staffing options include contract, contract-to-hire, and direct hire. Our seasoned team of recruiters prioritize bringing you the top talent through evaluating a large volume of candidates to make it easier for you to choose the one that fits your company culture the best. TranscendHub is also an expert in providing you solutions in technological roadblocks. Ensuring our clients perform at the peak of their productivity with a top-notch IT infrastructure is the main reason our key areas extend to Digital Transformation, Quality Assurance and Salesforce/CRM solutions.\r\n

*/}\r\n
\r\n
\r\n \"about\"\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n {/*

OUR SERVICES

*/}\r\n

Design your classes to increase your audience engagement

\r\n

\r\n Increase your professional and compliance training, continuing education, and employee/customer onboarding classes effectiveness.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Effective Training, Flexible course experience

\r\n

\r\n Create an engaging learning environment with interactive videos, ebooks, assessments, certificates, surveys, and much more. Flexibility for free, paid, private, drip-fed or curated course pathways.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Generate interactive video learning

\r\n

\r\n Convert your videos with automatically extracted transcripts, quizzes, and tables of contents int interactive learning components.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Event Management

\r\n

\r\n With our event management app effectively plan live classes, instructor schedules, convert your recordings into classroom materials in dedicated storage space, review Assignments, and engage students using Slack integration.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \"work\"\r\n
\r\n
\r\n
\r\n
\r\n

OUR WORK

\r\n

\r\n We Create Digital Transformation with Customer Focused Solutions.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n Super Easy\r\n

\r\n

Branded

\r\n
\r\n
\r\n \r\n

\r\n Fast\r\n

\r\n

Flexible

\r\n
\r\n
\r\n \r\n

Secure

\r\n

\r\n Dasboards\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {/*

CONTACT

*/}\r\n

Send your query

\r\n

\r\n You can send us a message by entering your contact\r\n information. You will be returned as soon as possible.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Format: 123 456 7890\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {\r\n message && {message}\r\n }\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
CALL FOR QUERY
\r\n

+1 (201) 984 1310

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
SEND US MESSAGE
\r\n

Send EMail!

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

TranscendHub

\r\n
\r\n

\r\n We Create Digital Transformation with Customer Focused Solutions\r\n

\r\n {/*
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
*/}\r\n
\r\n\r\n
\r\n

Quick Links

\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n

About

\r\n
\r\n
\r\n
\r\n \r\n \r\n

Services

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n

Contact

\r\n
\r\n
\r\n
\r\n \r\n \r\n

Login

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n {/*
\r\n \r\n \r\n \r\n
*/}\r\n \r\n );\r\n};\r\n\r\nexport default HomePage;\r\n","import axios from \"axios\";\r\n\r\nimport {\r\n SET_MESSAGE,\r\n CLEAR_MESSAGE,\r\n} from \"./types\";\r\n\r\nimport { API_url } from \"../config/config\";\r\n\r\nexport const ContactFormSubmit = (state) => async (dispatch) => {\r\n try {\r\n const { data } = await axios.post(`${API_url}/api/contactform`, state);\r\n //console.log(data);\r\n dispatch({\r\n type: SET_MESSAGE,\r\n payload: data && data.message,\r\n });\r\n setTimeout(() => {\r\n dispatch({\r\n type: CLEAR_MESSAGE,\r\n });\r\n }, 3000);\r\n return data;\r\n } catch (error) {\r\n dispatch({\r\n type: SET_MESSAGE,\r\n payload: error.response && error.response.data.message,\r\n });\r\n setTimeout(() => {\r\n dispatch({\r\n type: CLEAR_MESSAGE,\r\n });\r\n }, 3000);\r\n }\r\n};\r\n","import React from \"react\";\r\nimport { Redirect } from 'react-router-dom';\r\nimport { useSelector } from \"react-redux\";\r\n\r\nconst ProfilePage = () => {\r\n const { user: currentUser } = useSelector((state) => state.auth);\r\n\r\n if (!currentUser) {\r\n return ;\r\n }\r\n return (\r\n
\r\n
\r\n

\r\n {currentUser.username} Profile\r\n

\r\n
\r\n

\r\n Token: {currentUser.accessToken.substring(0, 20)} ...{\" \"}\r\n {currentUser.accessToken.substr(currentUser.accessToken.length - 20)}\r\n

\r\n

\r\n Id: {currentUser.id}\r\n

\r\n

\r\n Email: {currentUser.email}\r\n

\r\n Authorities:\r\n
    \r\n {currentUser.roles &&\r\n currentUser.roles.map((role, index) =>
  • {role}
  • )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ProfilePage;\r\n","import { SET_MESSAGE, CLEAR_MESSAGE } from \"./types\";\r\n\r\nexport const setMessage = (message) => ({\r\n type: SET_MESSAGE,\r\n payload: message,\r\n});\r\n\r\nexport const clearMessage = () => ({\r\n type: CLEAR_MESSAGE,\r\n});\r\n","import { createBrowserHistory } from \"history\";\r\n\r\nexport const history = createBrowserHistory();\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { Container, Navbar, Nav, NavDropdown, Badge } from \"react-bootstrap\";\r\nimport { LinkContainer } from \"react-router-bootstrap\";\r\nimport \"../styles/header.css\";\r\nimport { logout } from \"../actions/auth\";\r\nimport { clearMessage } from \"../actions/message\";\r\n\r\nimport { history } from \"../helpers/history\";\r\n// import EventBus from \"../common/EventBus\";\r\n\r\nexport default function Header() {\r\n const dispatch = useDispatch();\r\n const [showOperatorBoard, setShowOperatorBoard] = useState(false);\r\n const [showSupervisorBoard, setShowSupervisorBoard] = useState(false);\r\n const [showAdminBoard, setShowAdminBoard] = useState(false);\r\n const [showUserBoard, setShowUserBoard] = useState(false);\r\n const [expanded, setExpanded] = useState(false);\r\n const { notifications } = useSelector((store) => store.admins);\r\n const active =\r\n notifications && notifications.filter((item) => item.isActive === true);\r\n\r\n const { user: currentUser } = useSelector((state) => state.auth);\r\n useEffect(() => {\r\n history.listen((location) => {\r\n //console.log(\"header içi history listen\");\r\n dispatch(clearMessage()); // clear message when changing location\r\n });\r\n }, [dispatch]);\r\n\r\n const logOut = useCallback(() => {\r\n dispatch(logout());\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n if (currentUser) {\r\n setShowOperatorBoard(currentUser.roles.includes(\"ROLE_OPERATOR\"));\r\n setShowSupervisorBoard(currentUser.roles.includes(\"ROLE_SUPERVISOR\"));\r\n setShowAdminBoard(currentUser.roles.includes(\"ROLE_ADMIN\"));\r\n setShowUserBoard(currentUser.roles.includes(\"ROLE_USER\"));\r\n } else {\r\n setShowSupervisorBoard(false);\r\n setShowOperatorBoard(false);\r\n setShowAdminBoard(false);\r\n setShowUserBoard(false);\r\n }\r\n\r\n // EventBus.on(\"logout\", () => {\r\n // logOut();\r\n // //props.history.push(\"/\");\r\n // });\r\n\r\n // return () => {\r\n // EventBus.remove(\"logout\");\r\n // };\r\n }, [currentUser]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n\r\n setExpanded(expanded ? false : \"expanded\")}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","const eventBus = {\r\n on(event, callback) {\r\n document.addEventListener(event, (e) => callback(e.detail));\r\n },\r\n dispatch(event, data) {\r\n document.dispatchEvent(new CustomEvent(event, { detail: data }));\r\n },\r\n remove(event, callback) {\r\n document.removeEventListener(event, callback);\r\n },\r\n};\r\n\r\nexport default eventBus;\r\n","import React from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\n\r\nconst AuthVerify = (props) => { \r\n props.history.listen(() => {\r\n //console.log(\"history listen\")\r\n const user = JSON.parse(localStorage.getItem(\"user\"));\r\n if (user) {\r\n const {exp} = JSON.parse(atob(user.accessToken.split('.')[1]));\r\n //console.log(new Date(exp*1000)) //expire time\r\n if ((exp*1000) < Date.now()) {\r\n props.logOut();\r\n }\r\n }\r\n })\r\n\r\n return
;\r\n};\r\n\r\nexport default withRouter(AuthVerify);\r\n","import axios from \"axios\";\r\nimport { API_url } from '../config/config'\r\nimport { logout } from \"./auth\";\r\n\r\n\r\nimport {\r\n CONTRACT_GET_SUCCESS,\r\n CONTRACT_GET_FAIL,\r\n SET_MESSAGE,\r\n CLEAR_MESSAGE,\r\n CONTRACT_DELETE_FAIL,\r\n CONTRACT_ADD_FAIL\r\n} from \"./types\";\r\n\r\n export const addNewContract = (state) => async (dispatch, getState) => {\r\n //console.log(\"add new contract calıstı\")\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n \r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`,\r\n },\r\n };\r\n const { data } = await axios.post(`${API_url}/api/contract`, state, config);\r\n //console.log(data)\r\n dispatch({\r\n type: SET_MESSAGE,\r\n payload: data.message,\r\n });\r\n setTimeout(() => {\r\n dispatch({\r\n type: CLEAR_MESSAGE,\r\n });\r\n }, 3000);\r\n return data.status;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n dispatch({\r\n type: CONTRACT_ADD_FAIL,\r\n payload: error.response && error.response.data.message,\r\n });\r\n return error;\r\n }\r\n };\r\n\r\n export const getUserContract = () => async (dispatch, getState) => {\r\n //console.log(\"get oneuser contract calıstı\")\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n \r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`,\r\n },\r\n };\r\n const { data } = await axios.get(`${API_url}/api/contract?sort=-hireDate`, config);\r\n //console.log(data)\r\n dispatch({\r\n type: CONTRACT_GET_SUCCESS,\r\n payload: data.contracts,\r\n });\r\n return data.status;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n dispatch({\r\n type: CONTRACT_GET_FAIL,\r\n payload: error.response && error.response.data.message,\r\n });\r\n return error;\r\n }\r\n };\r\n\r\n export const updateUserContract = (state) => async (dispatch, getState) => {\r\n // console.log(\"update user contract calıstı\")\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`,\r\n },\r\n };\r\n const { data } = await axios.put(`${API_url}/api/contract/${state._id}`, state, config);\r\n //console.log(data)\r\n return data;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n return error.response ? error.response.data : error;\r\n }\r\n };\r\n \r\n export const deleteUserContract = (id) => async (dispatch, getState) => {\r\n // console.log(\"delete user contract calıstı\")\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n \r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`,\r\n },\r\n };\r\n const { data } = await axios.delete(`${API_url}/api/contract/${id}`, config);\r\n // console.log(data)\r\n return data;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n return error.response ? error.response.data.message : error;\r\n }\r\n }","import axios from \"axios\";\r\nimport { API_url } from '../config/config'\r\nimport { logout } from \"./auth\";\r\n\r\n\r\nimport {\r\n USER_GET_SUCCESS,\r\n USER_GET_FAIL,\r\n SET_MESSAGE,\r\n CLEAR_MESSAGE\r\n} from \"./types\";\r\n \r\n export const getOneUser = () => async (dispatch, getState) => {\r\n //console.log(\"getoneuser calıstı\")\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n \r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`,\r\n },\r\n };\r\n const { data } = await axios.get(`${API_url}/api/user`, config);\r\n //console.log(data)\r\n dispatch({\r\n type: USER_GET_SUCCESS,\r\n payload: data.user,\r\n });\r\n return data;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n dispatch({\r\n type: USER_GET_FAIL,\r\n payload: error.response && error.response.data.message,\r\n });\r\n return error;\r\n }\r\n };\r\n export const updateUser = (state) => async (dispatch, getState) => {\r\n //console.log(\"update user calıstı\")\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n \r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`\r\n },\r\n }; \r\n const { data } = await axios.put(`${API_url}/api/user/update`, state, config);\r\n //console.log (data)\r\n dispatch({\r\n type: SET_MESSAGE,\r\n payload: data.message,\r\n });\r\n setTimeout(() => {\r\n dispatch({\r\n type: CLEAR_MESSAGE,\r\n });\r\n }, 3000);\r\n return data.status;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n dispatch({\r\n type: USER_GET_FAIL,\r\n payload: error.response && error.response.data.message,\r\n });\r\n return error;\r\n }\r\n };\r\n export const updateUserPassword = (state) => async (dispatch, getState) => {\r\n //console.log(\"update user password calıstı\")\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n \r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`\r\n },\r\n }; \r\n const { data } = await axios.put(`${API_url}/api/user/update-pass`, state, config);\r\n // console.log(data)\r\n dispatch({\r\n type: SET_MESSAGE,\r\n payload: data.message,\r\n });\r\n setTimeout(() => {\r\n dispatch({\r\n type: CLEAR_MESSAGE,\r\n });\r\n }, 3000);\r\n return data;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n dispatch({\r\n type: USER_GET_FAIL,\r\n payload: error.response && error.response.data.message,\r\n });\r\n return error.response ? error.response : error;\r\n }\r\n };\r\n \r\n export const getProfileImage = (imgUrl) => async (dispatch, getState) => {\r\n //console.log(\"get profile img calıstı\", imgUrl)\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`,\r\n },\r\n };\r\n const {data} = await axios.get(`${API_url}/api/file/${imgUrl}`, config);\r\n //console.log(data)\r\n return data;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n return error;\r\n }\r\n };\r\n\r\n","import React, { useState, useEffect } from \"react\";\r\nimport {\r\n Form,\r\n Row,\r\n Col,\r\n InputGroup,\r\n Button,\r\n DropdownButton,\r\n Dropdown,\r\n Alert,\r\n Modal,\r\n} from \"react-bootstrap\";\r\nimport dateFormat from \"dateformat\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport {\r\n getOneUser,\r\n updateUser,\r\n updateUserPassword,\r\n} from \"../actions/user.action\";\r\nimport { API_url } from \"../config/config\";\r\nconst initialState = {\r\n imgUrl: \"\",\r\n email: \"\",\r\n password: \"\",\r\n firstname: \"\",\r\n middlename: \"\",\r\n lastname: \"\",\r\n phone1: \"\",\r\n phone2: \"\",\r\n birthDate: \"\",\r\n placeOfBirth: \"\",\r\n nativeLanguage: \"\",\r\n gender: \"\",\r\n countryOrigin: \"\",\r\n race: \"\",\r\n address: {\r\n address_line_1: \"\",\r\n address_line_2: \"\",\r\n city: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n },\r\n};\r\n\r\nconst initialSocials = [\r\n { name: \"\", url: \"\" },\r\n { name: \"\", url: \"\" },\r\n { name: \"\", url: \"\" },\r\n];\r\n\r\nconst initialNewPass = { currentpassword: \"\", newpass1: \"\", newpass2: \"\" };\r\n\r\nconst socialMedia = [\r\n \"twitter\",\r\n \"facebook\",\r\n \"linkedin\",\r\n \"flickr\",\r\n \"tumblr\",\r\n \"xing\",\r\n \"github\",\r\n \"gitlab\",\r\n \"stackoverflow\",\r\n \"youtube\",\r\n \"dribbble\",\r\n \"instagram\",\r\n \"pinterest\",\r\n \"vk\",\r\n \"yahoo\",\r\n \"behance\",\r\n \"reddit\",\r\n \"vimeo\",\r\n];\r\n\r\nexport default function UserPersonal(props) {\r\n const dispatch = useDispatch();\r\n const [isEditing, setisEditing] = useState(false);\r\n const [imgFile, setimgFile] = useState({});\r\n //const user = props.staffData;\r\n const [state, setstate] = useState(initialState);\r\n const [uploadMessage, setuploadMessage] = useState(\"\");\r\n const { current } = useSelector((store) => store.users);\r\n const { message } = useSelector((store) => store);\r\n const [show, setshow] = useState(false);\r\n const [showPass, setshowPass] = useState(false);\r\n const [socials, setsocials] = useState(initialSocials);\r\n const [newpassState, setnewpassState] = useState(initialNewPass);\r\n const [alert, setalert] = useState(\"\");\r\n const inputReference = React.createRef();\r\n\r\n useEffect(() => {\r\n dispatch(getOneUser());\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n if (current) {\r\n setCurrenttoState();\r\n }\r\n }, [current]);\r\n\r\n function setCurrenttoState() {\r\n setstate({\r\n imgUrl: current.imgUrl !== \"undefined\" ? current.imgUrl : \"\",\r\n email: current.email !== \"undefined\" ? current.email : \"\",\r\n password: current.password !== \"undefined\" ? current.password : \"\",\r\n firstname: current.firstname !== \"undefined\" ? current.firstname : \"\",\r\n middlename: current.middlename !== \"undefined\" ? current.middlename : \"\",\r\n lastname: current.lastname !== \"undefined\" ? current.lastname : \"\",\r\n phone1: current.phone1 !== \"undefined\" ? current.phone1 : \"\",\r\n phone2: current.phone2 !== \"undefined\" ? current.phone2 : \"\",\r\n birthDate: current.birthDate !== \"undefined\" ? current.birthDate : \"\",\r\n placeOfBirth:\r\n current.placeOfBirth !== \"undefined\" ? current.placeOfBirth : \"\",\r\n nativeLanguage:\r\n current.nativeLanguage !== \"undefined\" ? current.nativeLanguage : \"\",\r\n gender: current.gender !== \"undefined\" ? current.gender : \"\",\r\n countryOrigin:\r\n current.countryOrigin !== \"undefined\" ? current.countryOrigin : \"\",\r\n race: current.race !== \"undefined\" ? current.race : \"\",\r\n address: {\r\n address_line_1:\r\n current.address.address_line_1 !== \"undefined\"\r\n ? current.address.address_line_1\r\n : \"\",\r\n address_line_2:\r\n current.address.address_line_2 !== \"undefined\"\r\n ? current.address.address_line_2\r\n : \"\",\r\n city: current.address.city !== \"undefined\" ? current.address.city : \"\",\r\n state:\r\n current.address.state !== \"undefined\" ? current.address.state : \"\",\r\n zip_code:\r\n current.address.zip_code !== \"undefined\"\r\n ? current.address.zip_code\r\n : \"\",\r\n },\r\n });\r\n setsocials(\r\n current.socials !== \"undefined\"\r\n ? JSON.parse(JSON.stringify(current.socials))\r\n : JSON.parse(JSON.stringify(initialSocials))\r\n );\r\n }\r\n\r\n const handleEditing = () => {\r\n setisEditing(!isEditing);\r\n };\r\n\r\n const handleClearEdit = () => {\r\n setisEditing(false);\r\n setCurrenttoState();\r\n setimgFile({});\r\n setuploadMessage(\"\");\r\n };\r\n\r\n const imgUploadAction = () => inputReference.current.click();\r\n const imgUploadInputChange = (e) => {\r\n //console.log(e)\r\n if (\r\n e.target.files.length > 0 &&\r\n e.target.files[0].type.startsWith(\"image\")\r\n ) {\r\n setimgFile(e.target.files[0]);\r\n setuploadMessage(\"Img selected!\");\r\n }\r\n };\r\n\r\n const handleInput = (e) => {\r\n setstate({ ...state, [e.target.name]: e.target.value });\r\n };\r\n\r\n const handleInputPass = (e) => {\r\n setnewpassState({ ...newpassState, [e.target.name]: e.target.value });\r\n };\r\n const handleInputAddress = (e) => {\r\n setstate({\r\n ...state,\r\n address: { ...state.address, [e.target.name]: e.target.value },\r\n });\r\n };\r\n\r\n const handleSelectSocial = (e, i) => {\r\n // console.log(e.target.text);\r\n let tempSocial = [...socials];\r\n tempSocial[i].name = e.target.text;\r\n tempSocial[i].url = \"https://www.\" + e.target.text + \".com/\";\r\n setsocials([...tempSocial]);\r\n };\r\n const handleInputSocial = (e, i) => {\r\n let tempSocial = [...socials];\r\n tempSocial[i].url = e.target.value;\r\n setsocials([...tempSocial]);\r\n };\r\n\r\n const handleSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n if (!state.firstname || !state.lastname || !state.email) {\r\n setalert(\"First name, last name or email can not be empty!\");\r\n return;\r\n }\r\n\r\n const file = new FormData();\r\n if (imgFile.name) {\r\n file.append(\"file\", imgFile);\r\n } else {\r\n file.append(\"imgUrl\", state.imgUrl);\r\n }\r\n //console.log(file.get(\"file\"));\r\n file.append(\"firstname\", state.firstname);\r\n file.append(\"lastname\", state.lastname);\r\n file.append(\"middlename\", state.middlename);\r\n file.append(\"phone1\", state.phone1);\r\n file.append(\"phone2\", state.phone2);\r\n file.append(\"position\", state.position);\r\n file.append(\"birthDate\", state.birthDate);\r\n file.append(\"placeOfBirth\", state.placeOfBirth);\r\n file.append(\"nativeLanguage\", state.nativeLanguage);\r\n file.append(\"gender\", state.gender);\r\n file.append(\"countryOrigin\", state.countryOrigin);\r\n file.append(\"race\", state.race);\r\n file.append(\"address\", JSON.stringify(state.address));\r\n file.append(\"socials\", JSON.stringify(socials));\r\n\r\n dispatch(updateUser(file)).then((status) => {\r\n // console.log(status);\r\n if (status === 200) {\r\n setuploadMessage(\"\");\r\n setisEditing(false);\r\n setshow(true);\r\n setTimeout(() => {\r\n setshow(false);\r\n }, 2500);\r\n }\r\n });\r\n };\r\n\r\n const handlePassword = (e) => {\r\n e.preventDefault();\r\n if (newpassState.newpass1 !== newpassState.newpass2) {\r\n setalert(\"Please check your new password\");\r\n return;\r\n }\r\n if (newpassState.newpass1 === \"\" && newpassState.newpass2 === \"\") {\r\n setalert(\r\n \"You can not set your new password empty! Please check your new password\"\r\n );\r\n return;\r\n }\r\n if (\r\n newpassState.newpass1 === newpassState.newpass2 &&\r\n newpassState.newpass1.length < 6\r\n ) {\r\n setalert(\r\n \"New password should be at least 6 character! Please check your new password\"\r\n );\r\n return;\r\n }\r\n dispatch(\r\n updateUserPassword({\r\n password: newpassState.currentpassword,\r\n newPassword: newpassState.newpass1,\r\n })\r\n ).then((data) => {\r\n //console.log(data);\r\n if (data.status === 200) {\r\n setshowPass(false);\r\n setnewpassState(initialNewPass);\r\n setshow(true);\r\n setTimeout(() => {\r\n setshow(false);\r\n }, 2500);\r\n } else if (data) {\r\n setalert(data.data.message);\r\n setTimeout(() => {\r\n setalert(\"\");\r\n }, 2500);\r\n }\r\n });\r\n };\r\n\r\n const handleCancelPassUpdate = () => {\r\n setshowPass(false);\r\n setnewpassState(initialNewPass);\r\n };\r\n\r\n // console.log(imgFile);\r\n // console.log(state);\r\n // console.log(socials);\r\n // console.log(newpassState);\r\n\r\n return (\r\n
\r\n
\r\n \r\n Personal Information\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {uploadMessage && (\r\n \r\n {uploadMessage} \r\n \r\n )}\r\n
\r\n {show && {message}}\r\n
\r\n
\r\n setshowPass(!showPass)}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n Change Password\r\n \r\n
\r\n
\r\n setshowPass(!showPass)}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n
\r\n
\r\n
\r\n \r\n Discard\r\n \r\n \r\n {isEditing ? \"Save\" : \"Edit\"}\r\n \r\n
\r\n\r\n \r\n \r\n Change Password\r\n \r\n
\r\n \r\n \r\n Current Password\r\n \r\n \r\n \r\n New Password\r\n \r\n \r\n \r\n Confirm New Password\r\n \r\n \r\n \r\n \r\n \r\n Submit{\" \"}\r\n {\" \"}\r\n \r\n Cancel\r\n \r\n \r\n
\r\n {alert ? {alert} : \"\"}\r\n \r\n
\r\n
\r\n \r\n \r\n Email\r\n \r\n \r\n \r\n \r\n \r\n Firstname\r\n \r\n \r\n\r\n \r\n Middlename\r\n \r\n \r\n \r\n Lastname\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n Address Details\r\n
\r\n \r\n
\r\n \r\n \r\n Address Line-1\r\n \r\n \r\n\r\n \r\n Address Line-2\r\n \r\n \r\n \r\n \r\n \r\n City\r\n \r\n \r\n \r\n State\r\n \r\n \r\n \r\n Zip\r\n \r\n \r\n \r\n
\r\n \r\n \r\n\r\n
\r\n \r\n Contact\r\n
\r\n \r\n
\r\n \r\n \r\n Phone-1\r\n \r\n \r\n \r\n Phone-2\r\n \r\n \r\n \r\n \r\n \r\n Social Media\r\n \r\n {socials &&\r\n socials.map((social, i) => (\r\n \r\n \r\n \r\n {socialMedia.map((item, index) => {\r\n return (\r\n handleSelectSocial(e, i)}\r\n name=\"name\"\r\n key={index}\r\n value={item}\r\n size=\"sm\"\r\n >\r\n {item}\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n handleInputSocial(e, i)}\r\n disabled={!isEditing}\r\n />\r\n \r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n \r\n Additional\r\n
\r\n \r\n
\r\n \r\n \r\n Birth Date\r\n \r\n \r\n \r\n Place of Birth\r\n \r\n \r\n\r\n \r\n Native Language\r\n \r\n \r\n \r\n \r\n \r\n Country of Origin\r\n \r\n \r\n \r\n Race\r\n \r\n \r\n \r\n Gender\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport {\r\n InputGroup,\r\n FormControl,\r\n Form,\r\n Row,\r\n Col,\r\n Button,\r\n Alert,\r\n Modal,\r\n} from \"react-bootstrap\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport dateFormat from \"dateformat\";\r\n\r\nimport {\r\n getUserContract,\r\n updateUserContract,\r\n deleteUserContract,\r\n} from \"../actions/contract.action\";\r\n\r\nconst initialState = {\r\n user_id: \"\",\r\n contractname: \"\",\r\n company: \"\",\r\n salary: \"\",\r\n hireDate: \"\",\r\n endDate: \"\",\r\n employmentBasis: \"\",\r\n workMonths: \"\",\r\n position: \"\",\r\n};\r\n\r\nexport default function UserContractDetail({ contract, setisWorking, handleCheckDates }) {\r\n const dispatch = useDispatch();\r\n const [isContracting, setisContracting] = useState(false);\r\n const [state, setstate] = useState(initialState);\r\n const [danger, setWarning] = useState(false);\r\n const [alert, setalert] = useState(\"\")\r\n const [message, setmessage] = useState(\"\")\r\n const [deleteMessage, setdeleteMessage] = useState(\"\");\r\n const [deletealert, setdeletealert] = useState(\"\")\r\n\r\n useEffect(() => {\r\n if (contract) {\r\n setstate(contract);\r\n }\r\n }, [contract]);\r\n\r\n const handleEditing = () => {\r\n setisContracting(!isContracting);\r\n };\r\n\r\n const handleClearEdit = () => {\r\n setisContracting(false);\r\n setstate(contract);\r\n setalert(\"\")\r\n };\r\n\r\n const handleInput = (e) => {\r\n setstate({ ...state, [e.target.name]: e.target.value });\r\n };\r\n\r\n const handleSubmit = (e) => {\r\n e.preventDefault();\r\n if(state.endDate && (state.endDate < state.hireDate)){\r\n setalert(\"The end date you enter cannot be later than the start date of your contract!\")\r\n return;\r\n }\r\n const res = handleCheckDates(state)\r\n if(res){\r\n setalert(res)\r\n return;\r\n } \r\n \r\n dispatch(updateUserContract(state)).then((data) => {\r\n if (data.status === 200) {\r\n setisContracting(false);\r\n setalert(\"\");\r\n setmessage(data.message);\r\n dispatch(getUserContract());\r\n if (state.endDate === \"\" || state.endDate === null) {\r\n setisWorking(true);\r\n } else if (state.endDate) {\r\n setisWorking(false);\r\n }\r\n setTimeout(() => {\r\n setmessage(\"\");\r\n }, 2800);\r\n }else {\r\n setalert(data.message)\r\n setTimeout(() => {\r\n setalert(\"\")\r\n }, 2800);\r\n }\r\n });\r\n };\r\n\r\n const handleDelete = () => {\r\n //console.log(state._id);\r\n dispatch(deleteUserContract(state._id)).then((data) => {\r\n if (data.status === 200) {\r\n setdeleteMessage(data.message)\r\n setTimeout(() => {\r\n setWarning(false);\r\n setdeleteMessage(\"\")\r\n dispatch(getUserContract());\r\n }, 2800);\r\n } else {\r\n setdeletealert(data.message)\r\n setTimeout(() => {\r\n setalert(\"\")\r\n }, 2800);\r\n }\r\n });\r\n };\r\n\r\n //console.log(props);\r\n //console.log(state);\r\n return (\r\n
\r\n \r\n {state.contractname}\r\n
\r\n \r\n
{}}>\r\n \r\n \r\n \r\n {\r\n (alert || message) && {alert}{message}\r\n }\r\n
\r\n \r\n {isContracting ? \"Discard\" : \"Edit\"}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Contract Name\r\n \r\n \r\n \r\n \r\n \r\n \r\n Company\r\n \r\n \r\n \r\n \r\n \r\n Position\r\n \r\n \r\n \r\n \r\n \r\n Start Date\r\n \r\n \r\n \r\n \r\n \r\n End Date\r\n \r\n \r\n \r\n \r\n \r\n Employment Basis\r\n \r\n \r\n \r\n \r\n \r\n \r\n Contract Work Months\r\n \r\n \r\n \r\n \r\n \r\n \r\n Salary\r\n \r\n \r\n \r\n \r\n
\r\n setWarning(!danger)}\r\n >\r\n {isContracting ? \"Save\" : \"Delete\"}\r\n \r\n
\r\n
\r\n
\r\n
\r\n setWarning(false)}\r\n color=\"danger\"\r\n backdrop=\"static\"\r\n centered\r\n >\r\n \r\n Delete Contract\r\n \r\n Are you sure delete selected contract?\r\n \r\n \r\n Delete{\" \"}\r\n {\" \"}\r\n setWarning(!danger)}\r\n >\r\n Cancel\r\n \r\n \r\n {\r\n (deletealert || deleteMessage) &&
\r\n {deletealert}{deleteMessage}\r\n
\r\n }\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { InputGroup, Form, Button, Modal, Alert } from \"react-bootstrap\";\r\nimport { getUserContract, addNewContract } from \"../actions/contract.action\";\r\nimport UserContractDetail from \"./UserContractDetail\";\r\nimport dateFormat from \"dateformat\";\r\n\r\nconst initialContract = {\r\n contractname: \"\",\r\n company: \"\",\r\n salary: \"\",\r\n hireDate: \"\",\r\n endDate: \"\",\r\n employmentBasis: \"\",\r\n workMonths: \"\",\r\n position: \"\",\r\n};\r\n\r\nexport default function UserContract(props) {\r\n const dispatch = useDispatch();\r\n const [state, setstate] = useState([]);\r\n const { current } = useSelector((store) => store.contracts);\r\n const [showModal, setshowModal] = useState(false);\r\n const [newcontract, setnewcontract] = useState(initialContract);\r\n const [isWorking, setisWorking] = useState(false);\r\n const [alert, setalert] = useState(\"\");\r\n\r\n useEffect(() => {\r\n dispatch(getUserContract());\r\n }, [dispatch]);\r\n useEffect(() => {\r\n handleWorking();\r\n }, [state]);\r\n\r\n useEffect(() => {\r\n if (current) {\r\n setstate(current);\r\n }\r\n }, [current]);\r\n\r\n const handleInput = (e) => {\r\n setnewcontract({ ...newcontract, [e.target.name]: e.target.value });\r\n };\r\n const handleAddContract = (e) => {\r\n e.preventDefault();\r\n\r\n if (newcontract.endDate && newcontract.endDate < newcontract.hireDate) {\r\n setalert(\r\n \"The end date you enter cannot be later than the start date of your contract!\"\r\n );\r\n return;\r\n }\r\n if (state && state.length > 0 && state[0].endDate > newcontract.hireDate) {\r\n setalert(\r\n \"The start date you enter cannot be earlier than the end date of your previous contract!\"\r\n );\r\n return;\r\n }\r\n\r\n dispatch(addNewContract(newcontract)).then((status) => {\r\n if (status === 200) {\r\n setshowModal(false);\r\n setnewcontract(initialContract);\r\n dispatch(getUserContract());\r\n }\r\n });\r\n };\r\n\r\n const handleCheckDates = (edited) => {\r\n const index = state && state.findIndex((item) => item._id === edited._id);\r\n //console.log(index)\r\n\r\n if (state && state.length > 1) {\r\n if (index === 0) {\r\n if (state[index + 1].endDate > edited.hireDate) {\r\n return \"The start date you enter cannot be earlier than the end date of your previous contract!\";\r\n }\r\n } else if (index + 1 === state.length) {\r\n if (state[index - 1].hireDate < edited.endDate) {\r\n return \"The end date you enter cannot be later than the start date of your next contract!\";\r\n }\r\n } else {\r\n if (state[index + 1].endDate > edited.hireDate) {\r\n return \"The start date you enter cannot be earlier than the end date of your previous contract!\";\r\n } else if (state[index - 1].hireDate < edited.endDate) {\r\n return \"The end date you enter cannot be later than the start date of your next contract!\";\r\n }\r\n }\r\n }\r\n };\r\n\r\n const handleCancel = () => {\r\n setshowModal(false);\r\n setnewcontract(initialContract);\r\n setalert(\"\")\r\n };\r\n\r\n function handleWorking() {\r\n //console.log(\"handle working calıştı\")\r\n const sorted =\r\n state &&\r\n state.sort((a, b) => new Date(b.hireDate) - new Date(a.hireDate));\r\n // console.log(sorted)\r\n if (sorted) {\r\n if (\r\n (sorted && sorted[0] && sorted[0].endDate === \"\") ||\r\n (sorted && sorted[0] && sorted[0].endDate === null)\r\n ) {\r\n setisWorking(true);\r\n } else {\r\n setisWorking(false);\r\n }\r\n }\r\n }\r\n //console.log(state);\r\n //console.log(newcontract);\r\n return (\r\n
\r\n \r\n {setshowModal(!showModal); setalert(\"\")}}\r\n >\r\n Add Contract\r\n \r\n
\r\n \r\n \r\n Add New Contract\r\n \r\n \r\n
\r\n \r\n \r\n Contract Name\r\n \r\n \r\n \r\n \r\n \r\n Position\r\n \r\n \r\n \r\n \r\n \r\n Contract Company\r\n \r\n \r\n \r\n \r\n \r\n Start Date\r\n \r\n \r\n \r\n \r\n \r\n End Date\r\n \r\n \r\n \r\n \r\n \r\n Employment Basis\r\n \r\n \r\n \r\n \r\n \r\n \r\n Contract Work Months\r\n \r\n \r\n \r\n \r\n \r\n \r\n Salary\r\n \r\n \r\n \r\n
\r\n {alert && {alert}}\r\n
\r\n \r\n Submit{\" \"}\r\n {\" \"}\r\n \r\n Cancel\r\n \r\n
\r\n
\r\n
\r\n \r\n {state.map((contract, index) => (\r\n
\r\n \r\n
\r\n ))}\r\n \r\n );\r\n}\r\n","import axios from \"axios\";\r\nimport { API_url } from '../config/config'\r\nimport { logout } from \"./auth\";\r\n\r\n\r\nimport {\r\n DOCUMENT_GET_SUCCESS,\r\n DOCUMENT_GET_FAIL,\r\n SET_MESSAGE,\r\n CLEAR_MESSAGE,\r\n DOCUMENT_DELETE_FAIL,\r\n DOCUMENT_ADD_FAIL\r\n} from \"./types\";\r\n\r\nexport const addNewDocument = (state) => async (dispatch, getState) => {\r\n //console.log(\"add new document calıstı\")\r\n try {\r\n const {auth: { user },} = getState();\r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`,\r\n },\r\n };\r\n const { data } = await axios.post(`${API_url}/api/document`, state, config);\r\n //console.log(data)\r\n return data;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n return error.response ? error.response.data : error;\r\n }\r\n};\r\n\r\n export const getUserDocument = () => async (dispatch, getState) => {\r\n // console.log(\"get oneuser document calıstı\")\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`,\r\n },\r\n };\r\n const { data } = await axios.get(`${API_url}/api/document?sort=-createdAt`, config);\r\n //console.log(data)\r\n dispatch({\r\n type: DOCUMENT_GET_SUCCESS,\r\n payload: data.documents,\r\n });\r\n return data.status;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n dispatch({\r\n type: DOCUMENT_GET_FAIL,\r\n payload: error.response && error.response.data.message,\r\n });\r\n return error;\r\n }\r\n };\r\n\r\n export const updateUserDocument = (state, id) => async (dispatch, getState) => {\r\n // console.log(\"update user document calıstı\", state, id)\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`,\r\n },\r\n };\r\n const { data } = await axios.put(`${API_url}/api/document/${id}`, state, config);\r\n //console.log(data)\r\n return data;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n return error.response ? error.response.data : error;\r\n }\r\n };\r\n \r\n export const deleteUserDocument = (id) => async (dispatch, getState) => {\r\n // console.log(\"delete user document calıstı\")\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`,\r\n },\r\n };\r\n const { data } = await axios.delete(`${API_url}/api/document/${id}`, config);\r\n // console.log(data)\r\n return data;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n return error.response ? error.response.data : error;\r\n }\r\n };\r\n\r\n \r\n \r\n export const downloadDocument = (name) => async (dispatch, getState) => {\r\n //console.log(\"get document from action calıstı\", name)\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`,\r\n }\r\n }; \r\n const data = fetch(`${API_url}/api/filedownload/${name}`, config)\r\n .then(response => response.blob())\r\n .then(resData => {\r\n return resData;\r\n }) \r\n return data;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n return error;\r\n }\r\n };\r\n \r\n export const downloadHRDocument = (name) => async (dispatch, getState) => {\r\n //console.log(\"get document from action calıstı\", name)\r\n try { \r\n const data = fetch(`${API_url}/api/hrdownload/${name}`)\r\n .then(response => response.blob())\r\n .then(resData => {\r\n return resData;\r\n }) \r\n return data;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n return error;\r\n }\r\n };\r\n","import React, { useState, useEffect } from \"react\";\r\nimport {\r\n Form,\r\n Row,\r\n Modal,\r\n Button,\r\n InputGroup,\r\n Alert,\r\n OverlayTrigger,\r\n Tooltip,\r\n Badge,\r\n} from \"react-bootstrap\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\n\r\nimport {\r\n updateUserDocument,\r\n deleteUserDocument,\r\n getUserDocument,\r\n downloadDocument,\r\n} from \"../actions/document.action\";\r\n\r\nconst initialState = {\r\n _id: \"\",\r\n user_id: \"\",\r\n name: \"\",\r\n type: \"\",\r\n url: \"\",\r\n size: \"\",\r\n downloadHr: false,\r\n};\r\n\r\nexport default function UserDocumentDetail({\r\n document,\r\n handleChangeShow,\r\n visibleDocument,\r\n}) {\r\n const dispatch = useDispatch();\r\n const [isDocumenting, setisDocumenting] = useState(false);\r\n const [state, setstate] = useState(initialState);\r\n const [newFile, setnewFile] = useState({});\r\n const [deleteMessage, setdeleteMessage] = useState(\"\");\r\n const [deletealert, setdeletealert] = useState(\"\");\r\n const [uploadMessage, setuploadMessage] = useState(\"\");\r\n const [alert, setalert] = useState(\"\");\r\n const inputReference = React.createRef();\r\n const linkReference = React.createRef();\r\n const [danger, setWarning] = useState(false);\r\n const [downloadURL, setdownloadURL] = useState(\"\");\r\n const [warnWidth, setwarnWidth] = useState(\"\");\r\n\r\n console.log(visibleDocument);\r\n useEffect(() => {\r\n if (document) {\r\n setstate(document);\r\n }\r\n }, [document, visibleDocument]);\r\n\r\n useEffect(() => {\r\n //console.log(\"get document from details calıstı\", state.url)\r\n dispatch(downloadDocument(state.url)).then((res) => {\r\n const objectURL = window.URL.createObjectURL(res);\r\n setdownloadURL(objectURL);\r\n });\r\n }, [dispatch, state.url]);\r\n\r\n const selectType = () => {\r\n let file_type = \"\";\r\n if (state.type) {\r\n if (state.type.substr(-4).substring(0, 1) === \"/\") {\r\n file_type = state.type.substr(-3);\r\n } else {\r\n file_type = state.type.substr(-4);\r\n }\r\n }\r\n //console.log(file_type);\r\n return file_type ===\r\n (\"jpeg\" ||\r\n \"jpg\" ||\r\n \"png\" ||\r\n \"bmp\" ||\r\n \"gif\" ||\r\n \"tiff\" ||\r\n \"psd\" ||\r\n \"al\" ||\r\n \"indd\" ||\r\n \"raw\")\r\n ? \"-image\"\r\n : file_type === (\"doc\" || \"docx\")\r\n ? \"-word\"\r\n : file_type === (\"xls\" || \"xlsx\")\r\n ? \"-excel\"\r\n : file_type === (\"ppt\" || \"pptx\")\r\n ? \"-powerpoint\"\r\n : file_type === \"txt\"\r\n ? \"-alt\"\r\n : file_type === \"pdf\"\r\n ? \"-pdf\"\r\n : \"\";\r\n };\r\n\r\n const fileUploadAction = () => inputReference.current.click();\r\n\r\n const fileUploadInputChange = (e) => {\r\n //console.log(e)\r\n if (e.target.files[0].type !== \"application/pdf\") {\r\n setalert(\"Please select Pdf files only!\");\r\n return;\r\n }\r\n if (e.target.files[0].size >= 2000000) {\r\n setalert(\"Please select file size under 2Mb!\");\r\n return;\r\n }\r\n setnewFile(e.target.files[0]);\r\n setalert(\"\");\r\n setuploadMessage(\"New file selected succesfully!\");\r\n };\r\n\r\n const handleEditing = () => {\r\n setisDocumenting(!isDocumenting);\r\n };\r\n\r\n const handleClearEdit = () => {\r\n setisDocumenting(false);\r\n setstate(document);\r\n setalert(\"\");\r\n setwarnWidth(\"\");\r\n setuploadMessage(\"\");\r\n };\r\n\r\n const handleInput = (e) => {\r\n if (!e.target.value || e.target.value.length === 0) {\r\n setwarnWidth(\"Enter document name please\");\r\n } else {\r\n setwarnWidth(\"\");\r\n }\r\n setstate({ ...state, [e.target.name]: e.target.value });\r\n };\r\n\r\n const handleChangeHrStatus = (e) => {\r\n console.log(state.downloadHr);\r\n const file = new FormData();\r\n file.append(\"name\", state.name);\r\n file.append(\"downloadHr\", !state.downloadHr);\r\n dispatch(updateUserDocument(file, state._id)).then((data) => {\r\n if (data.status === 200) {\r\n setstate({ ...state, [e.target.name]: e.target.value });\r\n console.log(\"document update başarılı\");\r\n dispatch(getUserDocument());\r\n handleChangeShow();\r\n }\r\n });\r\n };\r\n\r\n const handleSubmit = (e) => {\r\n e.preventDefault();\r\n if (!state.name) {\r\n setwarnWidth(\"Enter document name please\");\r\n return;\r\n }\r\n\r\n if (!newFile.name && state.name === document.name) {\r\n setalert(\"Please make changes for update\");\r\n return;\r\n }\r\n\r\n const file = new FormData();\r\n if (newFile.name) {\r\n file.append(\"file\", newFile);\r\n }\r\n file.append(\"name\", state.name);\r\n file.append(\"downloadHr\", state.downloadHr);\r\n\r\n dispatch(updateUserDocument(file, state._id)).then((data) => {\r\n if (data.status === 200) {\r\n setisDocumenting(false);\r\n setuploadMessage(data.message);\r\n setTimeout(() => {\r\n setuploadMessage(\"\");\r\n dispatch(getUserDocument());\r\n }, 2800);\r\n } else {\r\n setalert(data.message);\r\n setTimeout(() => {\r\n setalert(\"\");\r\n }, 2800);\r\n }\r\n });\r\n };\r\n\r\n const handleDelete = () => {\r\n // console.log(state._id);\r\n dispatch(deleteUserDocument(state._id)).then((data) => {\r\n // console.log(status);\r\n if (data.status === 200) {\r\n setdeleteMessage(data.message);\r\n setTimeout(() => {\r\n setWarning(false);\r\n setdeleteMessage(\"\");\r\n dispatch(getUserDocument());\r\n }, 2800);\r\n } else {\r\n setdeletealert(data.message);\r\n setTimeout(() => {\r\n setalert(\"\");\r\n }, 2800);\r\n }\r\n });\r\n };\r\n\r\n //console.log(newFile);\r\n //console.log(state);\r\n return (\r\n
\r\n \r\n {!isDocumenting && (\r\n linkReference.current.click()}\r\n title={state.url.split(\"-\")[state.url.split(\"-\").length - 1]}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n Upload\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Name\r\n \r\n \r\n {warnWidth && (\r\n \r\n \r\n {warnWidth}\r\n \r\n \r\n )}\r\n \r\n\r\n
\r\n
\r\n \r\n Discard\r\n \r\n setWarning(!danger)}\r\n >\r\n Delete\r\n \r\n setWarning(false)}\r\n color=\"danger\"\r\n backdrop=\"static\"\r\n centered\r\n >\r\n \r\n Delete Contract\r\n \r\n Are you sure delete selected contract?\r\n \r\n \r\n Delete{\" \"}\r\n {\" \"}\r\n setWarning(!danger)}\r\n >\r\n Cancel\r\n \r\n \r\n {(deletealert || deleteMessage) && (\r\n
\r\n \r\n {deletealert}\r\n {deleteMessage}\r\n \r\n
\r\n )}\r\n \r\n {} : handleEditing}\r\n className={\"btn1\"}\r\n disabled={\r\n isDocumenting &&\r\n !newFile.name &&\r\n state.name === document.name &&\r\n state.downloadHr === document.downloadHr\r\n ? true\r\n : false\r\n }\r\n >\r\n {isDocumenting ? \"Save\" : \"Edit\"}\r\n \r\n
\r\n \r\n \r\n HR View{\" \"}\r\n {!state.downloadHr ? (\r\n \r\n You can select one file for HR.\r\n \r\n }\r\n >\r\n {({ ref, ...triggerHandler }) => (\r\n \r\n )}\r\n \r\n )\r\n :\r\n \r\n }\r\n \r\n \r\n {document && document.downloadHr === true ? \"Selected\" : \"Select\"}\r\n \r\n \r\n
\r\n
\r\n
\r\n {(alert || uploadMessage) && (\r\n \r\n {alert}\r\n {uploadMessage}\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport {\r\n InputGroup,\r\n Form,\r\n Button,\r\n Modal,\r\n Alert,\r\n OverlayTrigger,\r\n Tooltip,\r\n} from \"react-bootstrap\";\r\n\r\nimport {\r\n getUserDocument,\r\n addNewDocument,\r\n updateUserDocument,\r\n} from \"../actions/document.action\";\r\nimport UserDocumentDetail from \"./UserDocumentDetail\";\r\n\r\nconst initialDocument = {\r\n name: \"\",\r\n file: \"\",\r\n downloadHr: false,\r\n};\r\n\r\nexport default function UserDocument(props) {\r\n const dispatch = useDispatch();\r\n const [state, setstate] = useState([]);\r\n const { current } = useSelector((store) => store.documents);\r\n const [showModal, setshowModal] = useState(false);\r\n const [newdocument, setnewdocument] = useState(initialDocument);\r\n const [uploadMessage, setuploadMessage] = useState(\"\");\r\n const inputReferenceNew = React.createRef();\r\n const [show, setshow] = useState(\"\");\r\n const [warnWidth, setwarnWidth] = useState(\"Enter document name please\");\r\n const [visibleDocument, setvisibleDocument] = useState({})\r\n\r\n const [alert, setalert] = useState(\"\");\r\n const visibleDoc = current && current.find((item) => item.downloadHr === true);\r\n console.log(visibleDoc)\r\n \r\n useEffect(() => {\r\n dispatch(getUserDocument());\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n if (visibleDoc) {\r\n setvisibleDocument(visibleDoc);\r\n }\r\n }, [visibleDoc]);\r\n\r\n useEffect(() => {\r\n if (current) {\r\n setstate(current);\r\n }\r\n }, [current]);\r\n\r\n const handleInput = (e) => {\r\n // console.log(e.target.value.length);\r\n setnewdocument({ ...newdocument, [e.target.name]: e.target.value });\r\n if (e.target.value) {\r\n setwarnWidth(\"\");\r\n } else if (!e.target.value || e.target.value.length === 0) {\r\n setwarnWidth(\"Enter document name please\");\r\n } else {\r\n setwarnWidth(\"Enter document name please\");\r\n }\r\n };\r\n\r\n const fileUploadAction = () => inputReferenceNew.current.click();\r\n\r\n const fileUploadInputChange = (e) => {\r\n if (e.target.files.length === 0) {\r\n return;\r\n }\r\n if (e.target.files[0].type !== \"application/pdf\") {\r\n setalert(\"Please select Pdf files only!\");\r\n return;\r\n }\r\n if (e.target.files[0].size >= 2000000) {\r\n setalert(\"Please select file size under 2Mb!\");\r\n return;\r\n }\r\n setnewdocument({ ...newdocument, file: e.target.files[0] });\r\n setalert(\"\");\r\n setuploadMessage(\"File selected succesfully!\");\r\n };\r\n\r\n const handleAddDocument = () => {\r\n const file = new FormData();\r\n if (newdocument.file.name) {\r\n file.append(\"file\", newdocument.file);\r\n }\r\n file.append(\"name\", newdocument.name);\r\n file.append(\"downloadHr\", newdocument.downloadHr);\r\n if (!newdocument.name) {\r\n setalert(\"Please give a name for your document!\");\r\n return;\r\n }\r\n dispatch(addNewDocument(file)).then((data) => {\r\n if (data.status === 200) {\r\n setshowModal(false);\r\n setshow(data.message);\r\n setwarnWidth(\"Enter document name please\");\r\n setuploadMessage(\"\");\r\n setalert(\"\");\r\n setnewdocument(initialDocument);\r\n setTimeout(() => {\r\n setshow(\"\");\r\n dispatch(getUserDocument());\r\n }, 2500);\r\n } else {\r\n setuploadMessage(\"\");\r\n setalert(data.message);\r\n setTimeout(() => {\r\n setalert(\"\");\r\n }, 2500);\r\n }\r\n });\r\n };\r\n\r\n const handleChangeShow = () => {\r\n const visible = current && current.find((item) => item.downloadHr === true);\r\n // console.log(visible);\r\n if (visible) {\r\n const file = new FormData();\r\n file.append(\"name\", visible.name);\r\n file.append(\"downloadHr\", false);\r\n dispatch(updateUserDocument(file, visible._id)).then((data) => {\r\n if (data.status === 200) {\r\n console.log(\"diğer document update başarılı\")\r\n dispatch(getUserDocument());\r\n }\r\n });\r\n }\r\n };\r\n\r\n const handleCancel = () => {\r\n setshowModal(false);\r\n setnewdocument(initialDocument);\r\n setuploadMessage(\"\");\r\n setalert(\"\");\r\n };\r\n\r\n //console.log(newdocument);\r\n //console.log(warnWidth);\r\n return (\r\n
\r\n
\r\n setshowModal(!showModal)}\r\n >\r\n Add Document\r\n \r\n
\r\n {show && (\r\n
\r\n \r\n {show}\r\n \r\n
\r\n )}\r\n \r\n \r\n Add New Document\r\n \r\n \r\n \r\n \r\n Document Name\r\n \r\n \r\n {warnWidth && (\r\n \r\n \r\n {warnWidth}\r\n \r\n \r\n )}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n Upload\r\n \r\n {(alert || uploadMessage) && (\r\n \r\n {alert}\r\n {uploadMessage}\r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n {!uploadMessage || !newdocument.name ? (\r\n \r\n {uploadMessage && !newdocument.name\r\n ? \"Please write your document name\"\r\n : !uploadMessage && newdocument.name\r\n ? \"Please choose a file to upload\"\r\n : \"Please choose a file and name it.\"}\r\n \r\n }\r\n >\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n Submit{\" \"}\r\n {\" \"}\r\n \r\n Cancel\r\n \r\n \r\n \r\n {state.map((document, index) => (\r\n
\r\n \r\n
\r\n ))}\r\n
\r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\n\r\nimport { Tabs, Tab } from \"react-bootstrap\";\r\n\r\nimport { getUserContract } from \"../actions/contract.action\";\r\nimport { getOneUser } from \"../actions/user.action\";\r\nimport UserPersonal from \"../components/UserPersonal\";\r\nimport UserContract from \"../components/UserContract\";\r\nimport UserDocument from \"../components/UserDocument\";\r\n\r\nconst BoardUser = (props) => {\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n dispatch(getOneUser())\r\n dispatch(getUserContract());\r\n }, [dispatch])\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default BoardUser;\r\n","import axios from \"axios\";\r\nimport { API_url } from '../config/config'\r\nimport { setMessage, clearMessage } from \"./message\";\r\nimport { logout } from \"./auth\";\r\n\r\n\r\nimport {\r\n USER_ALL_SUCCESS,\r\n USER_ALL_FAIL,\r\n CONTRACT_ALL_SUCCESS,\r\n CONTRACT_ALL_FAIL,\r\n GENERATE_ALL_SUCCESS,\r\n GENERATE_ALL_FAIL,\r\n CHANGE_STATUS_FAIL,\r\n ROLE_ALL_SUCCESS,\r\n ROLE_ALL_FAIL,\r\n DOCUMENT_ALL_SUCCESS,\r\n DOCUMENT_ALL_FAIL,\r\n NOTIFICATION_SUCCESS,\r\n NOTIFICATION_FAIL,\r\n} from \"./types\";\r\n \r\n export const getAllUsers = (page, searchValue, status) => async (dispatch, getState) => {\r\n //console.log(\"get all users calıstı ==>\", page, searchValue, status)\r\n let searchStatus = status === \"true\" ? true : false;\r\n //console.log(searchStatus)\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n \r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`,\r\n },\r\n };\r\n const searchQuery = {\r\n \"filter\":searchValue.toLowerCase(),\r\n \"status\":searchStatus,\r\n \"limit\":10,\r\n \"skip\":10*(page-1)\r\n }\r\n \r\n \r\n const { data } = await axios.post(`${API_url}/api/allUsers`, searchQuery, config );\r\n //console.log(data)\r\n dispatch({\r\n type: USER_ALL_SUCCESS,\r\n payload: data.data,\r\n });\r\n return data.meta;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n dispatch({\r\n type: USER_ALL_FAIL,\r\n payload: error.response && error.response.data.message,\r\n });\r\n return error;\r\n }\r\n };\r\n \r\n export const getOneUser = (id) => async (dispatch, getState) => {\r\n //console.log(\"get one user calıstı ==>\", id)\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`,\r\n },\r\n };\r\n const { data } = await axios.get(`${API_url}/api/user/${id}`, config );\r\n //console.log(data)\r\n return data;\r\n } catch (error) {\r\n return error;\r\n }\r\n };\r\n \r\n export const getAllContracts = (page, searchValue) => async (dispatch, getState) => {\r\n //console.log(\"get all contracts calıstı ==>\", page, searchValue)\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n \r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`,\r\n },\r\n };\r\n\r\n const { data } = await axios.get(`${API_url}/api/contractAll?company[regex]=${searchValue.toLowerCase()}&page=${page}`, config );\r\n //console.log(data)\r\n dispatch({\r\n type: CONTRACT_ALL_SUCCESS,\r\n payload: data.contracts,\r\n });\r\n return data.total;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n dispatch({\r\n type: CONTRACT_ALL_FAIL,\r\n payload: error.response && error.response.data.message,\r\n });\r\n return error;\r\n }\r\n };\r\n \r\n export const getAllDocuments = (page, searchValue) => async (dispatch, getState) => {\r\n //console.log(\"get all documents calıstı ==>\", page, searchValue)\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n \r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`,\r\n },\r\n };\r\n\r\n const { data } = await axios.get(`${API_url}/api/documentAll?name[regex]=${searchValue.toLowerCase()}&page=${page}`, config );\r\n //console.log(data)\r\n dispatch({\r\n type: DOCUMENT_ALL_SUCCESS,\r\n payload: data.documents,\r\n });\r\n return data;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n dispatch({\r\n type: DOCUMENT_ALL_FAIL,\r\n payload: error.response && error.response.data.message,\r\n });\r\n return error;\r\n }\r\n };\r\n\r\n export const getNotifications = (page, searchValue) => async (dispatch, getState) => {\r\n //console.log(\"get notifications==>\", page, searchValue)\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n \r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`,\r\n },\r\n };\r\n \r\n const { data } = await axios.get(`${API_url}/api/notifications`, config );\r\n //console.log(data)\r\n dispatch({\r\n type: NOTIFICATION_SUCCESS,\r\n payload: data.notifications,\r\n });\r\n return data;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n dispatch({\r\n type: NOTIFICATION_FAIL,\r\n payload: error.response && error.response.data.message,\r\n });\r\n return error.response ? error.response.data.message : error;\r\n }\r\n };\r\n\r\n export const changeNoticeStatus = (id, isActive, status) => async (dispatch, getState) => {\r\n //console.log(\"change notification calıstı ==>\", id, isActive, status)\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n \r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`,\r\n },\r\n };\r\n \r\n const {data} = await axios.put(`${API_url}/api/notification/${id}`, {isActive:isActive, status:status}, config );\r\n //console.log(data)\r\n setMessage(data.msg)\r\n setTimeout(() => {\r\n clearMessage();\r\n }, 3000)\r\n return data;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n return error;\r\n }\r\n };\r\n \r\n export const deleteNotification = (id) => async (dispatch, getState) => {\r\n //console.log(\"delete notification calıstı ==>\", id)\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n \r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`,\r\n },\r\n };\r\n \r\n const {data} = await axios.delete(`${API_url}/api/notification/${id}`, config );\r\n //console.log(data)\r\n setMessage(data.msg)\r\n setTimeout(() => {\r\n clearMessage();\r\n }, 3000)\r\n return data;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n return error;\r\n }\r\n };\r\n\r\n export const getAllRoles = (page, searchValue) => async (dispatch, getState) => {\r\n //console.log(\"get all roles calıstı ==>\", page, searchValue)\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n \r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`,\r\n },\r\n };\r\n \r\n const { data } = await axios.get(`${API_url}/api/role`, config );\r\n //console.log(data)\r\n dispatch({\r\n type: ROLE_ALL_SUCCESS,\r\n payload: data,\r\n });\r\n return data;\r\n } catch (error) {\r\n //console.log(error.response)\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n dispatch({\r\n type: ROLE_ALL_FAIL,\r\n payload: error.response && error.response.data.message,\r\n });\r\n return error;\r\n }\r\n };\r\n \r\n export const changeUserRole = (id, roles) => async (dispatch, getState) => {\r\n //console.log(\"change user roles calıstı ==>\", id, roles)\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n \r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`,\r\n },\r\n };\r\n \r\n const {data} = await axios.put(`${API_url}/api/role/${id}`, {role_id:roles}, config );\r\n // console.log(data)\r\n setMessage(data.msg)\r\n setTimeout(() => {\r\n clearMessage();\r\n }, 3000)\r\n return data;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n dispatch({\r\n type: CHANGE_STATUS_FAIL,\r\n payload: error.response && error.response.data.message,\r\n });\r\n return error;\r\n }\r\n };\r\n \r\n export const changeUserStatus = (id) => async (dispatch, getState) => {\r\n // console.log(\"change user status calıstı ==>\", id)\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n \r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`,\r\n },\r\n };\r\n \r\n const { data } = await axios.put(`${API_url}/api/status/${id}`, {}, config );\r\n //console.log(data)\r\n setMessage(data)\r\n setTimeout(() => {\r\n clearMessage();\r\n }, 3000)\r\n return data;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n dispatch({\r\n type: CHANGE_STATUS_FAIL,\r\n payload: error.response && error.response.data.message,\r\n });\r\n return error;\r\n }\r\n };\r\n \r\n export const changeUserVisible = (id) => async (dispatch, getState) => {\r\n //console.log(\"change user operator status calıstı ==>\", id)\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n \r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`,\r\n },\r\n };\r\n \r\n const { data } = await axios.put(`${API_url}/api/showoperator/${id}`, {}, config );\r\n //console.log(data)\r\n setMessage(data)\r\n setTimeout(() => {\r\n clearMessage();\r\n }, 3000)\r\n return data;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n dispatch({\r\n type: CHANGE_STATUS_FAIL,\r\n payload: error.response && error.response.data.message,\r\n });\r\n return error;\r\n }\r\n };\r\n \r\n export const getGeneratedCodes = (page, searchValue) => async (dispatch, getState) => {\r\n // console.log(\"get all generated codes calıstı ==>\", page, searchValue)\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n \r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`,\r\n },\r\n };\r\n \r\n const { data } = await axios.get(`${API_url}/api/generateGetAll`, config );\r\n //console.log(data)\r\n dispatch({\r\n type: GENERATE_ALL_SUCCESS,\r\n payload: data,\r\n });\r\n return data.length;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n dispatch({\r\n type: GENERATE_ALL_FAIL,\r\n payload: error.response && error.response.data.message,\r\n });\r\n return error;\r\n }\r\n };\r\n\r\n export const sendUsertoHR = (id, email) => async (dispatch, getState) => {\r\n //console.log(\"send user to HR calıstı ==>\", id, email)\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n \r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`,\r\n },\r\n };\r\n \r\n const {data} = await axios.post(`${API_url}/api/sendUserCode/${id}`, {email}, config );\r\n //console.log(data)\r\n setMessage(data.msg)\r\n setTimeout(() => {\r\n clearMessage();\r\n }, 3000)\r\n return data;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n return error;\r\n }\r\n };\r\n \r\n export const sendUserConfirmation = (id, email) => async (dispatch, getState) => {\r\n //console.log(\"send user confirmation calıstı ==>\", id, email)\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n \r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`,\r\n },\r\n };\r\n \r\n const {data} = await axios.post(`${API_url}/api/sendConfirmation/${id}`, {email}, config );\r\n //console.log(data)\r\n setMessage(data.msg)\r\n setTimeout(() => {\r\n clearMessage();\r\n }, 3000)\r\n return data;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n return error;\r\n }\r\n };","import React, { useState, useEffect } from \"react\";\r\nimport { API_url } from \"../config/config\";\r\n\r\n// Redux\r\nimport { useDispatch } from \"react-redux\";\r\n// Bootstrap Components\r\nimport {\r\n InputGroup,\r\n FormControl,\r\n Card,\r\n ListGroupItem,\r\n Alert,\r\n Row,\r\n Col,\r\n ListGroup,\r\n Button,\r\n Form,\r\n} from \"react-bootstrap\";\r\nimport { getOneUserMode } from \"../actions/supervisor.action\";\r\nimport { sendUsertoHR, changeUserVisible, getAllUsers } from \"../actions/admin.action\";\r\nimport { downloadHRDocument } from \"../actions/document.action\";\r\n\r\n\r\nconst BoardSupervisor = () => {\r\n const dispatch = useDispatch();\r\n const [state, setstate] = useState({});\r\n const [downloadURL, setdownloadURL] = useState(\"\");\r\n const [searchValue, setsearchValue] = useState(\"\");\r\n const [HRmail, setHRmail] = useState(\"\");\r\n const [sendMessage, setsendMessage] = useState(\"\");\r\n\r\n const [copySuccess, setCopySuccess] = useState(\"\");\r\n const [message, setMessage] = useState(\"\");\r\n const cvReference = React.createRef();\r\n const codeAreaRef = React.createRef();\r\n\r\n useEffect(() => {\r\n if (state && state.userDocuments && state.userDocuments.length > 0) {\r\n dispatch(downloadHRDocument(state.userDocuments[0].url)).then((res) => {\r\n const objectURL = window.URL.createObjectURL(res);\r\n setdownloadURL(objectURL);\r\n });\r\n }\r\n }, [dispatch, state]);\r\n\r\n const onFilterPageClear = (e) => {\r\n setsearchValue(\"\");\r\n setstate({});\r\n };\r\n\r\n const handleInput = (e) => {\r\n setsearchValue(e.target.value);\r\n };\r\n const handleSearch = (e) => {\r\n e.preventDefault();\r\n if(!searchValue){\r\n return;\r\n }\r\n dispatch(getOneUserMode(searchValue)).then((res) => {\r\n // console.log(res);\r\n if (res.status === 200) {\r\n setstate(res && res.user && res.user[0]);\r\n if(res && res.user && res.user.length === 0){\r\n setMessage(\"Please enter a validate mail and try again please!\");\r\n }else {\r\n setsearchValue(\"\");\r\n }\r\n } else if (res.status === 400) {\r\n setMessage(res.data.msg);\r\n }\r\n setTimeout(() => {\r\n setMessage(\"\");\r\n }, 3000);\r\n });\r\n };\r\n\r\n const handleSendHR = (id) => {\r\n dispatch(sendUsertoHR(id, HRmail)).then((res) => {\r\n if (res.status === 200) {\r\n setsendMessage(res.message);\r\n setHRmail(\"\");\r\n setTimeout(() => {\r\n setsendMessage(\"\");\r\n }, 3000);\r\n }\r\n });\r\n };\r\n\r\n function copyToClipboard(e) {\r\n codeAreaRef.current.select();\r\n document.execCommand(\"copy\");\r\n setCopySuccess(\"Copied!\");\r\n setTimeout(() => {\r\n setCopySuccess(\"\");\r\n }, 2000);\r\n }\r\n\r\n const handleChangeVisible = (id) => {\r\n dispatch(changeUserVisible(id)).then((res) => {\r\n if (res.status === 200) {\r\n setMessage(res.msg);\r\n setTimeout(() => {\r\n setMessage(\"\");\r\n }, 2000);\r\n dispatch(getAllUsers(1, \"\", true));\r\n }\r\n });\r\n };\r\n\r\n //console.log(rolesAll);\r\n //console.log(status);\r\n //console.log(selected);\r\n //console.log(selectedRole);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

\r\n User Search\r\n

\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {message &&\r\n {message}\r\n }\r\n \r\n {state && state._id && (\r\n \r\n \r\n \r\n {`${\r\n state &&\r\n state.firstname.charAt(0).toUpperCase() +\r\n state.firstname.slice(1)\r\n } \r\n ${\r\n state &&\r\n state.middlename.charAt(0).toUpperCase() +\r\n state.middlename.slice(1)\r\n }\r\n ${\r\n state &&\r\n state.lastname.charAt(0).toUpperCase() +\r\n state.lastname.slice(1)\r\n }`}\r\n \r\n {state ?\r\n state.userContracts.map((item, index) => (\r\n \r\n \r\n \r\n \r\n {item.company}\r\n \r\n \r\n \r\n \r\n \r\n Position: \r\n {item.position}\r\n \r\n \r\n Start Date: \r\n {item.hireDate &&\r\n new Date(item.hireDate).toLocaleDateString()}\r\n \r\n \r\n End Date:\r\n {item.endDate\r\n ? new Date(item.endDate).toLocaleDateString()\r\n : \" In progress...\"}\r\n \r\n \r\n \r\n \r\n \r\n ))\r\n :\r\n There is no active contract\r\n }\r\n {state &&\r\n state.userDocuments &&\r\n state.userDocuments.length > 0 && (\r\n \r\n \r\n \r\n Open Resume\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n
\r\n User Code\r\n \r\n \r\n
\r\n \r\n \r\n \r\n {\" \"}\r\n {\" \"}\r\n \r\n {copySuccess}\r\n \r\n \r\n \r\n Send user mail and code to a HR Operator\r\n {sendMessage && {sendMessage}}\r\n \r\n setHRmail(e.target.value)}\r\n size=\"sm\"\r\n />\r\n handleSendHR(state._id)}\r\n style={{ cursor: \"pointer\" }}\r\n title=\"Clear\"\r\n >\r\n Send\r\n \r\n \r\n \r\n \r\n \r\n
\r\n Open HR Search\r\n \r\n \r\n
\r\n handleChangeVisible(state._id)}\r\n />\r\n \r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default BoardSupervisor;\r\n","import axios from \"axios\";\r\nimport { API_url } from '../config/config'\r\nimport { logout } from \"./auth\";\r\n\r\nexport const showUsertoHR =(email,code) =>async (dispatch, getState) => {\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n \r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`\r\n },\r\n }; \r\n const { data } = await axios.post(`${API_url}/api/showUser`, {email,code}, config);\r\n // console.log(data)\r\n return data;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n return error.response ? error.response : error;\r\n }\r\n };\r\n \r\n export const getOneUserMode = (email) => async (dispatch, getState) => {\r\n // console.log(\"get one user mode calıstı\")\r\n try {\r\n const {\r\n auth: { user },\r\n } = getState();\r\n \r\n //Header to send with the request\r\n const config = {\r\n headers: {\r\n 'x-access-token': `${user.accessToken}`\r\n },\r\n }; \r\n const { data } = await axios.get(`${API_url}/api/modUser/${email}`, config);\r\n //console.log(data)\r\n return data;\r\n } catch (error) {\r\n if(error.response && error.response.status === 401){\r\n dispatch(logout());\r\n }\r\n return error.response ? error.response : error;\r\n }\r\n };\r\n\r\n\r\n // export const getAllUsersMode = (page, searchValue, status) => async (dispatch, getState) => {\r\n // console.log(\"get all users operator calıstı ==>\", page, searchValue, status)\r\n // let searchStatus = status === \"true\" ? true : false;\r\n // //console.log(searchStatus)\r\n // try {\r\n // const {\r\n // auth: { user },\r\n // } = getState();\r\n \r\n // //Header to send with the request\r\n // const config = {\r\n // headers: {\r\n // 'x-access-token': `${user.accessToken}`,\r\n // },\r\n // };\r\n // const searchQuery = {\r\n // \"filter\":searchValue,\r\n // \"status\":searchStatus,\r\n // \"showOperator\":true,\r\n // \"limit\":10,\r\n // \"skip\":10*(page-1)\r\n // }\r\n // const { data } = await axios.post(`${API_url}/api/allUsers`, searchQuery, config );\r\n // //console.log(data)\r\n // dispatch({\r\n // type: USER_MODE_SUCCESS,\r\n // payload: data.data,\r\n // });\r\n // return data.meta;\r\n // } catch (error) {\r\n // if(error.response && error.response.status === 401){\r\n // dispatch(logout());\r\n // }\r\n // dispatch({\r\n // type: USER_ALL_FAIL,\r\n // payload: error.response && error.response.data.message,\r\n // });\r\n // return error;\r\n // }\r\n // };\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { useMediaQuery } from \"react-responsive\";\r\n\r\nfunction getPager(totalItems, currentPage) {\r\n currentPage = currentPage || 1;\r\n let pageSize = 10;\r\n var totalPages = Math.ceil(totalItems / pageSize);\r\n var startPage, endPage;\r\n if (totalPages <= 3) {\r\n startPage = 1;\r\n endPage = totalPages;\r\n } else {\r\n if (currentPage <= 2) {\r\n startPage = 1;\r\n endPage = 3;\r\n } else if (currentPage + 1 >= totalPages) {\r\n startPage = totalPages - 2;\r\n endPage = totalPages;\r\n } else {\r\n startPage = currentPage - 1;\r\n endPage = currentPage + 1;\r\n }\r\n }\r\n // calculate start and end item indexes\r\n var startIndex = (currentPage - 1) * pageSize;\r\n var endIndex = Math.min(startIndex + pageSize - 1, totalItems - 1);\r\n // create an array of pages to ng-repeat in the pager control\r\n var pages = [...Array(endPage + 1 - startPage).keys()].map(\r\n (i) => startPage + i\r\n );\r\n // return an object with all pager properties required by the view\r\n return {\r\n totalItems: totalItems,\r\n currentPage: currentPage,\r\n pageSize: pageSize,\r\n totalPages: totalPages,\r\n startPage: startPage,\r\n endPage: endPage,\r\n startIndex: startIndex,\r\n endIndex: endIndex,\r\n pages: pages,\r\n };\r\n}\r\n\r\nconst initialState = {\r\n totalItems: 0,\r\n currentPage: 1,\r\n pageSize: 10,\r\n totalPages: 1,\r\n startPage: 1,\r\n endPage: 1,\r\n startIndex: 1,\r\n endIndex: 10,\r\n pages: [],\r\n};\r\n\r\nconst Pagination = ({ currentPage, totalItems, onChangePage }) => {\r\n const [pager, setpager] = useState(initialState);\r\n\r\n // const isTablet = useMediaQuery({ query: \"(min-width: 768px)\" });\r\n const isMobile = useMediaQuery({ query: \"(max-width: 767px)\" });\r\n\r\n useEffect(() => {\r\n setpager(getPager(totalItems, currentPage, 10));\r\n }, [currentPage, totalItems]);\r\n\r\n const setPage = (page) => {\r\n if (page < 1 || page > pager.totalPages) {\r\n return;\r\n }\r\n\r\n // call change page function in parent component\r\n onChangePage(page);\r\n };\r\n //console.log(pager);\r\n return (\r\n
\r\n {!isMobile && pager && (\r\n
\r\n {pager && pager.totalItems !== 0 ? (\r\n \r\n Showing {pager ? pager.startIndex + 1 : 1} to{\" \"}\r\n {pager ? (pager && pager.endIndex) + 1 : 1} of{\" \"}\r\n {pager && pager.totalItems} results\r\n \r\n ) : (\r\n \r\n {pager && pager.totalItems} results\r\n \r\n )}\r\n
\r\n )}\r\n {pager && (\r\n
\r\n setPage(1)}\r\n >\r\n \r\n \r\n setPage(pager.currentPage - 1)}\r\n >\r\n \r\n {!isMobile && \" Prev\"}\r\n \r\n\r\n
    \r\n {/*
  • \r\n setPage(pager.currentPage - 1)}\r\n >\r\n {\" \"}\r\n . . .\r\n \r\n
  • */}\r\n {pager &&\r\n pager.pages &&\r\n pager.pages.map((page, index) => (\r\n setPage(page)}\r\n key={index}\r\n className={`fw-bolder btn-sm btn1 fs-7 py-1 px-3 me-1 ${\r\n pager.currentPage === page ? \"active\" : \"\"\r\n }`}\r\n >\r\n {page}\r\n \r\n ))}\r\n {/*
  • \r\n = pager.totalPages - 1\r\n ? \"d-none\"\r\n : \"fw-bolder btn2 fs-7 me-2 py-1 px-3 m-1\"\r\n }`}\r\n onClick={() => setPage(pager.currentPage + 1)}\r\n >\r\n {\" \"}\r\n . . .\r\n \r\n
  • */}\r\n
\r\n setPage(pager.currentPage + 1)}\r\n >\r\n {!isMobile && \"Next \"}\r\n \r\n \r\n setPage(pager.totalPages)}\r\n >\r\n \r\n \r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default Pagination;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { useMediaQuery } from \"react-responsive\";\r\nimport { API_url } from \"../config/config\";\r\nimport \"../Switch.css\";\r\n\r\n// Redux\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\n// Bootstrap Components\r\nimport {\r\n InputGroup,\r\n FormControl,\r\n Badge,\r\n Table,\r\n Modal,\r\n Row,\r\n Col,\r\n ListGroup,\r\n Button,\r\n Form,\r\n Alert,\r\n} from \"react-bootstrap\";\r\nimport {\r\n getAllUsers,\r\n getAllRoles,\r\n changeUserRole,\r\n changeUserStatus,\r\n changeUserVisible,\r\n sendUsertoHR\r\n} from \"../actions/admin.action\";\r\n\r\nimport Pagination from \"../components/Pagination\";\r\n\r\n\r\nconst jobStatus = (contracts) => {\r\n if (contracts.length === 0) {\r\n return \"Open to Work\";\r\n } else {\r\n let sorted = contracts.sort(\r\n (a, b) => new Date(b.hireDate) - new Date(a.hireDate)\r\n );\r\n //console.log(sorted);\r\n switch (sorted[0].endDate === \"\" || sorted[0].endDate === null) {\r\n case false:\r\n return \"Open to Work\";\r\n case true:\r\n return \"On the Job\";\r\n default:\r\n return \"Open to Work\";\r\n }\r\n }\r\n};\r\n\r\nconst initialState = {\r\n imgUrl: \"\",\r\n email: \"\",\r\n password: \"\",\r\n firstname: \"\",\r\n middlename: \"\",\r\n lastname: \"\",\r\n phone1: \"\",\r\n phone2: \"\",\r\n birthDate: \"\",\r\n placeOfBirth: \"\",\r\n nativeLanguage: \"\",\r\n gender: \"\",\r\n countryOrigin: \"\",\r\n race: \"\",\r\n code: \"\",\r\n roles: [],\r\n socials: [],\r\n userContracts: [],\r\n userDocuments: [],\r\n address: {\r\n address_line_1: \"\",\r\n address_line_2: \"\",\r\n city: \"\",\r\n state: \"\",\r\n zip_code: \"\",\r\n },\r\n};\r\n\r\nconst AllUser = () => {\r\n const dispatch = useDispatch();\r\n const [state, setstate] = useState([]);\r\n const [currentPage, setcurrentPage] = useState(1);\r\n const [searchValue, setsearchValue] = useState(\"\");\r\n const [totalItems, settotalItems] = useState(0);\r\n const [selected, setselected] = useState(initialState);\r\n const [selectedRole, setselectedRole] = useState([]);\r\n const [rolesAll, setrolesAll] = useState([]);\r\n const [copySuccess, setCopySuccess] = useState(\"\");\r\n const [show, setShow] = useState(false);\r\n const [isLoading, setisLoading] = useState(false);\r\n const [status, setstatus] = useState(\"true\");\r\n const [message, setmessage] = useState(\"\");\r\n const [sendMessage, setsendMessage] = useState(\"\");\r\n const [HRmail, setHRmail] = useState(\"\")\r\n //const isTablet = useMediaQuery({ query: \"(min-width: 768px)\" });\r\n const isMobile = useMediaQuery({ query: \"(max-width: 767px)\" });\r\n const { users } = useSelector((store) => store.admins);\r\n const { roles } = useSelector((store) => store.admins);\r\n const { user:current } = useSelector((store) => store.auth);\r\n\r\n const codeAreaRef = React.createRef();\r\n const handleClose = () => setShow(false);\r\n const handleCloseX = () => setmessage(\"\");\r\n\r\n useEffect(() => {\r\n dispatch(getAllRoles());\r\n dispatch(getAllUsers(currentPage, searchValue, status)).then((meta) =>\r\n settotalItems(meta.total)\r\n );\r\n }, [dispatch, currentPage, searchValue, status]);\r\n\r\n useEffect(() => {\r\n if (users) {\r\n setstate(users);\r\n }\r\n }, [users]);\r\n\r\n useEffect(() => {\r\n if (roles) {\r\n setrolesAll(roles);\r\n }\r\n }, [roles]);\r\n\r\n const onChangePage = (pageNum) => {\r\n setcurrentPage(pageNum);\r\n };\r\n\r\n const onFilterPageClear = (e) => {\r\n setsearchValue(\"\");\r\n };\r\n\r\n function onRowClick(id) {\r\n const selected = users && users.find((item) => item._id === id);\r\n setselected(selected);\r\n setselectedRole(selected.roles);\r\n setShow(true);\r\n }\r\n\r\n const handleSearch = (e) => {\r\n setsearchValue(e.target.value);\r\n setcurrentPage(1);\r\n };\r\n\r\n const handleInput = (e) => {\r\n //console.log(e);\r\n let temp_selectedRole = [...selectedRole];\r\n\r\n if (e.target.checked) {\r\n temp_selectedRole.push(e.target.id);\r\n setselectedRole(temp_selectedRole);\r\n } else {\r\n let filteredRole = temp_selectedRole.filter(\r\n (item) => item !== e.target.id\r\n );\r\n setselectedRole(filteredRole);\r\n }\r\n };\r\n\r\n const handleChangeStatus = (id) => {\r\n setisLoading(true);\r\n dispatch(changeUserStatus(id)).then((res) => {\r\n if (res.status === 200) {\r\n setShow(false);\r\n setmessage(res.msg);\r\n setTimeout(() => {\r\n setmessage(\"\");\r\n setisLoading(false);\r\n }, 2000);\r\n dispatch(getAllUsers(currentPage, searchValue, status)).then((meta) =>\r\n settotalItems(meta.total)\r\n );\r\n }\r\n });\r\n };\r\n\r\n const handleSendHR = (id) => {\r\n dispatch(sendUsertoHR(id, HRmail)).then((res) => {\r\n if (res.status === 200) {\r\n setsendMessage(res.message);\r\n setHRmail(\"\");\r\n setTimeout(() => {\r\n setsendMessage(\"\");\r\n }, 2000);\r\n }\r\n });\r\n };\r\n\r\n const handleChangeVisible = (id) => {\r\n setisLoading(true);\r\n dispatch(changeUserVisible(id)).then((res) => {\r\n if (res.status === 200) {\r\n setShow(false);\r\n setmessage(res.msg);\r\n setTimeout(() => {\r\n setmessage(\"\");\r\n setisLoading(false);\r\n }, 2000);\r\n dispatch(getAllUsers(currentPage, searchValue, status)).then((meta) =>\r\n settotalItems(meta.total)\r\n );\r\n }\r\n });\r\n };\r\n\r\n const handleChangeRole = () => {\r\n setisLoading(true);\r\n dispatch(changeUserRole(selected._id, selectedRole)).then((res) => {\r\n if (res.status === 200) {\r\n setShow(false);\r\n setmessage(res.msg);\r\n setTimeout(() => {\r\n setmessage(\"\");\r\n setisLoading(false);\r\n }, 2000);\r\n dispatch(getAllUsers(currentPage, searchValue, status)).then((meta) =>\r\n settotalItems(meta.total)\r\n );\r\n }\r\n });\r\n };\r\n\r\n function copyToClipboard(e) {\r\n codeAreaRef.current.select();\r\n document.execCommand(\"copy\");\r\n setCopySuccess(\"Copied!\");\r\n setTimeout(() => {\r\n setCopySuccess(\"\");\r\n }, 2000);\r\n }\r\n\r\n //console.log(current);\r\n //console.log(status);\r\n //console.log(selected);\r\n //console.log(selectedRole);\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!isMobile && (\r\n <>\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {state ? (\r\n state.map((item, index) => {\r\n return (\r\n \r\n onRowClick(item._id)}\r\n >\r\n {item.firstname.charAt(0).toUpperCase() +\r\n item.firstname.slice(1) +\r\n \" \" +\r\n item.lastname.charAt(0).toUpperCase() +\r\n item.lastname.slice(1)}\r\n \r\n {!isMobile && (\r\n <>\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n })\r\n ) : (\r\n <>\r\n )}\r\n \r\n
NameContractHireDateEndDateJob StatusShow HR\r\n
\r\n {setstatus(\"true\"); setcurrentPage(1)}}\r\n />\r\n

\r\n {setstatus(\"false\"); setcurrentPage(1)}}\r\n />\r\n
\r\n
\r\n {item.userContracts.map((elem, i) => (\r\n
{elem.company}
\r\n ))}\r\n
\r\n {item.userContracts.map((elem, i) => (\r\n
\r\n {new Date(elem.hireDate).toLocaleDateString()}\r\n
\r\n ))}\r\n
\r\n {item.userContracts.map((elem, i) => (\r\n
\r\n {elem.endDate ? (\r\n new Date(elem.endDate).toLocaleDateString()\r\n ) : (\r\n Continue\r\n )}\r\n
\r\n ))}\r\n
\r\n \r\n {jobStatus(item.userContracts)}\r\n \r\n \r\n handleChangeVisible(item._id)}\r\n disabled={!item.status}\r\n />\r\n \r\n handleChangeStatus(item._id)}\r\n disabled={(current && current.id === item._id) ? true : false}\r\n />\r\n
\r\n {selected ? (\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Email\r\n \r\n \r\n \r\n \r\n {selected.email}\r\n \r\n \r\n \r\n \r\n
\r\n Name\r\n \r\n \r\n
\r\n \r\n \r\n {\" \"}\r\n {selected.firstname.charAt(0).toUpperCase() +\r\n selected.firstname.slice(1)}{\" \"}\r\n {selected.middlename.charAt(0).toUpperCase() +\r\n selected.middlename.slice(1)}{\" \"}\r\n {selected.lastname.charAt(0).toUpperCase() +\r\n selected.lastname.slice(1)}\r\n \r\n \r\n \r\n \r\n
\r\n Contact\r\n \r\n \r\n
\r\n \r\n \r\n \r\n {\" \"} Phone-1: {selected.phone1}\r\n \r\n \r\n \r\n {\" \"} Phone-2: {selected.phone2}\r\n \r\n {selected &&\r\n selected.socials &&\r\n selected.socials.map((social, i) => {\r\n return (\r\n \r\n {\" \"}\r\n {\" \"}\r\n {social.url}\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n
\r\n Address\r\n \r\n \r\n
\r\n \r\n {selected.address && (\r\n \r\n \r\n {\" \"} {selected.address.address_line_1}{\" \"}\r\n {selected.address.address_line_2} {selected.address.city}{\" \"}\r\n {selected.zip_code} {selected.address.state}\r\n \r\n )}\r\n \r\n \r\n \r\n
\r\n Contracts\r\n \r\n \r\n
\r\n \r\n {selected &&\r\n selected.userContracts &&\r\n selected.userContracts.map((contract, i) => {\r\n return (\r\n \r\n \r\n \r\n {\" \"}\r\n Name : {contract.contractname}\r\n {\" \"}\r\n {\" / \"}\r\n {contract.company}\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n
\r\n Documents\r\n \r\n \r\n
\r\n \r\n {selected &&\r\n selected.userDocuments &&\r\n selected.userDocuments.map((document, i) => {\r\n return (\r\n \r\n \r\n Name:{\" \"}\r\n {document.name}\r\n {\" \"}\r\n {\" / \"}\r\n \r\n {\" \"}\r\n Date:{\" \"}\r\n {document.updatedAt\r\n ? new Date(\r\n document.updatedAt\r\n ).toLocaleDateString()\r\n : \"\"}{\" \"}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n
\r\n User Code\r\n \r\n \r\n
\r\n \r\n \r\n \r\n {\" \"}\r\n {\" \"}\r\n \r\n {copySuccess}\r\n \r\n \r\n \r\n Send user mail and code to a HR\r\n {sendMessage && {sendMessage}}\r\n \r\n setHRmail(e.target.value)}\r\n size=\"sm\"\r\n />\r\n handleSendHR(selected._id)}\r\n style={{ cursor: \"pointer\" }}\r\n title=\"Clear\"\r\n >\r\n Send\r\n \r\n \r\n \r\n \r\n \r\n
\r\n Additional\r\n \r\n \r\n
\r\n \r\n \r\n \r\n {\" \"} Birth Date :\r\n {selected.birthDate\r\n ? new Date(selected.birthDate).toLocaleDateString()\r\n : \"\"}\r\n \r\n \r\n \r\n {\" \"} Origin: {selected.countryOrigin}\r\n \r\n \r\n \r\n {\" \"} Place Of Birth: {selected.placeOfBirth}\r\n \r\n \r\n \r\n {\" \"} Race: {selected.race}\r\n \r\n \r\n \r\n {\" \"} Gender: {selected.gender}\r\n \r\n \r\n \r\n {\" \"} Native Lang: {selected.nativeLanguage}\r\n \r\n \r\n \r\n \r\n
\r\n User Role\r\n \r\n \r\n
\r\n
\r\n {rolesAll.map((role) => {\r\n return (\r\n \r\n );\r\n })}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n Update Role\r\n \r\n
\r\n
\r\n \r\n Close\r\n \r\n {/* \r\n Update\r\n */}\r\n
\r\n
\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n Info\r\n \r\n \r\n
\r\n {message}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default AllUser;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { useMediaQuery } from \"react-responsive\";\r\n\r\n// Redux\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\n// Bootstrap Components\r\nimport {\r\n InputGroup,\r\n FormControl,\r\n Alert,\r\n Table,\r\n Modal,\r\n Row,\r\n Col,\r\n ListGroup,\r\n Button,\r\n} from \"react-bootstrap\";\r\nimport { getAllContracts } from \"../actions/admin.action\";\r\n\r\nimport Pagination from \"../components/Pagination\";\r\n\r\nconst AllContract = () => {\r\n const dispatch = useDispatch();\r\n const [state, setstate] = useState([]);\r\n const [currentPage, setcurrentPage] = useState(1);\r\n const [searchValue, setsearchValue] = useState(\"\");\r\n const [totalItems, settotalItems] = useState(0);\r\n const [selected, setselected] = useState({});\r\n const [show, setShow] = useState(false);\r\n const [message, setmessage] = useState(\"\");\r\n const isMobile = useMediaQuery({ query: \"(max-width: 767px)\" });\r\n const { contracts } = useSelector((store) => store.admins);\r\n\r\n const handleClose = () => setShow(false);\r\n const handleCloseX = () => setmessage(\"\");\r\n\r\n useEffect(() => {\r\n dispatch(getAllContracts(currentPage, searchValue)).then((total) =>\r\n settotalItems(total)\r\n );\r\n }, [dispatch, currentPage, searchValue]);\r\n\r\n useEffect(() => {\r\n if (contracts) {\r\n setstate(contracts);\r\n }\r\n }, [contracts]);\r\n\r\n const onChangePage = (pageNum) => {\r\n setcurrentPage(pageNum);\r\n };\r\n\r\n const onFilterPageClear = (e) => {\r\n setsearchValue(\"\");\r\n };\r\n\r\n function onRowClick(item) {\r\n const selectedcontract =\r\n contracts && contracts.find((elem) => elem._id === item._id);\r\n setselected(selectedcontract);\r\n setShow(true);\r\n }\r\n\r\n const handleSearch = (e) => {\r\n setsearchValue(e.target.value);\r\n };\r\n\r\n //console.log(state);\r\n //console.log(selected);\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!isMobile && (\r\n <>\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {state ? (\r\n state.map((item, index) => {\r\n return (\r\n onRowClick(item)}>\r\n \r\n \r\n {!isMobile && (\r\n <>\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n })\r\n ) : (\r\n <>\r\n )}\r\n \r\n
CompanyUser NameContract NameHireDateEndDatePosition
{item.company} \r\n {item &&\r\n item.user_id &&\r\n item.user_id.firstname.charAt(0).toUpperCase() +\r\n item.user_id.firstname.slice(1) + \r\n \" \" +\r\n item.user_id.middlename.charAt(0).toUpperCase() +\r\n item.user_id.middlename.slice(1) +\r\n \" \" +\r\n item.user_id.lastname.charAt(0).toUpperCase() +\r\n item.user_id.lastname.slice(1)}\r\n {item.contractname}\r\n {item.hireDate\r\n ? new Date(item.hireDate).toLocaleDateString()\r\n : \"\"}\r\n \r\n {item.endDate ? (\r\n new Date(item.endDate).toLocaleDateString()\r\n ) : (\r\n Continue\r\n )}\r\n {item.position}
\r\n {selected ? (\r\n \r\n \r\n \r\n \r\n Contract Details\r\n \r\n \r\n \r\n \r\n \r\n \r\n Contract Name\r\n \r\n \r\n \r\n \r\n {selected.contractname}\r\n \r\n \r\n \r\n \r\n
\r\n Company\r\n \r\n \r\n
\r\n \r\n \r\n {selected.company}\r\n \r\n \r\n \r\n \r\n
\r\n User Email\r\n \r\n \r\n
\r\n \r\n \r\n {\" \"}\r\n {selected && selected.user_id && selected.user_id.email}\r\n \r\n \r\n \r\n \r\n
\r\n User Name\r\n \r\n \r\n
\r\n \r\n \r\n {\" \"}\r\n {selected &&\r\n selected.user_id &&\r\n selected.user_id.firstname.charAt(0).toUpperCase() +\r\n selected.user_id.firstname.slice(1) +\r\n \" \" +\r\n selected.user_id.middlename.charAt(0).toUpperCase() +\r\n selected.user_id.middlename.slice(1) +\r\n \" \" +\r\n selected.user_id.lastname.charAt(0).toUpperCase() +\r\n selected.user_id.lastname.slice(1) }\r\n \r\n \r\n \r\n \r\n
\r\n Position\r\n \r\n \r\n
\r\n \r\n \r\n {selected.position}\r\n \r\n \r\n \r\n \r\n
\r\n Salary\r\n \r\n \r\n
\r\n \r\n \r\n {\" \"}\r\n {selected.salary}\r\n \r\n \r\n \r\n \r\n
\r\n Details\r\n \r\n \r\n
\r\n \r\n \r\n Employment Basis :\r\n {selected.employmentBasis}\r\n \r\n \r\n Work Months :{\" \"}\r\n {selected.workMonths}\r\n \r\n \r\n \r\n \r\n
\r\n Hire Date\r\n \r\n \r\n
\r\n \r\n \r\n {\" \"}\r\n {selected.hireDate\r\n ? new Date(selected.hireDate).toLocaleDateString()\r\n : \"\"}\r\n \r\n \r\n \r\n \r\n
\r\n End Date\r\n \r\n \r\n
\r\n \r\n \r\n {\" \"}\r\n {selected.endDate\r\n ? new Date(selected.endDate).toLocaleDateString()\r\n : \"\"}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n {/* \r\n Delete\r\n */}\r\n
\r\n
\r\n \r\n Close\r\n \r\n
\r\n
\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n Info\r\n \r\n \r\n
\r\n {message}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default AllContract;\r\n","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { useMediaQuery } from \"react-responsive\";\r\n\r\n// Redux\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\n// Bootstrap Components\r\nimport {\r\n InputGroup,\r\n FormControl,\r\n Alert,\r\n Table,\r\n Modal,\r\n Row,\r\n Col,\r\n ListGroup,\r\n Button,\r\n} from \"react-bootstrap\";\r\nimport { getAllDocuments, getOneUser } from \"../actions/admin.action\";\r\nimport { downloadDocument } from \"../actions/document.action\";\r\n\r\nimport Pagination from \"./Pagination\";\r\n\r\nconst AllFile = () => {\r\n const dispatch = useDispatch();\r\n const [state, setstate] = useState([]);\r\n const [currentPage, setcurrentPage] = useState(1);\r\n const [searchValue, setsearchValue] = useState(\"\");\r\n const [totalItems, settotalItems] = useState(0);\r\n const [selected, setselected] = useState({});\r\n const [selectedUser, setselectedUser] = useState({});\r\n const [show, setShow] = useState(false);\r\n const [message, setmessage] = useState(\"\");\r\n const isMobile = useMediaQuery({ query: \"(max-width: 767px)\" });\r\n const { documents } = useSelector((store) => store.admins);\r\n const [downloadURL, setdownloadURL] = useState(\"\")\r\n const linkReference = useRef(null);\r\n\r\n const handleClose = () => setShow(false);\r\n const handleCloseX = () => setmessage(\"\");\r\n\r\n useEffect(() => {\r\n dispatch(getAllDocuments(currentPage, searchValue)).then((data) =>{\r\n if(data.status === 200){\r\n settotalItems(data.total)\r\n } \r\n }\r\n );\r\n }, [dispatch, currentPage, searchValue]);\r\n\r\n useEffect(() => {\r\n if (documents) {\r\n setstate(documents);\r\n }\r\n }, [documents]);\r\n\r\n const onChangePage = (pageNum) => {\r\n setcurrentPage(pageNum);\r\n };\r\n\r\n const onFilterPageClear = (e) => {\r\n setsearchValue(\"\");\r\n };\r\n\r\n function onRowClick(item) {\r\n dispatch(getOneUser(item.user_id))\r\n .then(data => {\r\n if(data.status === 200) {\r\n setselectedUser(data.user[0])\r\n }\r\n })\r\n const selecteddocument = documents && documents.find((elem) => elem._id === item._id);\r\n setselected(selecteddocument);\r\n setShow(true);\r\n }\r\n\r\n const handleSearch = (e) => {\r\n setsearchValue(e.target.value);\r\n };\r\n\r\n const handleDownload = (item) => {\r\n // console.log(\"get document from all files calıstı\", item)\r\n dispatch(downloadDocument(item.url))\r\n .then((res) => {\r\n const objectURL = window.URL.createObjectURL(res) \r\n setdownloadURL(objectURL);\r\n //linkReference.current.href=objectURL;\r\n linkReference.current.click()\r\n })\r\n }\r\n //console.log(state);\r\n // console.log(selected);\r\n // console.log(selectedUser);\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!isMobile && (\r\n <>\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {state ? (\r\n state.map((item, index) => {\r\n return (\r\n \r\n \r\n \r\n {!isMobile && (\r\n <>\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n })\r\n ) : (\r\n <>\r\n )}\r\n \r\n
Document NameHR VisibleCreated DateSizeTypeURL
onRowClick(item)}>{item.name} onRowClick(item)}>{item.downloadHr ? \"Yes\" : \"No\"} onRowClick(item)}>\r\n {item.createdAt\r\n ? new Date(item.createdAt).toLocaleDateString()\r\n : \"\"}\r\n onRowClick(item)}>{item.size} onRowClick(item)}>{item.type}\r\n handleDownload(item)}>\r\n \r\n \r\n \r\n
\r\n {selected ? (\r\n \r\n \r\n Document Details\r\n \r\n \r\n \r\n \r\n Document Name\r\n \r\n \r\n \r\n {\" \"}{selected.name}\r\n \r\n \r\n \r\n
\r\n Size\r\n \r\n \r\n
\r\n \r\n {\" \"}{selected.size}\r\n \r\n \r\n \r\n
\r\n Type\r\n \r\n \r\n
\r\n \r\n {\" \"}{selected.type}\r\n \r\n \r\n \r\n
\r\n User Name\r\n \r\n \r\n
\r\n \r\n {\" \"}{selectedUser && selectedUser._id && selectedUser.firstname + \" \" + selectedUser.middlename + \" \" + selectedUser.lastname}\r\n \r\n \r\n \r\n
\r\n Download Link\r\n \r\n \r\n
\r\n \r\n {\" \"}{selected.url}\r\n \r\n \r\n \r\n
\r\n Create Date\r\n \r\n \r\n
\r\n \r\n {\" \"}\r\n {selected.createdAt\r\n ? new Date(selected.createdAt).toLocaleDateString()\r\n : \"\"}\r\n \r\n \r\n \r\n \r\n
\r\n Update Date\r\n \r\n \r\n
\r\n \r\n {\" \"}\r\n {selected.updatedAt\r\n ? new Date(selected.updatedAt).toLocaleDateString()\r\n : \"\"}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n {/* \r\n Delete\r\n */}\r\n
\r\n
\r\n \r\n Close\r\n \r\n
\r\n
\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n Info\r\n \r\n \r\n
\r\n {message}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default AllFile;\r\n","import React from \"react\";\r\nimport { Tabs, Tab } from \"react-bootstrap\";\r\n\r\nimport AllUser from \"../components/AllUser\";\r\nimport AllContract from \"../components/AllContract\";\r\nimport AllDocument from \"../components/AllDocument\";\r\n\r\n\r\nconst BoardAdmin = (props) => {\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default BoardAdmin;\r\n","import React, { useState, useRef, useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\n\r\nimport Form from \"react-validation/build/form\";\r\nimport Input from \"react-validation/build/input\";\r\nimport CheckButton from \"react-validation/build/button\";\r\nimport { isEmail } from \"validator\";\r\n\r\nimport { register } from \"../actions/auth\";\r\nimport Messages from \"../components/Messages\";\r\nimport { Link } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport { API_url } from \"../config/config\";\r\n\r\nconst required = (value) => {\r\n if (!value) {\r\n return (\r\n
\r\n This field is required!\r\n
\r\n );\r\n }\r\n};\r\n\r\nconst vpassword = (value) => {\r\n if (value.length < 6 || value.length > 40) {\r\n return (\r\n
\r\n The password must be between 6 and 40 characters.\r\n
\r\n );\r\n }\r\n};\r\n\r\nconst initialState = {\r\n email: \"\",\r\n firstname: \"\",\r\n middlename: \"\",\r\n lastname: \"\",\r\n phone: \"\",\r\n};\r\n\r\nconst ResetPassword = () => {\r\n useEffect(() => {\r\n document.body.style.backgroundColor = \"#1c262f\";\r\n });\r\n const initialNewPass = {newpass1: \"\", newpass2: \"\" };\r\n\r\n const form = useRef();\r\n const checkBtn = useRef();\r\n\r\n\r\n\r\n const [successful, setSuccessful] = useState(false);\r\n const [message, setMessage] = useState(null);\r\n const [newpassState, setnewpassState] = useState(initialNewPass);\r\n //const { message } = useSelector((state) => state);\r\n const dispatch = useDispatch();\r\n const [isVisible, setIsVisible] = useState(true);\r\n\r\n \r\n //PUT METHOD//\r\n //GET TOKEN//\r\n const currentHref = window.location.href;\r\n //console.log(\"currentHref =\", currentHref);\r\n const tokenStartIndex = currentHref.indexOf(\"=\") + 1;\r\n //alert(tokenStartIndex);\r\n const tokenEndIndex = currentHref.indexOf(\"&\");\r\n // alert(tokenEndIndex);\r\n const token = currentHref.slice(tokenStartIndex, tokenEndIndex);\r\n //alert(token);\r\n\r\n //GET ID//\r\n const idStartIndex = currentHref.lastIndexOf(\"=\") + 1;\r\n //alert(idStartIndex);\r\n const user_id = currentHref.slice(idStartIndex);\r\n //alert(userId);\r\n\r\n const handleInputPass = (e) => {\r\n setnewpassState({ ...newpassState, [e.target.name]: e.target.value });\r\n };\r\n\r\n const handlePassword = (e) => {\r\n\r\n setSuccessful(false);\r\n e.preventDefault();\r\n if (newpassState.newpass1 !== newpassState.newpass2) {\r\n \r\n setMessage(\"Please check your new password\");\r\n return;\r\n }\r\n if (newpassState.newpass1 === \"\" && newpassState.newpass2 === \"\") {\r\n setMessage(\r\n \"You can not set your new password empty! Please check your new password\"\r\n );\r\n return;\r\n }\r\n if (\r\n newpassState.newpass1 === newpassState.newpass2 &&\r\n newpassState.newpass1.length < 6\r\n ) {\r\n setMessage(\r\n \"New password should be at least 6 character! Please check your new password\"\r\n );\r\n return;\r\n }\r\n const newPassword=newpassState.newpass1;\r\n \r\n axios.put(`${API_url}/api/password-reset`,{ user_id,token, newPassword})\r\n .then((res) => {\r\n // console.log(res);\r\n if (res.data.status === 200) {\r\n setIsVisible(false)\r\n setSuccessful(true);\r\n setMessage(res.data.message)\r\n }\r\n }).catch((err)=>{\r\n setSuccessful(false);\r\n // console.log(err.response.data.message)\r\n setMessage(err.response ? err.response.data.message : err.message)\r\n })\r\n };\r\n\r\n return (\r\n
\r\n \r\n \"\"\r\n {isVisible ? (\r\n \r\n {!successful && (\r\n
\r\n
\r\n \r\n Create Your New Password\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n Confirm Password\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n {message && (\r\n
\r\n \r\n {message}\r\n
\r\n \r\n
\r\n )}\r\n \r\n \r\n \r\n\r\n ) : (\r\n message && (\r\n
\r\n \r\n {message}\r\n
\r\n \r\n Return Home\r\n \r\n \r\n )\r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ResetPassword;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { API_url } from \"../config/config\";\r\n// Redux\r\nimport { useDispatch } from \"react-redux\";\r\nimport {\r\n Button,\r\n ListGroup,\r\n Card,\r\n ListGroupItem,\r\n OverlayTrigger,\r\n Tooltip,\r\n Row,\r\n Col,\r\n Alert,\r\n} from \"react-bootstrap\";\r\n\r\n//UI Components\r\nimport { showUsertoHR } from \"../actions/supervisor.action\";\r\nimport { downloadHRDocument } from \"../actions/document.action\";\r\nimport Form from \"react-validation/build/form\";\r\nimport Input from \"react-validation/build/input\";\r\n\r\nconst BoardOperator = () => {\r\n const [message, setMessage] = useState(null);\r\n const dispatch = useDispatch();\r\n const [state, setstate] = useState({});\r\n const [email, setEmail] = useState(\"\");\r\n const [code, setCode] = useState(\"\");\r\n const [isVisible, setIsVisible] = useState(false);\r\n const cvReference = React.createRef();\r\n const [downloadURL, setdownloadURL] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (state && state.userDocuments && state.userDocuments.length > 0) {\r\n dispatch(downloadHRDocument(state.userDocuments[0].url)).then((res) => {\r\n const objectURL = window.URL.createObjectURL(res);\r\n setdownloadURL(objectURL);\r\n });\r\n }\r\n }, [dispatch, state]);\r\n\r\n const handleData = (e) => {\r\n e.preventDefault();\r\n const lengthCode = code.length;\r\n //console.log(lengthCode);\r\n if (!email || !code) {\r\n setMessage(\"Required Fields,Plese fill out...\");\r\n } else if (lengthCode !== 30) {\r\n setMessage(\"Incorrect entry\");\r\n } else {\r\n dispatch(showUsertoHR(email, code)).then((res) => {\r\n // console.log(res);\r\n if (res.status === 200) {\r\n setstate(res && res.user && res.user[0]);\r\n setIsVisible(true);\r\n setMessage(\"\");\r\n } else if (res.status === 400) {\r\n setMessage(res.data.msg);\r\n setTimeout(() => {\r\n setMessage(\"\");\r\n }, 3000);\r\n }\r\n });\r\n }\r\n };\r\n\r\n const handleClear = () => {\r\n setIsVisible(false);\r\n setEmail(\"\")\r\n setCode(\"\")\r\n setstate({})\r\n }\r\n\r\n //console.log(email, code, isVisible);\r\n return (\r\n
\r\n
\r\n

\r\n Human Resource\r\n

\r\n

\r\n Search Screen\r\n

\r\n
\r\n
\r\n {!isVisible ? (\r\n
\r\n \r\n
\r\n \r\n \r\n setEmail(e.target.value)}\r\n />\r\n
\r\n
\r\n \r\n HR Code:{\" \"}\r\n \r\n This field required, Please enter the candidate code\r\n correctly.\r\n \r\n }\r\n >\r\n {({ ref, ...triggerHandler }) => (\r\n \r\n )}\r\n \r\n \r\n setCode(e.target.value)}\r\n />\r\n
\r\n {message && (\r\n
\r\n {message}\r\n
\r\n )}\r\n \r\n Send Data\r\n \r\n \r\n
\r\n
\r\n ) : (\r\n \r\n
\r\n \r\n \r\n New Seacrh\r\n \r\n
\r\n \r\n {`${\r\n state &&\r\n state.firstname.charAt(0).toUpperCase() +\r\n state.firstname.slice(1)\r\n } \r\n ${\r\n state &&\r\n state.middlename.charAt(0).toUpperCase() +\r\n state.middlename.slice(1)\r\n }\r\n ${\r\n state &&\r\n state.lastname.charAt(0).toUpperCase() +\r\n state.lastname.slice(1)\r\n }`}\r\n \r\n {state &&\r\n state.userContracts.map((item, index) => (\r\n \r\n \r\n \r\n \r\n {item.company}\r\n \r\n \r\n \r\n \r\n \r\n Position: \r\n {item.position}\r\n \r\n \r\n Start Date: \r\n {item.hireDate &&\r\n new Date(item.hireDate).toLocaleDateString()}\r\n \r\n \r\n End Date:\r\n {item.endDate\r\n ? new Date(item.endDate).toLocaleDateString()\r\n : \" In progress...\"}\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n {state &&\r\n state.userDocuments &&\r\n state.userDocuments.length > 0 && (\r\n \r\n \r\n \r\n Download CV\r\n \r\n \r\n \r\n )}\r\n
\r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default BoardOperator;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useMediaQuery } from \"react-responsive\";\r\nimport {\r\n Table,\r\n Alert,\r\n Badge,\r\n} from \"react-bootstrap\";\r\nimport { getNotifications, changeNoticeStatus, deleteNotification, changeUserStatus, sendUserConfirmation } from \"../actions/admin.action\";\r\n\r\nexport const NotificationList = () => {\r\n const dispatch = useDispatch();\r\n const { notifications } = useSelector((store) => store.admins);\r\n const [state, setstate] = useState([]);\r\n const [message, setmessage] = useState(\"\");\r\n const isMobile = useMediaQuery({ query: \"(max-width: 767px)\" });\r\n\r\n //console.log(notifications);\r\n useEffect(() => {\r\n const active =\r\n notifications && notifications.filter((item) => item.isActive === true);\r\n setstate(active);\r\n }, [notifications]);\r\n\r\n useEffect(() => {\r\n dispatch(getNotifications());\r\n }, [dispatch]);\r\n\r\n const handleActivate = (id, user_id, email) => {\r\n dispatch(changeUserStatus(user_id)).then((res) => {\r\n if (res.status === 200) {\r\n dispatch(changeNoticeStatus(id, false, \"Activated\"))\r\n dispatch(sendUserConfirmation(id, email))\r\n setmessage(res.msg);\r\n setTimeout(() => {\r\n dispatch(getNotifications());\r\n setmessage(\"\");\r\n }, 2000);\r\n }\r\n });\r\n \r\n };\r\n \r\n const handleDismiss = (id) => {\r\n dispatch(changeNoticeStatus(id, false, \"Rejected\")).then((res) => {\r\n if (res.status === 200) {\r\n setmessage(res.msg);\r\n setTimeout(() => {\r\n dispatch(getNotifications());\r\n setmessage(\"\");\r\n }, 2000);\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n {message &&
{message}
}\r\n \r\n \r\n \r\n \r\n {!isMobile && }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state &&\r\n state.map((item, index) => {\r\n return (\r\n \r\n \r\n {!isMobile && }\r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
#NotificationEmailNameConfirmDismiss
{index + 1}{item.notification_name}{item.email}{item.firstname} {item.lastname}\r\n \r\n handleActivate(item._id, item.user_id, item.email)}>\r\n Activate User\r\n \r\n \r\n handleDismiss(item._id)}>\r\n Reject Request\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport const NotificationListP = () => {\r\n const dispatch = useDispatch();\r\n const { notifications } = useSelector((store) => store.admins);\r\n const [state, setstate] = useState([]);\r\n const [message, setmessage] = useState(\"\");\r\n const isMobile = useMediaQuery({ query: \"(max-width: 767px)\" });\r\n\r\n //console.log(notifications);\r\n useEffect(() => {\r\n const active =\r\n notifications && notifications.filter((item) => item.isActive === false);\r\n setstate(active);\r\n }, [notifications]);\r\n\r\n useEffect(() => {\r\n dispatch(getNotifications());\r\n }, [dispatch]);\r\n\r\n\r\n const handleDelete = (id) => {\r\n dispatch(deleteNotification(id)).then((res) => {\r\n if (res.status === 200) {\r\n setmessage(res.msg);\r\n dispatch(getNotifications());\r\n setTimeout(() => {\r\n setmessage(\"\");\r\n }, 2000);\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n {message &&
{message}
}\r\n \r\n \r\n \r\n \r\n {!isMobile && }\r\n {!isMobile && }\r\n \r\n {!isMobile && }\r\n \r\n \r\n \r\n \r\n \r\n \r\n {state &&\r\n state.map((item, index) => {\r\n return (\r\n \r\n \r\n {!isMobile && }\r\n {!isMobile && }\r\n \r\n {!isMobile && }\r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
#NotificationEmailNameCreatedUpdatedStatusDelete
{index + 1}{item.notification_name}{item.email}{item.firstname} {item.lastname}{item.createdAt\r\n ? new Date(item.createdAt).toLocaleDateString()\r\n : \"\"}\r\n {item.updatedAt\r\n ? new Date(item.updatedAt).toLocaleDateString()\r\n : \"\"}\r\n {item.status}\r\n handleDelete(item._id)}>\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n","import React, { useEffect } from \"react\";\r\n// Redux\r\nimport { useDispatch } from \"react-redux\";\r\n// Bootstrap Components\r\nimport { Tabs, Tab } from \"react-bootstrap\";\r\nimport { getNotifications } from \"../actions/admin.action\";\r\n\r\nimport {\r\n NotificationList,\r\n NotificationListP,\r\n} from \"../components/NotificationList\";\r\n\r\nconst Notification = () => {\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n // Dispatch the list products action and fill our state\r\n dispatch(getNotifications());\r\n }, [dispatch]);\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Notification;\r\n","import React from 'react'\r\n\r\nexport default function Page404() {\r\n return (\r\n
\r\n

404 Page Not Found....

\r\n
\r\n )\r\n}\r\n","import React from 'react';\r\nimport { Route, Redirect } from \"react-router-dom\";\r\n\r\nfunction ProtectedRoute({ isAuth: isAuth, component: Component, ...rest }) {\r\n return (\r\n {\r\n if (isAuth) {\r\n return \r\n } else {\r\n return (\r\n \r\n )\r\n }\r\n }}\r\n />\r\n )\r\n}\r\n\r\n\r\nexport default ProtectedRoute;","import React, { useState } from \"react\";\r\nimport { Route, Redirect } from \"react-router-dom\";\r\nimport Page404 from \"../pages/Page404\";\r\n\r\nfunction ResetPrivateRoute({ isAuth: isAuth, component: Component, ...rest }) {\r\n const [showComponent, setshowComponent] = useState(false);\r\n\r\n const currentHref = window.location.href;\r\n //console.log(\"currentHref =\", currentHref);\r\n\r\n\r\n if (\r\n currentHref.includes(\"token=\") &\r\n currentHref.includes(\"id=\") &\r\n (showComponent === false)\r\n ) {\r\n setshowComponent(true);\r\n //console.log(\"showComponent=>\", showComponent);\r\n }\r\n\r\n return (\r\n <>\r\n {showComponent && (\r\n {\r\n return ;\r\n }}\r\n />\r\n // {\r\n // if (isAuth) {\r\n // return ;\r\n // } else {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // }}\r\n // />\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default ResetPrivateRoute;\r\n","import React, {useEffect, useState, useCallback} from \"react\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { BrowserRouter as Router, Switch, Route } from \"react-router-dom\";\r\n\r\nimport \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport \"./App.css\";\r\n\r\nimport LoginPage from \"./screens/LoginPage\";\r\nimport RegisterPage from \"./screens/RegisterPage\";\r\nimport ResetPage from \"./screens/ResetPage\";\r\nimport HomePage from \"./screens/HomePage\";\r\nimport ProfilePage from \"./screens/ProfilePage\";\r\nimport Header from \"./components/Header\";\r\nimport { logout } from \"./actions/auth\";\r\nimport { history } from \"./helpers/history\";\r\nimport EventBus from \"./common/EventBus\";\r\nimport AuthVerify from \"./common/AuthVerify\";\r\nimport BoardUser from \"./screens/BoardUser\";\r\nimport BoardSupervisor from \"./screens/BoardSupervisor\";\r\nimport BoardAdmin from \"./screens/BoardAdmin\";\r\nimport ResetPassword from \"./screens/ResetPassword\";\r\nimport BoardOperator from \"./screens/BoardOperator\";\r\nimport Notification from \"./screens/Notification\";\r\nimport Page404 from \"./pages/Page404\";\r\n\r\nimport PrivateRoute from \"./helpers/PrivateRoute\";\r\nimport ResetPrivateRoute from \"./helpers/ResetPrivateRoute\";\r\nimport {getNotifications} from \"./actions/admin.action\";\r\n\r\nconst App = () => {\r\n const store = useSelector((store) => store);\r\n const { user: currentUser } = useSelector((state) => state.auth);\r\n // const operator = currentUser?.roles?.includes(\"ROLE_OPERATOR\");\r\n // const admin = currentUser?.roles?.includes(\"ROLE_ADMIN\");\r\n // const user = currentUser?.roles?.includes(\"ROLE_USER\");\r\n const [showOperatorBoard, setShowOperatorBoard] = useState(false);\r\n const [showSupervisorBoard, setShowSupervisorBoard] = useState(false);\r\n const [showAdminBoard, setShowAdminBoard] = useState(false);\r\n const [showUserBoard, setShowUserBoard] = useState(false);\r\n \r\n const dispatch = useDispatch();\r\n\r\n\r\nconst logOut = useCallback(() => {\r\n dispatch(logout());\r\n}, [dispatch]);\r\n\r\n useEffect(() => {\r\n if (currentUser) {\r\n setShowOperatorBoard(currentUser.roles.includes(\"ROLE_OPERATOR\"));\r\n setShowSupervisorBoard(currentUser.roles.includes(\"ROLE_SUPERVISOR\"));\r\n setShowAdminBoard(currentUser.roles.includes(\"ROLE_ADMIN\"));\r\n setShowUserBoard(currentUser.roles.includes(\"ROLE_USER\"));\r\n } else {\r\n setShowSupervisorBoard(false);\r\n setShowOperatorBoard(false);\r\n setShowAdminBoard(false);\r\n setShowUserBoard(false);\r\n }\r\n EventBus.on(\"logout\", () => {\r\n logOut();\r\n });\r\n\r\n return () => {\r\n EventBus.remove(\"logout\");\r\n };\r\n }, [currentUser, logOut]);\r\n\r\n\r\nuseEffect(() => {\r\n if (showAdminBoard) {\r\n dispatch(getNotifications());\r\nsetInterval(() => {\r\n dispatch(getNotifications());\r\n}, 300000);\r\n }\r\n}, [dispatch, showAdminBoard]);\r\n\r\n // console.log(\"Operator:\", showOperatorBoard);\r\n // console.log(\"Admin:\", showAdminBoard);\r\n // console.log(\"User:\", user);\r\n // console.log(\"State User:\", currentUser);\r\n //console.log(store);\r\n return (\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default App;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\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 subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\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.0/8 are 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 function register(config) {\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.href);\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/facebook/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. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\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 // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\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, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' },\r\n })\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.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, config);\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\r\n .then(registration => {\r\n registration.unregister();\r\n })\r\n .catch(error => {\r\n console.error(error.message);\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 store from \"./store\";\r\nimport \"./index.css\";\r\nimport App from \"./App\";\r\nimport * as serviceWorker from \"./serviceWorker\";\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can chađinge\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}