{"version":3,"sources":["ApiManager.js","Components/Login/Login.jsx","Components/Account/MyAccount/MyAccount.jsx","Components/Account/MyAccount/MyProfile.jsx","Components/Account/MyAccount/MyCredentials.jsx","Components/Account/MyAccount/Representatives.jsx","Components/Account/MyAccount/ChangeAvatar/ChangeAvatar.jsx","Components/Account/MyAccount/ChangePassword/ChangePassword.jsx","Components/Account/MyAccount/ChangeEmail/ChangeEmail.jsx","Components/Account/MyAccount/AboutMe/AboutMe.jsx","Components/Account/ResetPassword/ResetPassword.jsx","Components/Account/Register/Register.jsx","Components/Account/Account.jsx","theme.js","App.jsx","serviceWorker.js","index.jsx"],"names":["apiUrl","ApiManager","adminUserName","accessLevels","viewMap","aggregatedData","viewGeoMessages","addGeoMessages","addGeoMessageImage","addPrivateGeoMessage","addPolygons","addPrivateCustomPolygons","addRestrictedPolygons","viewPrivateGeoMessages","deleteGeomessages","alterOrDeleteCustomPolygons","forms","customPolygonLayers","userManagement","owner","mapPublicLevelOne","mapPublicLevelTwo","min","max","get","url","body","user","throwError","apiManagerFetch","post","fetch","method","CustomError","temp","Error","apply","this","arguments","name","message","status","Object","defineProperty","stack","configurable","a","headers","token","gottenResponse","isText","isJson","options","JSON","stringify","then","response","contentType","includes","json","text","blob","result","catch","e","console","error","prototype","create","constructor","value","writable","Login","PureComponent","props","context","super","login","event","preventDefault","username","state","trim","password","setState","toLowerCase","data","representatives","commercial","representing","about","picture","onLogin","onInputChange","stateObj","target","onEnter","keyCode","handleMouseDownPassword","handleClickShowPassword","showPassword","render","to","length","Paper","className","elevation","src","alt","onSubmit","TextField","required","label","fullWidth","onChange","type","InputProps","endAdornment","InputAdornment","position","IconButton","edge","aria-label","onClick","onMouseDown","helperText","Button","color","variant","onKeyUp","MyAccount","redirect","redirectURL","logout","onLogout","createContent","buttons","location","content","setTimeout","componentDidMount","push","key","adminMaps","Typography","charAt","toUpperCase","slice","href","rel","withRouter","MyProfile","MyCredentials","GetError","Representatives","addRepresentative","representative","remove","unshift","setRepresentatives","removeRepresentative","filter","r","onSearch","search","filteredRepresentatives","componentDidUpdate","prevProps","map","ListItem","ListItemIcon","ListItemText","primary","ListItemSecondaryAction","size","fontSize","autoFocus","List","style","maxHeight","overflow","Tooltip","title","ChangeAvatar","setFile","file","nextStep","setEditedFile","editedFile","setGottenImage","gottenImage","step","onImageChange","prevStep","edited","Choose","onFileChange","files","Container","dropzoneClass","acceptedFiles","dropzoneText","filesLimit","showPreviews","showPreviewsInDropzone","maxFileSize","disabled","Edit","setScale","scale","setRotate","rotate","prepare","editor","current","canvas","toDataURL","ref","image","borderRadius","width","height","border","Grid","container","spacing","item","xs","paragraph","Slider","defaultValue","valueLabelDisplay","marks","valueLabelFormat","x","initSize","maxSize","React","createRef","Upload","upload","getImage","loading","warn","Fragment","component","CircularProgress","changePassword","repeatPassword","newPassword","succes","log","pathname","autoComplete","ChangeEmail","changeEmail","email","repeatEmail","newEmail","AboutMe","onAboutChange","multiline","rows","reset","Register","register","success","Account","Component","Redirect","maps","exact","path","ChangePassword","ResetPassword","theme","palette","typography","htmlFontSize","fontFamily","join","h1","fontWeight","lineHeight","textTransform","dark","h2","boxSizing","display","background","padding","paddingLeft","paddingRight","transform","marginBottom","textAlign","h3","h4","h5","subtitle1","subtitle2","body1","hyphens","App","topItemRef","bottomItemRef","checkOrigin","receiveMessage","origin","dev","userOrigin","cb","window","parent","postMessage","history","retrieveUser","userJson","localStorage","getItem","init","parse","removeItem","scrollToBottom","scrollIntoView","behavior","setItem","overlayClick","element","nodeName","parentElement","classNames","document","representativeError","createMuiTheme","Modal","setAppElement","addEventListener","ThemeProvider","Boolean","hostname","match","ReactDOM","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.2b0d04c0.chunk.js","sourcesContent":["const apiUrl = \"https://api.ellipsis-drive.com/v1\";\n//const apiUrl = 'https://dev.api.ellipsis-earth.com/v2';\n// const apiUrl = 'http://localhost:7553/v1';\n\nconst ApiManager = {\n adminUserName: \"admin\",\n\n apiUrl: apiUrl,\n\n accessLevels: {\n viewMap: 100,\n aggregatedData: 200,\n viewGeoMessages: 300,\n addGeoMessages: 400,\n addGeoMessageImage: 410,\n addPrivateGeoMessage: 420,\n addPolygons: 500,\n addPrivateCustomPolygons: 510,\n addRestrictedPolygons: 525,\n viewPrivateGeoMessages: 550,\n deleteGeomessages: 600,\n alterOrDeleteCustomPolygons: 700,\n forms: 750,\n customPolygonLayers: 800,\n userManagement: 900,\n owner: 1000,\n\n mapPublicLevelOne: 300, // viewGeoMessages\n mapPublicLevelTwo: 500, // addPolygons\n\n min: 0,\n max: 1000,\n },\n\n get: (url, body, user, throwError = true) => {\n return apiManagerFetch(\"GET\", url, body, user, throwError);\n },\n\n post: (url, body, user, throwError = true) => {\n return apiManagerFetch(\"POST\", url, body, user, throwError);\n },\n\n fetch: (method, url, body, user, throwError = true) => {\n return apiManagerFetch(method, url, body, user, throwError);\n },\n};\n\nfunction CustomError() {\n var temp = Error.apply(this, arguments[0]);\n temp.name = this.name = \"error\";\n this.message = temp.message = arguments[0].message;\n this.status = temp.status = arguments[0].status;\n\n if (Object.defineProperty) {\n Object.defineProperty(this, \"stack\", {\n get: function () {\n return temp.stack;\n },\n configurable: true,\n });\n } else {\n this.stack = temp.stack;\n }\n}\n\nCustomError.prototype = Object.create(Error.prototype, {\n constructor: {\n value: CustomError,\n writable: true,\n configurable: true,\n },\n});\n\nasync function apiManagerFetch(method, url, body, user, throwError) {\n url = `${apiUrl}${url}`;\n let headers = {};\n\n if (body) {\n headers[\"Content-Type\"] = \"application/json\";\n }\n\n if (user) {\n headers[\"Authorization\"] = `Bearer ${user.token}`;\n }\n\n let gottenResponse = null;\n let isText = false;\n let isJson = false;\n\n let options = {\n method: method,\n headers: headers,\n };\n\n if (body) {\n options.body = JSON.stringify(body);\n }\n\n return await fetch(url, options)\n .then((response) => {\n gottenResponse = response;\n\n let contentType = response.headers.get(\"Content-Type\");\n\n if (contentType) {\n isText = contentType.includes(\"text\");\n isJson = contentType.includes(\"application/json\");\n } else {\n isText = true;\n }\n\n if (isJson) {\n return response.json();\n } else if (isText) {\n return response.text();\n } else {\n return response.blob();\n }\n })\n .then((result) => {\n if (gottenResponse.status === 200) {\n return result;\n } else {\n if (!isText) {\n throw new CustomError({\n status: gottenResponse.status,\n message: result.message,\n });\n } else {\n throw new CustomError({\n status: gottenResponse.status,\n message: result,\n });\n }\n }\n })\n .catch((e) => {\n if (throwError) {\n throw e;\n } else {\n console.error(e);\n }\n });\n}\n\nexport default ApiManager;\n","import React, { PureComponent } from 'react';\nimport { Redirect, NavLink } from 'react-router-dom';\n\nimport Button from '@material-ui/core/Button'\nimport IconButton from '@material-ui/core/IconButton'\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport Paper from '@material-ui/core/Paper';\nimport TextField from '@material-ui/core/TextField';\nimport Visibility from '@material-ui/icons/Visibility';\nimport VisibilityOff from '@material-ui/icons/VisibilityOff';\n\nimport './Login.css';\n\nimport ApiManager from '../../ApiManager';\n\nclass Login extends PureComponent {\n constructor(props, context) {\n super(props, context);\n\n this.state = {\n username: \"\",\n password: \"\",\n error: \"\",\n showPassword: false,\n };\n }\n\n\n\n login = async (event) => {\n event.preventDefault();\n let username = this.state.username.trim(); //to shave off leading (and trailing) spaces we trim()\n let password = this.state.password.trim();\n\n if (username === '' || password === '') {\n this.setState({ error: 'username and password are required' })\n return;\n }\n\n username = username.toLowerCase();\n\n let body = {\n username: username,\n password: password\n };\n\n let user = await ApiManager.post('/account/login', body)\n .then(data => {\n let token = data.token;\n user = {\n username: username,\n token: token,\n };\n\n return ApiManager.get('/account/info', null, user);\n })\n .then((result) => {\n user.username = result.username;\n user.representatives = result.representatives\n user.commercial = result.commercial\n user.representing = result.representing\n return user;\n })\n .catch(error => {\n console.error(error)\n this.setState({ error: error.message ? error.message : error.status })\n })\n\n if(!this.state.error)\n {\n ApiManager.post('/settings/account/getProfile', {username: user.username}, user)\n .then((result) => {\n user.about = result.about\n user.picture = 'data:image/jpeg;base64,' + result.picture\n this.props.onLogin(user);\n })\n .catch(error => {\n if (error.status === 400 && error.message.includes('Given user does not have a profile picture.'))\n {\n this.props.onLogin(user);\n }\n else\n {\n console.error(error)\n }\n })\n }\n }\n\n onInputChange = name => event => {\n let stateObj = { error: \"\" };\n stateObj[name] = event.target.value;\n this.setState(stateObj);\n }\n\n onEnter = (event) => {\n if (event.keyCode === 13) {\n this.login(event);\n }\n }\n\n handleMouseDownPassword = (e) => {\n e.preventDefault();\n }\n\n handleClickShowPassword = () => {\n this.setState({ showPassword: !this.state.showPassword });\n }\n\n render() {\n if (this.props.user) {\n return (\n \n )\n }\n\n let error = this.state.error.length > 0;\n\n return (\n \n
\n \"logo\"\n

\n Login with your Ellipsis Account\n\t\t\t\t\t

\n
\n
\n
\n \n \n \n {this.state.showPassword ? : }\n \n \n ),\n }}\n helperText={this.state.error}\n />\n \n Log in\n\t\t\t\t\t\t\n \n
\n Sign up\n Forgot your password?\n
\n
\n
\n );\n }\n}\n\nexport default Login;\n","import React, { PureComponent } from \"react\";\nimport { withRouter, Redirect } from \"react-router-dom\";\n\nimport Button from \"@material-ui/core/Button\";\nimport Paper from \"@material-ui/core/Paper\";\nimport Typography from \"@material-ui/core/Typography\";\n\nclass MyAccount extends PureComponent {\n constructor(props, context) {\n super(props, context);\n\n this.state = {\n redirectURL: \"\",\n content: null,\n };\n }\n\n redirect = (url) => {\n this.setState({ redirectURL: url });\n };\n\n logout = () => {\n this.props.onLogout();\n };\n\n createContent = () => {\n let buttons = (\n
\n this.redirect(\"/account/profile\")}\n >\n Profile\n \n\n this.redirect(\"/account/credentials\")}\n >\n Credentials\n \n\n \n Log out\n \n
\n );\n\n if (this.props.location.state && this.props.location.state.message) {\n this.setState(\n {\n content: [\n

{this.props.location.state.message}

,\n {\n this.props.location.state = null;\n this.setState({ content: buttons });\n }}\n >\n Back\n ,\n ],\n },\n () => {\n setTimeout(() => {\n this.props.location.state = null;\n this.setState({ content: buttons });\n }, 5000);\n }\n );\n } else {\n this.setState({ content: buttons });\n }\n };\n\n componentDidMount = () => {\n this.createContent();\n };\n\n render() {\n if (!this.props.user) {\n return ;\n }\n\n if (this.state.redirectURL.length > 0) {\n return ;\n }\n\n return (\n \n
\n \"logo\"\n

Ellipsis Account Management

\n
\n
\n \n Welcome{\" \"}\n {this.props.user.username.charAt(0).toUpperCase() +\n this.props.user.username.slice(1)}\n \n {this.state.content}\n \n Powered by Ellipsis\n \n
\n
\n );\n }\n}\n\nexport default withRouter(MyAccount);\n","import React, { PureComponent } from 'react';\nimport { withRouter, Redirect } from 'react-router-dom';\n\nimport Button from '@material-ui/core/Button';\nimport Paper from '@material-ui/core/Paper';\nimport Typography from '@material-ui/core/Typography';\n\nclass MyProfile extends PureComponent {\n constructor(props, context) {\n super(props, context);\n\n this.state = {\n redirect: null,\n content: null,\n };\n }\n\n\n logout = () => {\n this.props.onLogout();\n }\n\n createContent = () => {\n let buttons =
\n this.setState({redirect:'/account/changeAvatar'})}\n >\n Avatar\n \n this.setState({redirect:'/account/changeAbout'})}\n >\n About me\n \n { this.setState({ redirect: '/account' }) }}\n className=\"cancelButton\"\n >\n Cancel\n \n\n
;\n\n if (this.props.location.state && this.props.location.state.message)\n {\n this.setState({content: [

{this.props.location.state.message}

, ]}, () => {setTimeout(() => {this.props.location.state = null; this.setState({content: buttons})}, 5000)})\n }\n else\n {\n this.setState({content: buttons});\n }\n }\n\n componentDidMount = () => {\n this.createContent();\n }\n\n render() {\n\n if (!this.props.user) {\n return (\n \n )\n }\n\n if (this.state.redirect) {\n return (\n \n )\n }\n\n\n return(\n
\n \"logo\"/\n

\n Ellipsis Account Management\n

\n
\n
\n Welcome {this.props.user.username.charAt(0).toUpperCase() + this.props.user.username.slice(1)}\n {this.state.content}\n \n Powered by Ellipsis\n \n
\n
);\n }\n}\n\nexport default withRouter(MyProfile);\n","import React, { PureComponent } from 'react';\nimport { withRouter, Redirect } from 'react-router-dom';\n\nimport Button from '@material-ui/core/Button';\nimport Paper from '@material-ui/core/Paper';\nimport Typography from '@material-ui/core/Typography';\n\nclass MyCredentials extends PureComponent {\n constructor(props, context) {\n super(props, context);\n\n this.state = {\n redirect: null,\n content: null,\n };\n }\n\n redirect = (url) => {\n this.setState({redirectURL: url});\n }\n\n logout = () => {\n this.props.onLogout();\n }\n\n createContent = () => {\n let buttons =
\n\n\n this.setState({redirect:'/account/changePassword'})}\n >\n Change Password\n \n this.setState({redirect:'/account/changeEmail'}) }\n >\n Change Email\n \n\n { this.setState({ redirect: '/account' }) }}\n className=\"cancelButton\"\n >\n Cancel\n \n\n
;\n\n if (this.props.location.state && this.props.location.state.message)\n {\n this.setState({content: [

{this.props.location.state.message}

, ]}, () => {setTimeout(() => {this.props.location.state = null; this.setState({content: buttons})}, 5000)})\n }\n else\n {\n this.setState({content: buttons});\n }\n }\n\n componentDidMount = () => {\n this.createContent();\n }\n\n render() {\n\n if (!this.props.user) {\n return (\n \n )\n }\n\n if (this.state.redirect) {\n return (\n \n )\n }\n\n\n return(\n
\n \"logo\"/\n

\n Ellipsis Account Management\n

\n
\n
\n Welcome {this.props.user.username.charAt(0).toUpperCase() + this.props.user.username.slice(1)}\n {this.state.content}\n \n Powered by Ellipsis\n \n
\n
);\n }\n}\n\nexport default withRouter(MyCredentials);\n","import React, { PureComponent } from 'react';\nimport { Link, Redirect } from 'react-router-dom';\n\nimport Button from '@material-ui/core/Button'\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport Paper from '@material-ui/core/Paper';\nimport TextField from '@material-ui/core/TextField';\nimport IconButton from '@material-ui/core/IconButton';\nimport List from '@material-ui/core/List';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\nimport ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport AccountCircleIcon from '@material-ui/icons/AccountCircle';\nimport SearchIcon from '@material-ui/icons/Search';\nimport ApiManager from '../../../ApiManager';\nimport { Typography } from '@material-ui/core';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport ClearIcon from '@material-ui/icons/Clear';\n\nfunction GetError(props) {\n const error = props.error;\n if (error) {\n return ({error}\n \n );\n } else {\n return ();\n }\n}\n\nclass Representatives extends PureComponent {\n\n constructor(props, context) {\n super(props, context);\n\n this.state = {\n representative:'',\n error:'',\n search:'',\n filteredRepresentatives:[]\n };\n }\n\n componentDidMount(){\n if(this.props.user){\n this.setState({filteredRepresentatives:this.props.user.representatives})\n }\n }\n\n componentDidUpdate(prevProps){\n if(this.props.user && prevProps.user != this.props.user){\n this.setState({filteredRepresentatives:this.props.user.representatives, search:''})\n }\n }\n\n addRepresentative = ()=>{\n\n let body = {user:this.props.user.username, representative:this.state.representative, remove:false}\n ApiManager.post('/settings/account/representative', body, this.props.user).then(()=>{\n let representatives = this.props.user.representatives\n representatives.unshift(this.state.representative)\n this.props.setRepresentatives(representatives)\n this.setState({representative:'', error:''})\n }).catch((e)=>{\n if(this.props.user.username === this.state.representative){\n this.setState({error:'Cannot add yourself as representative'})\n }else{\n this.setState({error:'user does not exsist'})\n }\n })\n\n\n }\n\n removeRepresentative = (representative)=>{\n let body = {user:this.props.user.username, representative:representative, remove:true}\n ApiManager.post('/settings/account/representative', body, this.props.user)\n\n let representatives = [...this.props.user.representatives]\n representatives = representatives.filter((r)=>r!=representative)\n this.props.setRepresentatives(representatives)\n\n }\n\n onSearch = (e)=>{\n this.setState({search:e.target.value})\n\n if(e.target.value != ''){\n let filteredRepresentatives = [...this.state.filteredRepresentatives]\n filteredRepresentatives = filteredRepresentatives.filter((representative)=>representative.includes(this.state.search))\n this.setState({filteredRepresentatives:filteredRepresentatives})\n }\n else{\n this.setState({filteredRepresentatives:this.props.user.representatives})\n }\n }\n\n render() {\n\n if (!this.props.user) {\n return (\n \n )\n }\n\n if (this.state.redirect) {\n return (\n \n )\n }\n\n let representatives = this.state.filteredRepresentatives.map((representative)=>{\n return(\n \n \n \n \n {this.removeRepresentative(representative)}}>\n \n \n \n \n )\n })\n\n return (\n \n \n
\n \"logo\"\n

\n Managing representetives for: {this.props.user.username}\n

\n
\n \n
\n\n
\n \n this.setState({representative:e.target.value})}\n error={this.state.error}\n value={this.state.representative}\n autoFocus\n />\n\n \n Add Representative\n \n\n \n {this.props.user.representatives.length > 4 ?\n \n \n \n \n \n \n \n this.setState({search:'', filteredRepresentatives:this.props.user.representatives})} >\n \n \n \n \n : null\n }\n {representatives}\n \n { this.setState({ redirect: '/account' }) }}\n className=\"cancelButton\"\n >\n Cancel\n \n \n
\n
\n );\n }\n}\n\nexport default Representatives;\n","import React, { PureComponent } from 'react';\nimport { Link, Redirect } from 'react-router-dom';\n\nimport Button from '@material-ui/core/Button';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport Container from '@material-ui/core/Container';\nimport Grid from '@material-ui/core/Grid';\nimport Paper from '@material-ui/core/Paper';\nimport Slider from '@material-ui/core/Slider';\nimport Typography from '@material-ui/core/Typography';\n\nimport AvatarEditor from 'react-avatar-editor'\nimport { DropzoneArea } from 'material-ui-dropzone'\n\nimport ApiManager from '../../../../ApiManager';\n\nimport './ChangeAvatar.css';\n\nclass ChangeAvatar extends PureComponent {\n constructor(props, context) {\n super(props, context);\n\n this.state = {\n step: 0,\n file: null,\n editedFile: null,\n gottenImage: null,\n };\n }\n\n redirect = (value) => {\n this.setState({ redirect: value });\n }\n\n setFile = (file) => {\n this.setState({file: file}, this.nextStep)\n }\n\n setEditedFile = (file) => {\n this.setState({editedFile: file}, this.nextStep)\n }\n\n setGottenImage = (file) => {\n this.setState({gottenImage: file}, this.nextStep)\n }\n\n nextStep = () => {\n if(this.state.step === 2)\n {\n this.props.onImageChange(this.state.gottenImage);\n this.setState({redirect: '/account'})\n }\n else {\n this.setState({step: this.state.step + 1})\n }\n }\n\n prevStep = () => {\n this.setState({step: this.state.step - 1})\n }\n\n render() {\n if (!this.props.user) {\n return (\n \n )\n }\n\n if (this.state.redirect) {\n return (\n \n )\n }\n\n return (\n \n
\n \"logo\"\n

\n Upload an avatar for your Ellipsis Account: {this.props.user.username}\n

\n
\n \n
\n {\n this.state.step === 0\n ? \n : null\n }\n {\n this.state.step === 1\n ? \n : null\n }\n {\n this.state.step === 2\n ? \n : null\n }\n
\n
);\n }\n}\n\nexport default ChangeAvatar;\n\nclass Choose extends PureComponent {\n constructor(props, context) {\n super(props, context);\n\n this.state = {\n file: null,\n };\n }\n\n nextStep = () => {\n this.props.setFile(this.state.file);\n }\n\n onFileChange = (files) => {\n if (files.length > 0)\n {\n this.setState({file: files[0]})\n }\n else\n {\n this.setState({files: null});\n }\n }\n\n render = () => {\n return (\n \n
\n this.props.redirect('/account/profile')}\n >\n Back\n \n \n Next\n \n
\n
)\n }\n}\n\nclass Edit extends PureComponent {\n constructor(props, context) {\n super(props, context);\n\n this.initSize = 250;\n this.maxSize = 250;\n\n this.state = {\n file: null,\n scale: 1,\n rotate: 0,\n color: [255, 255, 255, 0.75],\n size: this.initSize,\n };\n\n this.editor = React.createRef();\n }\n\n setScale = (e, value) => {\n this.setState({scale: value});\n }\n\n setRotate = (e, value) => {\n this.setState({rotate: value});\n }\n\n prepare = () => {\n this.setState({color: [0,0,0,0]}, () => {\n this.props.setEditedFile(this.editor.current.canvas.toDataURL(\"image/jpeg\"))\n })\n }\n\n render = () => {\n return (\n \n \n \n \n Zoom\n \n \n `${x}x`}\n />\n \n \n \n \n Rotation\n \n \n `${x}°`}\n />\n \n \n \n
\n \n Back\n \n \n Use\n \n
\n
)\n }\n}\n\nclass Upload extends PureComponent {\n constructor(props, context) {\n super(props, context);\n\n this.state = {\n gottenImage: null,\n loading: true\n };\n }\n\n componentDidMount = () => {\n this.upload();\n }\n\n\n getImage = () => {\n let body = {\n username: this.props.user.username\n };\n\n ApiManager.post('/settings/account/getProfile', body, this.props.user)\n .then(result => {\n this.setState({gottenImage: 'data:image/jpeg;base64,' + result.picture})\n })\n .catch(error => {\n console.error(error);\n });\n }\n\n upload = () => {\n let body = {\n picture: this.props.edited,\n };\n\n ApiManager.post('/settings/account/editProfile', body, this.props.user)\n .then(result => {\n if(result === 'OK')\n {\n this.setState({loading: false}, this.getImage)\n }\n else\n {\n console.warn(result)\n }\n })\n .catch(error => {\n console.error(error);\n });\n }\n\n setGottenImage = () => {\n this.props.setGottenImage(this.state.gottenImage);\n }\n\n render = () => {\n let loading = \n Uploading your image\n \n \n\n return (\n {\n this.state.loading\n ? loading\n : (\n this.state.gottenImage\n ? \n Upload complete\n {`Avatar\n \n : loading\n )\n }\n
\n \n Back\n \n \n Finish\n \n
\n
)\n }\n}\n","import React, { PureComponent } from 'react';\nimport { Link, Redirect } from 'react-router-dom';\n\nimport Button from '@material-ui/core/Button'\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport IconButton from '@material-ui/core/IconButton'\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport Paper from '@material-ui/core/Paper';\nimport TextField from '@material-ui/core/TextField';\nimport Visibility from '@material-ui/icons/Visibility';\nimport VisibilityOff from '@material-ui/icons/VisibilityOff';\n\nimport ApiManager from '../../../../ApiManager';\n\nclass Login extends PureComponent {\n constructor(props, context) {\n super(props, context);\n\n this.state = {\n password: \"\",\n repeatPassword: \"\",\n error: \"\",\n showPassword: false,\n succes: false,\n redirect: null,\n loading: false,\n };\n }\n\n changePassword = (event) => {\n event.preventDefault();\n\n this.setState({ loading: true }, () => {\n let password = this.state.password;\n let repeatPassword = this.state.repeatPassword;\n\n if (password === '' || repeatPassword === '') {\n return;\n }\n else if (password !== repeatPassword) {\n this.setState({ error: 'Passwords are not the same', loading: false });\n return;\n }\n\n let body = {\n newPassword: password,\n };\n\n ApiManager.post('/settings/account/changePassword', body, this.props.user)\n .then(data => {\n if (data === 'OK') {\n this.setState({ succes: true })\n }\n else {\n console.log(data);\n }\n })\n .catch(error => {\n this.setState({ error: error.message ? error.message : error.status, loading: false })\n });\n })\n }\n\n onInputChange = name => event => {\n let stateObj = { error: \"\" };\n stateObj[name] = event.target.value;\n\n this.setState(stateObj);\n }\n\n onEnter = (event) => {\n if (event.keyCode === 13) {\n this.changePassword(event);\n }\n }\n\n handleMouseDownPassword = (e) => {\n e.preventDefault();\n }\n\n handleClickShowPassword = () => {\n this.setState({ showPassword: !this.state.showPassword });\n }\n\n render() {\n if (!this.props.user) {\n return (\n \n )\n }\n\n if (this.state.redirect) {\n return (\n \n )\n }\n\n let error = this.state.error.length > 0;\n\n return (\n \n \n
\n \"logo\"\n

\n Change password of Ellipsis Account: {this.props.user.username}\n

\n
\n \n
\n {!this.state.succes ?\n
\n \n \n {this.state.showPassword ? : }\n \n \n ),\n }}\n name='password'\n autoComplete='current-password'\n autoFocus\n />\n \n \n {this.state.showPassword ? : }\n \n \n ),\n }}\n helperText={this.state.error}\n autoComplete='new-password'\n name='new-password'\n />\n \n {this.state.loading ? : null}Change Password\n \n { this.setState({ redirect: '/account/credentials' }) }}\n className=\"cancelButton\"\n >\n Back\n \n :\n }\n
\n
\n );\n }\n}\n\nexport default Login;\n","import React, { PureComponent } from 'react';\nimport { Link, Redirect } from 'react-router-dom';\n\nimport Button from '@material-ui/core/Button'\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport Paper from '@material-ui/core/Paper';\nimport TextField from '@material-ui/core/TextField';\n\nimport ApiManager from '../../../../ApiManager';\nimport { Typography } from '@material-ui/core';\n\n\nfunction GetError(props) {\n const error = props.error;\n if (error) {\n return ({error}\n \n );\n } else {\n return ();\n }\n}\n\nclass ChangeEmail extends PureComponent {\n constructor(props, context) {\n super(props, context);\n\n this.state = {\n email: \"\",\n repeatEmail: \"\",\n error: \"\",\n loading: false,\n succes: false,\n redirect: null,\n };\n }\n\n changeEmail = (event) => {\n event.preventDefault();\n\n this.setState({ loading: true }, () => {\n let email = this.state.email;\n let repeatEmail = this.state.repeatEmail;\n\n if (email === '' || repeatEmail === '') {\n return;\n }\n else if (email !== repeatEmail) {\n this.setState({ error: 'Emailaddresses are not the same', loading: false });\n return;\n }\n\n let body = {\n newEmail: email,\n };\n\n ApiManager.post('/settings/account/changeEmail', body, this.props.user)\n .then(data => {\n if (data === 'OK') {\n this.setState({ succes: true })\n }\n else {\n console.log(data);\n }\n })\n .catch(error => {\n this.setState({ error: error.message ? error.message : error.status, loading: false })\n });\n });\n }\n\n onInputChange = name => event => {\n let stateObj = { error: \"\" };\n stateObj[name] = event.target.value;\n\n this.setState(stateObj);\n }\n\n onEnter = (event) => {\n if (event.keyCode === 13) {\n this.changeEmail(event);\n }\n }\n\n handleMouseDownPassword = (e) => {\n e.preventDefault();\n }\n\n handleClickShowPassword = () => {\n this.setState({ showPassword: !this.state.showPassword });\n }\n\n redirect = () => {\n this.setState({ redirect: true });\n }\n\n render() {\n if (!this.props.user) {\n return (\n \n )\n }\n\n if (this.state.redirect) {\n return (\n \n )\n }\n\n let error = this.state.error.length > 0;\n\n return (\n \n \n
\n \"logo\"\n

\n Change email of Ellipsis Account: {this.props.user.username}\n

\n
\n \n
\n {!this.state.succes ?\n\n
\n \n \n \n \n {this.state.loading ? : null} Change email\n \n { this.setState({ redirect: '/account/credentials' }) }}\n className=\"cancelButton\"\n >\n Back\n \n :\n \n }\n
\n
\n );\n }\n}\n\nexport default ChangeEmail;\n","import React, { PureComponent } from 'react';\nimport { Link, Redirect } from 'react-router-dom';\n\nimport Button from '@material-ui/core/Button';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport Container from '@material-ui/core/Container';\nimport Grid from '@material-ui/core/Grid';\nimport Paper from '@material-ui/core/Paper';\nimport Slider from '@material-ui/core/Slider';\nimport Typography from '@material-ui/core/Typography';\nimport TextField from '@material-ui/core/TextField';\n\nimport AvatarEditor from 'react-avatar-editor'\nimport { DropzoneArea } from 'material-ui-dropzone'\n\nimport ApiManager from '../../../../ApiManager';\n\nimport './AboutMe.css';\n\nclass AboutMe extends PureComponent {\n\n constructor(props, context) {\n super(props, context);\n\n this.state = {\n redirect:null,\n about:null,\n error:false,\n helperText:null\n };\n }\n\n componentDidMount(){\n if(this.props.user){\n this.setState({about:this.props.user.about})\n }\n }\n\n componentDidUpdate(prevProps){\n if(this.props.user.about != prevProps.user.about){\n this.setState({about:this.props.user.about})\n }\n }\n\n\n onSubmit = ()=>{\n let body = {about:this.state.about}\n ApiManager.post('/settings/account/editProfile', body, this.props.user).then(()=>{\n this.props.onAboutChange(this.state.about)\n this.setState({helperText:

update successful

, error:false})\n }).catch((e)=>{\n this.setState({error:true, helperText:

e.message

})\n })\n\n }\n\n render() {\n\n if (!this.props.user) {\n return (\n \n )\n }\n\n if (this.state.redirect) {\n return (\n \n )\n }\n\n\n return (\n \n \n
\n \"logo\"\n

\n Editing about for: {this.props.user.username}\n

\n
\n \n
\n\n
\n\n { this.setState({about:e.target.value, error:false, helperText:null}) }}\n value={this.state.about}\n multiline\n />\n\n \n Submit\n \n\n\n { this.setState({ redirect: '/account/profile' }) }}\n className=\"cancelButton\"\n >\n Back\n \n \n
\n
\n );\n }\n}\n\n\n\nexport default AboutMe\n","import React, { PureComponent } from 'react';\nimport { Link, Redirect } from 'react-router-dom';\n\nimport Button from '@material-ui/core/Button'\nimport Paper from '@material-ui/core/Paper';\nimport TextField from '@material-ui/core/TextField';\nimport { Typography } from '@material-ui/core';\n\nimport ApiManager from '../../../ApiManager';\n\n\nfunction GetError(props) {\n const error = props.error;\n console.error(error);\n if (error) {\n return (No user found with that email address\n \n );\n } else {\n return ();\n }\n}\n\nclass Login extends PureComponent {\n constructor(props, context) {\n super(props, context);\n\n this.state = {\n email: \"\",\n error: \"\",\n succes: false,\n redirect: false,\n };\n }\n\n reset = (event) => {\n event.preventDefault();\n let email = this.state.email;\n\n if (email === '') {\n return;\n }\n\n let body = {\n email: email\n };\n\n ApiManager.post('/settings/account/resetPassword', body)\n .then(data => {\n if (data === 'OK') {\n this.setState({ succes: true })\n }\n else {\n console.log(data)\n }\n })\n .catch(error => {\n this.setState({ error: error.message ? error.message : error.status })\n });\n }\n\n onInputChange = name => event => {\n let stateObj = { error: \"\" };\n stateObj[name] = event.target.value;\n\n this.setState(stateObj);\n }\n\n onEnter = (event) => {\n if (event.keyCode === 13) {\n this.login(event);\n }\n }\n\n handleMouseDownPassword = (e) => {\n e.preventDefault();\n }\n\n redirect = () => {\n this.setState({ redirect: true });\n }\n\n render() {\n if (this.props.user) {\n return (\n \n )\n }\n\n if (this.state.redirect) {\n return (\n \n )\n }\n\n let error = this.state.error.length > 0;\n\n return (\n \n \n
\n \"logo\"\n

\n Reset your password of your Ellipsis Account\n

\n
\n \n
\n {\n !this.state.succes ?\n
\n \n \n \n Reset Password\n \n { this.setState({ redirect: '/login' }) }}\n className=\"cancelButton\"\n >\n Cancel\n \n :\n
\n

An email has been sent to you with instructions for a new password.

\n { this.setState({ redirect: '/login' })}}\n >\n Back to login\n \n
\n }\n
\n
\n );\n }\n}\n\nexport default Login;\n","import React, { PureComponent } from 'react';\n\nimport { Link, Redirect } from 'react-router-dom';\n\nimport Button from '@material-ui/core/Button'\nimport IconButton from '@material-ui/core/IconButton'\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport Paper from '@material-ui/core/Paper';\nimport TextField from '@material-ui/core/TextField';\nimport Visibility from '@material-ui/icons/Visibility';\nimport VisibilityOff from '@material-ui/icons/VisibilityOff';\n\nimport './Register.css';\n\nimport ApiManager from '../../../ApiManager';\n\nclass Register extends PureComponent {\n constructor(props, context) {\n super(props, context);\n\n this.state = {\n username: \"\",\n password: \"\",\n repeatPassword: \"\",\n email: \"\",\n error: \"\",\n showPassword: false,\n redirect: null,\n success: false,\n };\n }\n\n register = (event) => {\n event.preventDefault();\n\n let username = this.state.username;\n let password = this.state.password;\n let repeatPassword = this.state.repeatPassword\n let email = this.state.email\n\n if (username === '' || password === '' || repeatPassword === '' || email === '') {\n return;\n }\n else if (password !== repeatPassword) {\n this.setState({ error: 'Passwords are not the same' });\n return;\n }\n\n username = username.toLowerCase();\n\n let body = {\n username: username,\n password: password,\n email: email\n };\n\n ApiManager.post('/settings/account/register', body)\n .then(data => {\n this.setState({ success: true })\n })\n .catch(error => {\n this.setState({ error: error.message ? error.message : error.status })\n });\n }\n\n onInputChange = name => event => {\n let stateObj = { error: \"\" };\n stateObj[name] = event.target.value;\n\n this.setState(stateObj);\n }\n\n onEnter = (event) => {\n if (event.keyCode === 13) {\n this.register(event);\n }\n }\n\n handleMouseDownPassword = (e) => {\n e.preventDefault();\n }\n\n handleClickShowPassword = () => {\n this.setState({ showPassword: !this.state.showPassword });\n }\n\n render() {\n\n if (this.props.user) {\n return ()\n }\n\n if (this.state.redirect) {\n return ()\n }\n\n let error = {};\n if (this.state.error.length > 0) {\n let message = this.state.error.toLowerCase();\n\n if (message.includes('username')) {\n if (message.includes('characters')) {\n error.username = 'Username should be atleast 4 characters long and can only contain letters, numbers and underscores.';\n }\n else {\n error.username = this.state.error;\n }\n }\n\n if (message.includes('password')) {\n if (message.includes('characters')) {\n error.password = 'Password should be atleast 7 characters long.';\n }\n else {\n error.password = this.state.error;\n }\n }\n\n if (message.includes('email')) {\n error.email = this.state.error\n }\n }\n\n return (\n \n \n
\n \"Ellipsis\n

\n Register your Ellipsis Account\n

\n
\n \n
\n {\n !this.state.success ?
\n \n \n \n {this.state.showPassword ? : }\n \n \n ),\n }}\n error={error && error.password ? true : false}\n autoComplete=\"current_password\"\n name=\"password\"\n />\n \n \n {this.state.showPassword ? : }\n \n \n ),\n }}\n error={error && error.password ? true : false}\n helperText={error && error.password ? error.password : ''}\n />\n \n \n Register\n \n { this.setState({ redirect: '/login' }) }}\n className=\"cancelButton\"\n >\n Cancel\n \n \n : [

Registration is successful, check your email and click on the link we sent to validate your account

, { this.setState({ redirect: '/login' }) }}\n className=\"backButton\"\n key='button'\n >\n Back to login\n ]}\n
\n
\n );\n }\n}\n\nexport default Register;\n","import React, { Component } from \"react\";\nimport { Redirect, Route } from \"react-router-dom\";\n\nimport MyAccount from './MyAccount/MyAccount';\nimport MyProfile from './MyAccount/MyProfile';\nimport MyCredentials from './MyAccount/MyCredentials';\nimport Representatives from './MyAccount/Representatives';\n\nimport ChangeAvatar from './MyAccount/ChangeAvatar/ChangeAvatar';\nimport ChangePassword from './MyAccount/ChangePassword/ChangePassword';\nimport ChangeEmail from './MyAccount/ChangeEmail/ChangeEmail';\nimport AboutMe from './MyAccount/AboutMe/AboutMe';\n\nimport ResetPassword from './ResetPassword/ResetPassword';\nimport Register from './Register/Register';\n\nimport \"./Account.css\";\n\nexport class Account extends Component {\n\tconstructor (props, context) {\n\t\tsuper(props, context)\n\n\t\tthis.state = {\n\t\t\tmaps: null,\n\t\t\tadminMaps: [],\n\t\t\tRedirect: null,\n\t\t}\n\t}\n\n\tcomponentDidUpdate = (prevProps) => {\n\t\tif(this.props.user !== prevProps.user)\n\t\t{\n\t\t\tif (!this.props.user)\n\t\t\t{\n\t\t\t\tthis.setState({Redirect: })\n\t\t\t}\n\t\t}\n\t}\n\n\trender() {\n\t\tif (this.state.Redirect) {\n\t\t\treturn this.state.Redirect\n }\n\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t
\n\t\t)\n\t}\n}\n\nexport default Account;\n","let primary = {\n \"light\": \"#08C8C8\",\n \"main\": \"#089EC8\",\n \"dark\": \"#0D2E4C\",\n \"contrastText\": \"#fff\"\n};\n\nlet secondary = {\n \"main\": \"#C75B1C\",\n \"dark\": \"#873E13\",\n \"contrastText\": \"#fff\"\n};\n\nvar theme =\n{\n\tpalette: {\n\t \"common\": {\n \"black\": \"#000\",\n \"white\": \"#fff\"\n },\n\t\t\"primary\": primary,\n \"secondary\": secondary,\n\t\t/*action: {main:'#9CEBEB', contrastText: '#9CEBEB'},\n info: { main: '#f5f5f5' },\n error: { main: '#ff0000' }*/\n\t},\n\ttypography: {\n\t\thtmlFontSize: 14,\n\t\tfontFamily: [\n\t\t\t'\"Roboto Condensed\"',\n\t\t\t'\"Roboto\"',\n\t\t\t'\"-apple-system\"',\n\t\t\t'\"BlinkMacSystemFont\"',\n\t\t\t'\"Segoe UI\"',\n\t\t\t'\"Helvetica Neue\"',\n\t\t\t'\"Arial\"',\n\t\t\t'\"sans-serif\"',\n\t\t\t'\"Apple Color Emoji\"',\n\t\t\t'\"Segoe UI Emoji\"',\n\t\t\t'\"Segoe UI Symbol\"',\n\t\t\t'\"Exo 2\"',\n\t\t].join(','),\n\t\th1: {\n\t\t\tfontFamily: '\"Exo 2\", \"Roboto Condensed\", \"Roboto\", \"Arial\", \"sans-serif\"',\n\t\t\tfontWeight: 500,\n\t\t\tlineHeight: 1.25,\n\t\t\ttextTransform: 'uppercase',\n\t\t\tfontSize: '2.5rem',\n\t\t\tcolor: primary.dark,\n\t\t},\n\t\th2: {\n\t\t\tboxSizing: 'border-box',\n\t\t\tfontFamily: '\"Exo 2\", \"Roboto Condensed\", \"Roboto\", \"Arial\", \"sans-serif\"',\n\t\t\tfontWeight: 400,\n\t\t\tfontSize: '2.5rem',\n\t\t\tlineHeight: 1,\n\t\t\ttextTransform: 'uppercase',\n\t\t\tdisplay: 'block',\n\t\t\tbackground: primary.dark,\n\t\t\tpadding: '1.5rem',\n\t\t\tpaddingLeft: '5vw',\n\t\t\tpaddingRight: '5vw',\n\t\t\twidth: 'calc(100% + 120px)',\n\t\t\ttransform: 'translateX(-60px)',\n\t\t\tcolor: 'white',\n\t\t\tmarginBottom: '2rem',\n\t\t\ttextAlign: 'center',\n\t\t},\n\t\th3: {\n\t\t\tfontFamily: '\"Exo 2\", \"Roboto Condensed\", \"Roboto\", \"Arial\", \"sans-serif\"',\n\t\t\tfontWeight: 700,\n\t\t\tfontSize: '2rem',\n\t\t\tlineHeight: 1.25,\n\t\t\ttextTransform: 'uppercase',\n\t\t\tcolor: primary.dark,\n\t\t},\n\t\th4: {\n\t\t\tfontFamily: '\"Roboto Condensed\", \"Roboto\", \"Arial\", \"sans-serif\"',\n\t\t\tfontWeight: 400,\n\t\t\tfontSize: '1.5rem',\n\t\t\tlineHeight: 1.5,\n\t\t\tcolor: primary.dark,\n\t\t},\n\t\th5: {\n\t\t\tfontFamily: '\"Roboto Condensed\", \"Roboto\", \"Arial\", \"sans-serif\"',\n\t\t\tfontWeight: 700,\n\t\t\tfontSize: '1.5rem',\n\t\t\tlineHeight: 1,\n\t\t\tcolor: primary.dark,\n\t\t},\n\t\tsubtitle1: {\n\t\t\tfontFamily: '\"Roboto Condensed\", \"Roboto\", \"Arial\", \"sans-serif\"',\n\t\t\tfontWeight: 500,\n\t\t\tfontSize: '1.5rem',\n\t\t\tlineHeight: 1.5,\n\t\t\ttextAlign: 'left'\n\t\t},\n\t\tsubtitle2: {\n\t\t\tfontFamily: '\"Roboto Condensed\", \"Roboto\", \"Arial\", \"sans-serif\"',\n\t\t\tfontWeight: 300,\n\t\t\tfontSize: '1.5rem',\n\t\t\tlineHeight: 1.5,\n\t\t\ttextAlign: 'left',\n\t\t},\n\t\tbody1: {\n\t\t\tfontFamily: '\"Roboto Condensed\", \"Roboto\", \"Arial\", \"sans-serif\"',\n\t\t\tfontWeight: 400,\n\t\t\tfontSize: '1.1rem',\n\t\t\tlineHeight: 1.5,\n\t\t\thyphens: 'auto',\n\t\t\ttextAlign: 'justify',\n\t\t},\n\t},\n}\n\nexport default theme;","import React, { Component } from 'react';\nimport { Redirect, Route } from 'react-router-dom';\nimport Modal from 'react-modal';\nimport { withRouter } from 'react-router';\n\nimport IconButton from '@material-ui/core/IconButton';\nimport CloseIcon from '@material-ui/icons/Close';\n\n\nimport ApiManager from './ApiManager';\n\nimport Login from './Components/Login/Login';\nimport Account from './Components/Account/Account';\n\nimport { createMuiTheme, ThemeProvider } from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/Typography';\nimport theme from './theme';\n\nimport './App.css';\n\nconst localStorageUserItem = 'user';\n\nclass App extends Component {\n topItemRef = null;\n bottomItemRef = null;\n\n constructor(props, context) {\n super(props, context)\n document.title = 'Account - Ellipsis Earth Intelligence';\n\n this.state = {\n init: false,\n user: null,\n userOrigin: null,\n representativeError:''\n };\n\n this.theme = createMuiTheme(theme);\n }\n\n componentDidMount() {\n Modal.setAppElement('body');\n window.addEventListener('message', this.receiveMessage, false);\n\n this.retrieveUser();\n }\n\n checkOrigin = (url) => {\n return true;\n // if (typeof url === 'string') {\n // let split = url.split('.');\n\n // if ((split[0].includes('https://') && (split[1] === 'ellipsis-earth' || split[1] === 'ellipsis-drive') &&\n // split[2] === 'com') || (split[0].includes('https://ellipsis-earth' || split[0].includes('https://ellipsis-drive')) && split[1].split('/')[0] === 'com'))\n // {\n // return true;\n // }\n // }\n // return false;\n }\n\n setRepresentatives =(representatives)=>{\n let user = {...this.state.user}\n user.representatives = representatives\n this.setState({user:user})\n }\n\n receiveMessage = (event) => {\n if (event.data && event.data.type === 'init')\n {\n if (this.checkOrigin(event.origin) || event.data.dev || event.origin.includes('localhost') || event.origin.includes('192.168'))\n {\n let stateObj = {userOrigin: event.origin};\n\n let cb = null;\n if (event.data.data){stateObj.user = event.data.data}\n\n if(this.state.user && !stateObj.user)\n {\n window.parent.postMessage({type: 'overlayClose'}, event.origin);\n cb = () => {\n window.parent.postMessage({type: 'login', data: this.state.user}, event.origin)\n }\n }\n\n this.setState(stateObj, cb);\n }\n }\n else if (event.data && event.data.type === 'home')\n {\n this.props.history.push('/account');\n }\n else if (event.data && event.data.type === 'register') {\n this.props.history.push('/account/register');\n }\n else if (event.data && event.data.type === 'login') {\n this.props.history.push('/login');\n }\n }\n\n retrieveUser = async () => {\n let user = null;\n let userJson = localStorage.getItem(localStorageUserItem);\n\n if (!userJson || !this.state.userOrigin) {\n this.setState({ init: true });\n return;\n }\n\n user = JSON.parse(userJson);\n\n ApiManager.get('/account/validateLogin', null, user)\n .then(() => {\n if (user.username) {\n user.username = user.username.toLowerCase();\n }\n\n this.setState({ user: user, init: true }, () => {\n if(this.state.userOrigin){window.parent.postMessage({type: 'login', data: user}, this.state.userOrigin)}\n });\n })\n .catch(() => {\n this.setState({ init: true });\n localStorage.removeItem(localStorageUserItem);\n window.parent.postMessage({type: 'logout'}, this.state.userOrigin);\n });\n }\n\n scrollToBottom = () => {\n this.bottomItemRef.current.scrollIntoView({ behavior: 'smooth' });\n }\n\n onLogin = (user) => {\n localStorage.setItem(localStorageUserItem, JSON.stringify(user));\n\n if (this.state.userOrigin) {\n window.parent.postMessage({type: 'login', data: user}, this.state.userOrigin);\n window.parent.postMessage({type: 'overlayClose'}, this.state.userOrigin);\n }\n\n this.setState({ user: user }, () => {\n this.props.history.push('/account');\n });\n }\n\n onLogout = () => {\n localStorage.removeItem(localStorageUserItem);\n this.setState({ user: null }, () => {\n window.parent.postMessage({type: 'logout'}, this.state.userOrigin);\n });\n }\n\n onImageChange = (picture) => {\n window.parent.postMessage({type: 'updateImage', data: picture}, this.state.userOrigin);\n }\n\n onAboutChange = (about) => {\n let user = {...this.state.user}\n user.about = about\n this.setState({user:user})\n window.parent.postMessage({type: 'updateAbout', data: about}, this.state.userOrigin);\n }\n\n\n\n overlayClick = (e) => {\n let element = e.target;\n\n if (element.nodeName === 'path') {element = element.parentElement}\n if (element.nodeName === 'svg') {element = element.parentElement}\n if (element.nodeName === 'SPAN') {element = element.parentElement}\n\n let classNames = element.className;\n if (classNames === 'overlay' || classNames.includes('overlayClick'))\n {\n window.parent.postMessage({type: 'overlayClose'}, this.state.userOrigin);\n }\n }\n\n render() {\n // if (!this.state.init || !this.state.userOrigin)\n // {\n // if (!window.location.href.includes('https://account.ellipsis-earth.com/') &&\n // !window.location.href.includes('https://account.ellipsis-drive.com/') &&\n // !window.location.href.includes('localhost') && !window.location.href.includes('192.168.'))\n // {\n // return null;\n // }\n // }\n\n let contentClassName = 'content';\n\n return (\n
\n \n \n { return this.props.user ?\n :\n \n }}\n />\n \n \n }\n />\n \n \n }\n />\n } />\n
\n \n \n \n
\n
\n
\n
\n );\n\n }\n\n}\n\nexport default withRouter(App);\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read http://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit http://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See http://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n\nimport {\n BrowserRouter as Router\n} from 'react-router-dom';\n\nReactDOM.render(\n \n \n \n , \n document.getElementById('root')\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: http://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}