{"version":3,"sources":["config.js","shared/services/projects/types.js","pages/profile/profileService.js","shared/services/crypto/index.js","ErrorBoundary.js","shared/services/i18n/types.js","shared/services/i18n/index.js","shared/components/Header/components/language-selector/langSelect.js","shared/components/Header/Header.js","shared/layout/MainLayout.js","shared/routes/AuthRoute.js","shared/routes/PublicRoute.js","Routes.js","App.js","serviceWorker.js","shared/translations/i18n.js","shared/services/projectInfo/types.js","reducer/rootReducer.js","shared/services/security/reducers.js","shared/services/projects/reducers.js","shared/services/projectInfo/reducers.js","shared/services/timeline/reducers.js","shared/services/i18n/reducers.js","shared/services/images/reducers.js","shared/services/SignalR/reducers.js","index.js","shared/services/timeline/types.js","shared/services/interceptors/Api.js","shared/services/security/types.js","shared/components/block.js","shared/services/SignalR/types.js","shared/services/images/types.js","shared/services/security/index.js","shared/services/SignalR/index.js","shared/controllers/SendLogger.js"],"names":["__webpack_require__","d","__webpack_exports__","loggerKey","blobStoreUri","SET_PROJECT","shared_services_interceptors_Api__WEBPACK_IMPORTED_MODULE_0__","updatePassword","model","api","post","updateNotifications","items","put","getUserConfig","get","sendImageProfile","headers","Content-Type","encrypt","decrypt","crypto_js__WEBPACK_IMPORTED_MODULE_0__","crypto_js__WEBPACK_IMPORTED_MODULE_0___default","n","ENC_KEY","plaintext","ReactEncrypt","AES","JSON","stringify","toString","cypher","bytes","parse","enc","Utf8","ErrorBoundary","props","_this","Object","classCallCheck","this","possibleConstructorReturn","getPrototypeOf","call","goBackHandler","setState","hasError","state","error","errorInfo","activeUser","localStorage","getItem","errorMessage","concat","substring","length","componentStack","SendLogger","userName","react_default","a","createElement","className","t","type","onClick","children","Component","withTranslation","SET_LANGUAGE","setLanguage","language","dispatch","setItem","saveLanguage","LangSelect","lang","code","label","langs","changeLanguage","event","languageSelected","target","name","i18n","prev","objectSpread","find","i18nextLng","_this2","_this3","_this$state","Dropdown","Toggle","id","toUpperCase","Menu","Item","map","index","key","LangSelectWrapper","connect","MainImage","styled","section","_templateObject","src","Header","project","activeUserImg","onLogout","hubConnection","set_signalrStop","logout","history","push","pathname","location","_this$props","user","imgProfile","attachmentId","Row","Col","xs","md","routeChange","alt","slice","language_selector_langSelect","goToProfile","react_icons_kit_default","size","icon","out","HeaderWraper","withRouter","_ref","contentWrapperPublic","backgroundColor","isAuthenticated","token","style","components_Header_Header","component","rest","objectWithoutProperties","react_router","assign","render","layout_MainLayout","path","to","Routes","react","fallback","reactblockui_es","tag","blocking","routes_PublicRoute","exact","React","lazy","e","then","bind","Promise","all","routes_AuthRoute","App","src_ErrorBoundary","react_toastify","autoClose","block","Boolean","window","hostname","match","resources","en","translation","pt","fr","use","initReactI18next","LanguageDetector","init","fallbackLng","fallbackNS","ns","defaultNS","keySeparator","nsSeparator","interpolation","escapeValue","formatSeparator","debug","PROJECT_INFO","rootReducer","combineReducers","arguments","undefined","action","USER_LOGGED_IN","USER_LOGGED_OUT","USER_PROFILE_IMG","projectInfo","project_info","filters","download","request","upload","agenda","message","report","SET_FILTER","getsearch","search","inicial_date","end_date","status","SET_NAME","SET_DATE","SET_STATUS","SET_ALL","images","SET_CLEARNEWSPECSTATE","clearNewSpecState","SET_UPLOADED_FILE","image","SET_TABS","tabs","SIGNALR_ON","SIGNALR_STOP","stop","createStore","composeWithDevTools","applyMiddleware","thunk","jQuery","$","require","setIndex","ReactDOM","react_router_dom","react_redux_es","store","document","getElementById","access","set_signalrTurnOn","console","log","getProfile","navigator","serviceWorker","ready","registration","unregister","buildParams","axios__WEBPACK_IMPORTED_MODULE_0__","axios__WEBPACK_IMPORTED_MODULE_0___default","_components_block__WEBPACK_IMPORTED_MODULE_1__","shared_services_crypto_index__WEBPACK_IMPORTED_MODULE_2__","_controllers_SendLogger__WEBPACK_IMPORTED_MODULE_3__","apiCaller","axios","create","interceptors","config","cfg","Authorization","accessToken","newToken","access_token","BlockService","show","reject","response","hide","data","clear","href","statusText","url","method","stackTrace","params","query","keys","k","encodeURIComponent","join","ReplaySubject","isBlocking","asObservable","next","BlockComponent","_Component","_getPrototypeOf2","C_Projects_architek_Application_SparkleIT_Architek_UI_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__","_len","args","Array","_key","C_Projects_architek_Application_SparkleIT_Architek_UI_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__","C_Projects_architek_Application_SparkleIT_Architek_UI_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__","apply","C_Projects_architek_Application_SparkleIT_Architek_UI_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_4__","C_Projects_architek_Application_SparkleIT_Architek_UI_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__","value","subscribe","react__WEBPACK_IMPORTED_MODULE_5___default","react_block_ui__WEBPACK_IMPORTED_MODULE_6__","userLoggedIn","login","credentials","C_Projects_architek_Application_SparkleIT_Architek_UI_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__","C_Projects_architek_Application_SparkleIT_Architek_UI_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default","mark","_callee","wrap","_context","catch","abrupt","sent","_x","_types__WEBPACK_IMPORTED_MODULE_0__","_aspnet_signalr__WEBPACK_IMPORTED_MODULE_1__","transport","HttpTransportType","LongPolling","logger","LogLevel","None","hubUrl","protocol","host","HubConnectionBuilder","withUrl","accessTokenFactory","build","start","signalrTurnOn","_config__WEBPACK_IMPORTED_MODULE_1__","modelData","applicationKey","level","additionalData","app","err"],"mappings":"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","file":"static/js/main.9680bc07.chunk.js","sourcesContent":["const blobStoreUri = \"https://projectdca.blob.core.windows.net/app/\";\r\n\r\nlet loggerKey;\r\nif ( process.env.NODE_ENV && process.env.NODE_ENV === \"production\" ) {\r\n loggerKey = 'zScM1efokni4dKdT+PdAC9qoaCVkAD2iqaQxiqr5l086TgLjygO3ZcAmxpZm3iSx' //PROD KEY\r\n} else {\r\n loggerKey = 'qRThSkK/sCmydxHgJXXY7jV9PLQEaLODjIH5AM+jk6NIZJOjoimRL5y0Mr4nX8YY' //DEV KEY\r\n}\r\n\r\nexport { loggerKey, blobStoreUri };\r\n","export const SET_PROJECT = \"SET_PROJECT\";\r\n","import { api } from 'shared/services/interceptors/Api';\r\n\r\nexport default {\r\n // TODO change ID\r\n updatePassword: (model) => api.post('api/auth/change-password', model),\r\n //resetPassword: (model) => api.post('api/auth/reset-password', model),\r\n updateNotifications: (items) => api.put(`api/notification/updatenotifications`, items),\r\n //GetImageProfile\r\n getUserConfig: () => api.get(`api/userconfiguration`),\r\n //UpdateUserConfig\r\n sendImageProfile: (model) => api.put('api/userconfiguration/createupdateuserimg', model , {\r\n headers: {\r\n 'Content-Type': 'multipart/form-data'\r\n }\r\n })\r\n\r\n}\r\n","import ReactEncrypt from 'crypto-js'\r\n\r\nexport const ENC_KEY = \"6v9y$B&E(H+MbQeThWmZq4t7w!z%C*F-\";\r\n\r\nexport function encrypt(plaintext) {\r\n\treturn ReactEncrypt.AES.encrypt(JSON.stringify(plaintext), ENC_KEY).toString();\r\n}\r\n\r\nexport function decrypt(cypher) {\r\n\tconst bytes = ReactEncrypt.AES.decrypt(cypher, ENC_KEY);\r\n\treturn JSON.parse(bytes.toString(ReactEncrypt.enc.Utf8))\r\n}","import React from 'react';\r\nimport { Component } from 'react';\r\nimport { withTranslation } from 'react-i18next';\r\nimport SendLogger from './shared/controllers/SendLogger';\r\nimport { decrypt } from 'shared/services/crypto/index';\r\n\r\nclass ErrorBoundary extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { hasError: false };\r\n }\r\n \r\n static getDerivedStateFromError(error) {\r\n return { hasError: true };\r\n }\r\n \r\n componentDidCatch(error, errorInfo) {\r\n const activeUser = localStorage.getItem(\"activeUser\") ? decrypt(localStorage.getItem(\"activeUser\")) : '';\r\n const length = 200\r\n\r\n let errorMessage = `${error}`\r\n errorMessage = errorMessage.substring(0, length);\r\n if (errorMessage.length == length) {\r\n errorMessage = errorMessage.concat('...')\r\n }\r\n\r\n let componentStack = `${errorInfo && errorInfo.componentStack ? errorInfo.componentStack : ''}`\r\n componentStack = componentStack.substring(0, length);\r\n if (componentStack.length == length) {\r\n componentStack = componentStack.concat('...')\r\n }\r\n\r\n SendLogger(activeUser.userName || '', \"UI Error\", `Error: ${errorMessage}; componentStack: ${componentStack}`, 'Error');\r\n }\r\n \r\n goBackHandler = () => {\r\n this.setState({hasError: !this.state.hasError})\r\n }\r\n\r\n render() {\r\n if (this.state.hasError) {\r\n return (\r\n
\r\n
\r\n
{this.props.t(\"COMMON.MESSAGE.SOMETHING_WENT_WRONG\")}
\r\n \r\n
\r\n
\r\n );\r\n }\r\n \r\n return this.props.children;\r\n }\r\n }\r\n export default withTranslation()(ErrorBoundary)","export const SET_LANGUAGE = \"SET_LANGUAGE\";\r\n","import { SET_LANGUAGE } from './types';\r\n\r\nexport const saveLanguage = (language) => ({\r\n type: SET_LANGUAGE,\r\n language\r\n});\r\n\r\nexport const setLanguage = (language) => (dispatch) => {\r\n localStorage.setItem(\"i18nextLng\", JSON.stringify(language))\r\n dispatch(saveLanguage(language));\r\n}\r\n","import React, { Component } from 'react'\r\nimport { Dropdown } from 'react-bootstrap';\r\nimport { withTranslation } from 'react-i18next';\r\nimport { find } from 'lodash'\r\nimport { connect } from 'react-redux';\r\nimport { setLanguage } from 'shared/services/i18n';\r\n\r\n\r\nimport './langSelect.scss'\r\n\r\nclass LangSelect extends Component {\r\n state = {\r\n lang: { code: 'pt', label: 'PT' },\r\n langs: [{ code: 'en', label: 'EN' }, { code: 'pt', label: 'PT' },{ code: 'fr', label: 'FR' }]\r\n }\r\n\r\n changeLanguage = (event) => {\r\n const languageSelected = event.target.name;\r\n this.props.setLanguage(languageSelected);\r\n\r\n const { i18n } = this.props;\r\n i18n.changeLanguage(languageSelected);\r\n this.setState(prev => ({ ...prev, lang: find(prev.langs, { code: localStorage.i18nextLng }) }));\r\n \r\n }\r\n\r\n componentDidMount() {\r\n this.setState(prev => {\r\n const language = find(prev.langs, { code: localStorage.i18nextLng });\r\n if (!language) {\r\n this.props.i18n.changeLanguage('en');\r\n }\r\n return ({ ...prev, lang: (localStorage.i18nextLng) && language ? language : { code: 'en', label: 'EN' } })\r\n });\r\n\r\n }\r\n\r\n render() {\r\n const { lang, langs } = this.state;\r\n\r\n return (\r\n \r\n \r\n {lang.code.toUpperCase()}\r\n \r\n\r\n \r\n {lang.label}\r\n {langs && langs.map((language,index) => (\r\n (language.code !== lang.code) && {language.label}\r\n ))}\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setLanguage: (lang) => dispatch(setLanguage(lang)),\r\n});\r\n\r\nconst LangSelectWrapper = new withTranslation()(LangSelect)\r\n\r\nexport default connect(null, mapDispatchToProps)(LangSelectWrapper);\r\n","import React, { Component } from 'react';\r\nimport { Row, Col } from 'react-bootstrap';\r\nimport './Header.scss';\r\nimport styled from 'styled-components';\r\nimport { connect } from 'react-redux';\r\nimport { withTranslation } from 'react-i18next';\r\n//import Notifications from './components/notifications/notifications';\r\nimport LangSelect from './components/language-selector/langSelect';\r\nimport { out } from 'react-icons-kit/entypo/out'\r\nimport { logout } from 'shared/services/security';\r\nimport { set_signalrStop } from 'shared/services/SignalR';\r\nimport Icon from 'react-icons-kit';\r\nimport { withRouter } from \"react-router\";\r\nimport { encrypt, decrypt } from 'shared/services/crypto/index';\r\nimport ProfileService from '../../../pages/profile/profileService'\r\n\r\nconst MainImage = styled.section`\r\n background-image: url(${props => props.src});\r\n background-position: center center;\r\n background-repeat: no-repeat;\r\n background-size: cover;\r\n height: 30px;\r\n width: 30px;\r\n margin: 0px 10px 3px 10px;\r\n border-radius: 50%;\r\n`\r\nclass Header extends Component {\r\n\r\n\tstate = {\r\n\t\tproject: {},\r\n\t\tactiveUser: \"Null\",\r\n\t\tactiveUserImg: \"assets/img/default-user.png\"\r\n\t}\r\n\r\n\t// componentWillMount() {\r\n\t// \tconst project = JSON.parse(localStorage.getItem(\"project\"));\r\n\t// \tif (project !== this.state.project) {\r\n\t// \t\tthis.setState({ project: project });\r\n\t// \t}\r\n\r\n\t// \tconst activeUser = decrypt(localStorage.getItem(\"activeUser\"));\r\n\t// \tconst realName = activeUser.userName\r\n\t// \tlet userImage = \"assets/img/default-user.png\"\r\n\r\n\t// \tthis.setState({ activeUser: realName, activeUserImg: activeUser.attachmentId })\r\n\t// }\r\n\r\n\trouteChange() {\r\n\t\tconst path = `/`;\r\n\t\tthis.props.history.push(path);\r\n\t}\r\n\r\n\tonLogout = () => {\r\n\t\tif (this.props.hubConnection.hubConnection) {\r\n\t\t\tthis.props.set_signalrStop()\r\n\t\t}\r\n\t\tthis.props.logout()\r\n\t}\r\n\r\n\tgoToProfile() {\r\n\t\tconst path = `/profile`;\r\n\t\tthis.props.history.push(path);\r\n\t}\r\n\r\n\trender() {\r\n\t\tconst { pathname } = this.props.location;\r\n\t\tlet { name } = this.props.project;\r\n\t\tconst { project, activeUser, activeUserImg } = this.state;\r\n\t\tconst { t, user } = this.props;\r\n\t\t\r\n\t\tif (name == null) {\r\n\t\t\tname = ''\r\n\t\t}\r\n\r\n\t\tlet imgProfile = \"\";\r\n\r\n\t\tif(user.attachmentId == null){\r\n\t\t\timgProfile = \"assets/img/default-user.png\";\r\n\t\t}else{\r\n\t\t\timgProfile = `${user.attachmentId}.png?format=png`;\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t this.routeChange()} className=\"header-logo\" src=\"assets/img/DCA_logo.png\" alt=\"LOGO\" />\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t{(name !== '' && pathname === '/project' ?\r\n\t\t\t\t\t\t(name ? name : project.name)\r\n\t\t\t\t\t\t:\r\n\t\t\t\t\t\tpathname !== '/' && pathname !== \"/404\" && pathname !== \"/info_dca\" && t(`HEADER.${pathname.slice(1).toUpperCase()}`)\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t{/*{pathname != '/' && }*/}\r\n\r\n\t\t\t\t\t\t{/*
*/}\r\n\t\t\t\t\t\t
this.goToProfile()}>\r\n\r\n\t\t\t\t\t\t\t{/*\"ICON\"*/}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
{user.userName}
\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
this.onLogout()}>
\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n}\r\n\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n\tlogout: () => dispatch(logout()),\r\n\tset_signalrStop: () => dispatch(set_signalrStop())\r\n});\r\n\r\n\r\nfunction mapStateToProps({ project, hubConnection, user }) {\r\n\treturn { project, hubConnection, user };\r\n}\r\nconst HeaderWraper = new withTranslation()(Header)\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(HeaderWraper))\r\n","import React from 'react'\r\nimport Header from '../components/Header/Header'\r\nimport { connect } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nconst contentWrapperPublic = { backgroundColor: '#ecf0f5' };\r\nconst MainLayout = ({ children, isAuthenticated,location }) => (
\r\n {/* TODO: Change the Validation of the user !isAuthenticated to isAuthenticated */}\r\n {!isAuthenticated &&
}\r\n {children}\r\n
\r\n);\r\n\r\nMainLayout.propTypes = {\r\n isAuthenticated: PropTypes.bool.isRequired\r\n};\r\n\r\nfunction mapStateToProps(state) {\r\n return { isAuthenticated: !!state.user.token }\r\n}\r\n\r\nexport default connect(mapStateToProps)(MainLayout)\r\n\r\n","import React from 'react';\r\nimport { Route, Redirect } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\n\r\nimport MainLayout from 'shared/layout/MainLayout'\r\n\r\nconst AuthRoute = ({location, isAuthenticated, component : Component, ...rest }) => (\r\n isAuthenticated ? \r\n \r\n \r\n \r\n : }/>\r\n);\r\n\r\nfunction mapStateToProps(state) {\r\n // before return {isAuthenticated : !!state.user.token};\r\n return {isAuthenticated : !!state.user.id};\r\n}\r\n\r\nexport default connect(mapStateToProps)(AuthRoute)\r\n","import React from 'react';\r\nimport {Route, Redirect} from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\n\r\nconst PublicRoute = ({isAuthenticated, component : Component, ...rest }) => (\r\n (!isAuthenticated || rest.path === \"/privacy\") ? : }/>\r\n);\r\n\r\nfunction mapStateToProps(state) {\r\n return { isAuthenticated : !!state.user.id };\r\n}\r\n\r\nexport default connect(mapStateToProps)(PublicRoute)\r\n","import React, { Suspense } from 'react';\r\nimport { Switch, Redirect } from \"react-router-dom\";\r\n\r\nimport AuthRoute from './shared/routes/AuthRoute';\r\nimport PublicRoute from './shared/routes/PublicRoute';\r\nimport BlockUi from 'react-block-ui';\r\nimport 'react-block-ui/style.css';\r\n\r\n\r\nexport default ({ location }) => {\r\n /*const isError = !!(\r\n location.state &&\r\n location.state.error\r\n )*/\r\n return (\r\n }>\r\n \r\n import('pages/login/Login'))} />\r\n import('pages/login/RecoverPassword'))} />\r\n import('pages/login/ResetPassword'))} />\r\n import('pages/imagesPage/components/virtualReality_mobile'))} />\r\n import('pages/login/createNewUser/createNewUser'))} />\r\n import('pages/privacy/privacy'))} />\r\n\r\n import('pages/startPage/startPage'))} />\r\n import('pages/startPage/createNewProject/createNewProject'))} />\r\n import('pages/startPage/indexProject'))} />\r\n import('pages/timeLine/timeLine'))} />\r\n import('pages/projectDetails/projectDetails'))} />\r\n import('pages/communicationPage/communicationPage'))} />\r\n import('pages/imagesPage/imagesPage'))} />\r\n import('pages/info/info'))} />\r\n import('pages/infoDca/info'))} />\r\n import('pages/profile/profile'))} />\r\n import('pages/not-found/NotFound'))} />\r\n import('pages/admin/project'))} /> \r\n import('pages/admin/manager'))} /> \r\n import('pages/admin/promotor'))} /> \r\n \r\n \r\n \r\n )\r\n};\r\n","import React, { Component } from 'react';\r\n\r\n//Toast\r\nimport { ToastContainer } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.min.css';\r\n//Toast\r\nimport { BlockComponent } from './shared/components/block';\r\nimport ErrorBoundary from './ErrorBoundary'\r\nimport Routes from \"./Routes\";\r\n\r\nclass App extends Component {\r\n\r\n render() {\r\n const { location } = this.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\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.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport 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 .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 console.log(\"serviceWorker\", response);\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.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import i18n from 'i18next';\r\nimport LanguageDetector from 'i18next-browser-languagedetector';\r\nimport translationEN from './translation-en'\r\nimport translationPT from './translation-pt'\r\nimport translationFR from './translation-fr'\r\nimport { initReactI18next } from 'react-i18next';\r\n\r\nconst resources = {\r\n en: {\r\n translation: translationEN\r\n },\r\n pt: {\r\n translation: translationPT\r\n },\r\n fr: {\r\n translation: translationFR\r\n }\r\n};\r\n\r\ni18n\r\n .use(initReactI18next) // passes i18n down to react-i18next\r\n .use(LanguageDetector)\r\n .init({\r\n resources,\r\n fallbackLng: 'en',\r\n fallbackNS: 'common',\r\n ns: ['common', 'translation'],\r\n defaultNS: [\"translation\"],\r\n keySeparator: '.',\r\n nsSeparator: false,\r\n interpolation: {\r\n escapeValue: false,\r\n formatSeparator: ','\r\n },\r\n debug: false,\r\n });\r\n\r\nexport default i18n;\r\n\r\n","export const PROJECT_INFO = \"PROJECT_INFO\";\r\n","import { combineReducers } from 'redux';\r\nimport { createStore, applyMiddleware } from 'redux';\r\nimport { composeWithDevTools } from 'redux-devtools-extension';\r\nimport thunk from 'redux-thunk';\r\n\r\nimport project from '../shared/services/projects/reducers';\r\nimport {images} from '../shared/services/images/reducers';\r\nimport hubConnection from '../shared/services/SignalR/reducers'\r\n\r\nimport {filters, getsearch} from '../shared/services/timeline/reducers';\r\nimport projectInfo from '../shared/services/projectInfo/reducers';\r\nimport language from '../shared/services/i18n/reducers';\r\nimport user from '../shared/services/security/reducers';\r\n\r\nconst rootReducer = combineReducers({ user, project, projectInfo, filters, language, getsearch, images, hubConnection });\r\n\r\nexport default createStore(rootReducer, composeWithDevTools(applyMiddleware(thunk)));\r\n","import { USER_LOGGED_IN, USER_LOGGED_OUT, USER_PROFILE_IMG} from './types';\r\nexport default function user (state={}, action={}) {\r\n switch (action.type) {\r\n case USER_LOGGED_IN:\r\n return action.user;\r\n case USER_LOGGED_OUT:\r\n return {};\r\n case USER_PROFILE_IMG:\r\n return {...action.user};\r\n default: return state;\r\n }\r\n};\r\n","import { SET_PROJECT } from './types';\r\n\r\nexport default function user (state={}, action={}) {\r\n switch (action.type) {\r\n case SET_PROJECT :\r\n return action.project;\r\n default: return state;\r\n }\r\n};\r\n","import { PROJECT_INFO } from './types';\r\n\r\nexport default function projectInfo (state={}, action={}) {\r\n switch (action.type) {\r\n case PROJECT_INFO :\r\n return action.project_info;\r\n default: return state;\r\n }\r\n};\r\n","import { SET_FILTER } from './types';\r\nimport { SET_NAME } from './types';\r\nimport { SET_DATE } from './types';\r\nimport { SET_STATUS } from './types';\r\nimport { SET_ALL } from './types';\r\n\r\n\r\nexport function filters(state = {\r\n\tdownload: false,\r\n\trequest: false,\r\n\tupload: false,\r\n\tagenda: false,\r\n\tmessage: false,\r\n\treport: false,\r\n}, action = {}) {\r\n\tswitch (action.type) {\r\n\t\tcase SET_FILTER:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\t...action.filters\r\n\t\t\t};\r\n\t\tdefault: return state;\r\n\t}\r\n};\r\nexport function getsearch(state = {\r\n\tsearch: '',\r\n\tinicial_date: '',\r\n\tend_date: '',\r\n\tstatus: ''\r\n}, action = {}) {\r\n\tswitch (action.type) {\r\n\t\tcase SET_NAME:\r\n\t\t\treturn {\r\n\t\t\t\tsearch: action.name\r\n\t\t\t};\r\n\t\tcase SET_DATE:\r\n\t\t\treturn {\r\n\t\t\t\tinicial_date: action.inicial_date,\r\n\t\t\t\tend_date: action.end_date\r\n\t\t\t};\r\n\t\tcase SET_STATUS:\r\n\t\t\treturn {\r\n\t\t\t\tstatus: action.status\r\n\t\t\t};\r\n\t\tcase SET_ALL:\r\n\t\t\treturn {\r\n\t\t\t\tinicial_date: action.inicial_date,\r\n\t\t\t\tend_date: action.end_date,\r\n\t\t\t\tstatus: action.status,\r\n\t\t\t\tsearch: action.name\r\n\t\t\t};\r\n\t\tdefault: return state;\r\n\t}\r\n};\r\n","import { SET_LANGUAGE } from './types';\r\n\r\nexport default function user (state={}, action={}) {\r\n switch (action.type) {\r\n case SET_LANGUAGE :\r\n return action.language;\r\n default: return state;\r\n }\r\n};\r\n","import { SET_UPLOADED_FILE, SET_TABS, SET_CLEARNEWSPECSTATE } from './types';\r\n\r\nexport function images(state = {}, action = {}) {\r\n \r\n switch (action.type) {\r\n case SET_CLEARNEWSPECSTATE:\r\n return {\r\n ...state,\r\n clearNewSpecState: action.clearNewSpecState\r\n };\r\n case SET_UPLOADED_FILE:\r\n return {\r\n ...state,\r\n image: action.image\r\n };\r\n case SET_TABS:\r\n return {\r\n ...state,\r\n tabs: action.tabs\r\n };\r\n default: return state;\r\n }\r\n};\r\n\r\n","import { SIGNALR_ON, SIGNALR_STOP} from './types';\r\nexport default function hubConnection (state={}, action={}) {\r\n switch (action.type) {\r\n case SIGNALR_ON:\r\n return {\r\n ...state,\r\n hubConnection: action.hubConnection\r\n }\r\n case SIGNALR_STOP:\r\n state.hubConnection.stop()\r\n return {\r\n ...state,\r\n stop: action.stop\r\n }\r\n default: return state;\r\n }\r\n};\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\nimport $ from 'jquery';\r\n//import 'bootstrap/dist/css/bootstrap.css';\r\n\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\n\r\n//Transalations\r\nimport './shared/translations/i18n';\r\n//Transalations\r\n\r\n//Redux\r\nimport store from './reducer/rootReducer';\r\nimport { Provider } from 'react-redux';\r\n//Redux\r\n\r\n//Routes\r\nimport { BrowserRouter, Route } from 'react-router-dom'\r\n//Routes\r\nimport { getProfile } from 'shared/services/security';\r\nimport { set_signalrTurnOn } from 'shared/services/SignalR';\r\n\r\nwindow.jQuery = $;\r\nrequire('bootstrap');\r\n\r\nconst setIndex = () => {\r\n ReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n , document.getElementById('root'));\r\n}\r\n\r\nif ( localStorage.access ) {\r\n set_signalrTurnOn(store.dispatch)\r\n console.log(store.dispatch)\r\n getProfile(store.dispatch)\r\n .then((user) => {\r\n setIndex();\r\n });\r\n}\r\nelse {\r\n setIndex();\r\n}\r\n\r\nserviceWorker.unregister();\r\n","export const SET_FILTER = \"SET_FILTER\";\r\nexport const SET_NAME = \"SET_NAME\";\r\nexport const SET_DATE = \"SET_DATE\";\r\nexport const SET_STATUS = \"SET_STATUS\";\r\nexport const SET_ALL = \"SET_ALL\";\r\n","import axios from 'axios';\r\nimport { BlockService } from '../../components/block';\r\nimport { encrypt, decrypt } from 'shared/services/crypto/index';\r\nimport SendLogger from '../../controllers/SendLogger';\r\n\r\nconst getToken = () => localStorage.access;\r\n\r\nconst apiCaller = axios.create();\r\n\r\napiCaller.interceptors.request.use(\r\n config => {\r\n\t\tconst cfg = config;\r\n\r\n\t\tif (!cfg.headers.Authorization) {\r\n\t\t\tconst accessToken = getToken();\r\n\t\t\tlet token = undefined;\r\n\r\n\t\t\tif (accessToken != null) {\r\n\t\t\t\ttoken = decrypt(accessToken);\r\n\t\t\t}\r\n\r\n if (token) {\r\n const newToken = token\r\n cfg.headers.Authorization = `Bearer ${newToken.access_token}`;\r\n }\r\n }\r\n BlockService.show();\r\n return cfg;\r\n },\r\n error => Promise.reject(error)\r\n);\r\n\r\napiCaller.interceptors.response.use(\r\n response => {\r\n BlockService.hide();\r\n return response.data;\r\n },\r\n error => {\r\n BlockService.hide();\r\n\r\n if (error != null && error.response != null && error.response.status === 401) {\r\n //alert(\"Error 401 - Unauthorized, sending back to login\")\r\n localStorage.clear()\r\n window.location.href = \"/login\";\r\n }\r\n\r\n //Send error to logger\r\n const status = error.response ? error.response.request.status : '';\r\n const statusText = error.response ? error.response.request.statusText : '';\r\n const url = error.response ? error.response.config.url : '';\r\n const method = error.response ? error.response.config.method : '';\r\n const data = error.response ? error.response.config.data : null\r\n const activeUser = localStorage.getItem(\"activeUser\") ? decrypt(localStorage.getItem(\"activeUser\")) : '';\r\n\r\n const message = `Response Error - ${status} (${statusText})`\r\n const stackTrace = `Method: ${method}; URL: ${url};${data ? ` Data: ${data};` : ''}`\r\n\r\n SendLogger(activeUser.userName || '', message, stackTrace, 'Error');\r\n\r\n return Promise.reject(error)\r\n }\r\n);\r\n\r\nexport const api = apiCaller;\r\n\r\nexport const buildParams = (params) => {\r\n const query = Object.keys(params).map(k => `${encodeURIComponent(k) }=${ encodeURIComponent(params[k])}`).join('&');\r\n return query ? `&${query}`: '';\r\n}\r\n","export const USER_LOGGED_IN =\"USER_LOGGED_IN\";\r\nexport const USER_LOGGED_OUT =\"USER_LOGGED_OUT\";\r\nexport const USER_PROFILE_IMG =\"USER_PROFILE_IMG\";\r\n","import React, { Component } from 'react';\r\nimport BlockUi from 'react-block-ui';\r\nimport 'react-block-ui/style.css';\r\nimport 'App.scss';\r\n\r\nimport { ReplaySubject } from 'rxjs';\r\n\r\nconst blocking = new ReplaySubject(1);\r\n\r\nexport const BlockService = {\r\n isBlocking: () => {\r\n return blocking.asObservable();\r\n },\r\n show: () => {\r\n blocking.next(true);\r\n },\r\n hide: () => {\r\n blocking.next(false);\r\n }\r\n}\r\n\r\nexport class BlockComponent extends Component {\r\n\r\n state = {\r\n blocking: false\r\n }\r\n\r\n componentDidMount() {\r\n BlockService.isBlocking()\r\n .subscribe((blocking) => {\r\n this.setState((state, props) => {\r\n if ( state.blocking !== blocking ) {\r\n return {\r\n blocking: blocking\r\n }\r\n }\r\n return null;\r\n });\r\n });\r\n }\r\n\r\n render() {\r\n const { blocking } = this.state;\r\n\r\n return (\r\n \r\n )\r\n }\r\n}\r\n","export const SIGNALR_ON = \"SIGNALR_ON\";\r\nexport const SIGNALR_STOP = \"SIGNALR_STOP\";\r\n","export const SET_CLEARNEWSPECSTATE = \"SET_CLEARNEWSPECSTATE\";\r\nexport const SET_UPLOADED_FILE = \"SET_UPLOADED_FILE\";\r\nexport const SET_TABS = \"SET_TABS\";","import { USER_LOGGED_IN, USER_LOGGED_OUT, USER_PROFILE_IMG } from './types';\r\nimport { api } from 'shared/services/interceptors/Api';\r\nimport { encrypt, decrypt } from 'shared/services/crypto/index';\r\n\r\nexport const userLoggedIn = (user) => ({\r\n\ttype: USER_LOGGED_IN,\r\n\tuser\r\n});\r\n\r\nexport const userLoggedOut = () => ({\r\n\ttype: USER_LOGGED_OUT,\r\n\tuser: {}\r\n});\r\n\r\nexport const login = (credentials) => api.post('/api/auth/token', credentials)\r\n\t.then(token => {\r\n\t\tconst cypher = encrypt(token);\r\n\t\tlocalStorage.access = cypher;\r\n\t});\r\n\r\nexport const setProfile = (urlImg) => (dispatch) => dispatch({\r\n\ttype: USER_PROFILE_IMG,\r\n\turlImg\r\n})\r\n\r\nexport const getProfile = async (dispatch) => await api.get('/api/auth/getprofile')\r\n\t\t.then((user) => {\r\n\t\t\tconst cypher = encrypt(user);\r\n\t\t\tlocalStorage.activeUser = cypher\r\n\t\t\tdispatch(userLoggedIn(user))\r\n\t\t})\r\n\t\t.catch((error) => {\r\n\t\t\tconsole.log(\"deu erro: \", error)\r\n\t\t\tdispatch(logout());\r\n\t\t})\r\n\r\nexport const logout = () => (dispatch) => {\r\n\tlocalStorage.clear()\r\n\tdispatch(userLoggedOut());\r\n}","import { SIGNALR_ON, SIGNALR_STOP } from './types';\r\nimport { HubConnectionBuilder, HttpTransportType, LogLevel } from '@aspnet/signalr';\r\nimport { encrypt, decrypt } from 'shared/services/crypto/index';\r\n\r\nexport const signalrTurnOn = (hubConnection) => ({\r\n\ttype: SIGNALR_ON,\r\n\thubConnection\r\n});\r\n\r\nexport const signalrStop = () => ({\r\n\ttype: SIGNALR_STOP,\r\n});\r\n\r\nexport const set_signalrTurnOn = (dispatch) => {\r\n\r\n\t//SIGNALR--------------\r\n\tconst transport = HttpTransportType.LongPolling;\r\n\tconst logger = LogLevel.None;\r\n\tconst hubUrl = window.location.protocol + \"//\" + window.location.host + '/chat';\r\n\tconst accessToken = decrypt(localStorage.getItem(\"access\")).access_token\r\n\r\n\tconst hubConnection = new HubConnectionBuilder()\r\n\t\t.withUrl(hubUrl, {\r\n\t\t\ttransport,\r\n\t\t\tlogger,\r\n\t\t\taccessTokenFactory: () => accessToken\r\n\t\t})\r\n\t\t.build();\r\n\r\n\thubConnection.start()\r\n\t//---------------------\r\n\r\n\tdispatch(signalrTurnOn(hubConnection));\r\n}\r\n\r\nexport const set_signalrStop = () => (dispatch) => {\r\n\tdispatch(signalrStop());\r\n}\r\n\r\n","import axios from 'axios';\r\nimport { loggerKey } from '../../config'\r\n\r\nfunction SendLogger(user, message, stackTrace, type) {\r\n try {\r\n const modelData = {\r\n message: message,\r\n stackTrace: JSON.stringify(stackTrace),\r\n applicationKey: loggerKey,\r\n level: type,\r\n user: JSON.stringify(user),\r\n additionalData: { app: 'Web' }\r\n }\r\n\r\n axios.post('http://logger.sparkleit.pt/api/v1.0/log', modelData).then((response) => {\r\n }).catch((err) => {\r\n })\r\n } catch (err) {\r\n }\r\n}\r\n\r\nexport default SendLogger\r\n"],"sourceRoot":""}