{"version":3,"sources":["components/Navbar.js","components/Hero.js","components/HomeContent.js","components/Home.js","components/ConfigForm.js","components/Products.js","components/Onboard.js","components/Product.js","components/ProductAdmin.js","components/FormErrors.js","components/utility/FormValidation.js","components/auth/LogIn.js","components/auth/Register.js","components/auth/ForgotPassword.js","components/auth/ForgotPasswordVerification.js","components/auth/ChangePassword.js","components/auth/ChangePasswordConfirm.js","components/auth/Welcome.js","components/Footer.js","App.js","serviceWorker.js","index.js"],"names":["Navbar","handleLogOut","_callee","event","regenerator_default","a","wrap","_context","prev","next","preventDefault","Auth","signOut","_this","props","auth","setAuthStatus","setUser","error","console","log","message","stop","react_default","createElement","className","role","aria-label","href","src","width","height","alt","id","this","isAuthenticated","user","onClick","Component","Hero","HomeContent","Home","react","config","require","ConfigForm","Object","classCallCheck","possibleConstructorReturn","getPrototypeOf","call","fetchConfig","_ref","asyncToGenerator","mark","resetPending","data","timer","resetpending","axios","post","api","invokeUrl","then","response","refreshParent","now","Date","tErr","getTime","newconfig","objectSpread","remain","i","ch","length","push","updateRemain","password","pending","pdata","pendingdata","brt","mpg","up","fmt","en","png","tpp","rem","setState","pwd1","pwd2","formConfig","refreshed","clkErr","catch","_x","apply","arguments","updateTimes","_callee2","_context2","state","sot","tot","ttp","ntp","refresh","_callee3","_context3","forceUpdate","componentDidMount","setInterval","ttpString","t","ts","outstr","dy","Math","floor","hr","min","tsec","sec","msToTimeString","handleChangeState","bind","assertThisInitialized","handleChangeRemain","handleChangeConfig","passwordState","target","value","name","defineProperty","type","checked","us","indexOf","tName","substring","newArray","toConsumableArray","Number","_this2","chd","map","element","newData","tx","_this3","max","onChange","rowSpan","colSpan","key","toString","disabled","handleSend","handleCancel","Products","setFocus","newFocus","focusId","appendGroup","_ref2","newGroup","vGroups","groups","findIndex","concat","sort","b","nameA","toUpperCase","nameB","_x2","fetchProducts","nGroups","signInUserSession","idToken","payload","forEach","group","count","Count","items","Items","parseInt","diff","round","username","item","loseFocus","timerName","style","borderWidth","borderColor","borderStyle","diffString","ConfigForm_ConfigForm","certinfo","Onboard","makeTry","tryName","tryGroup","tryResponse","cognitoGroups","groupWarn","nameWarn","uniqueWarn","handleChange","handleSubmit","onSubmit","maxLength","ProductAdmin","isEditMode","updatedproductname","handleProductEdit","handleEditSave","handleUpdateProduct","onAddProductNameChange","isAdmin","index_es","icon","handleDeleteProduct","placeholder","newproduct","productname","products","handleAddProduct","params","t0","productToUpdate","updatedProducts","patch","find","product","filter","delete","_callee4","res","_context4","get","sent","onAddProductIdChange","index","Product_ProductAdmin","FormErrors","formerrors","blankfield","passwordmatch","apierrors","cognito","validateForm","inputs","document","getElementsByClassName","classList","contains","remove","hasOwnProperty","getElementById","add","firstname","lastname","email","verificationcode","oldpassword","newpassword","confirmpassword","LogIn","errors","clearErrorState","err","Validate","signIn","history","onInputChange","components_FormErrors","aria-describedby","Register","_this$state","signUpResponse","signUp","attributes","ForgotPassword","forgotPasswordHandler","forgotPassword","ForgotPasswordVerification","passwordVerificationHandler","forgotPasswordSubmit","ChangePassword","currentAuthenticatedUser","changePassword","ChangePasswordConfirmation","Welcome","Footer","library","faEdit","App","isAuthenticating","authenticated","authProps","BrowserRouter","Navbar_Navbar","Switch","Route","exact","path","render","Home_Home","assign","Products_Products","Onboard_Onboard","ProductAdmin_ProductAdmin","auth_LogIn","auth_Register","auth_ForgotPassword","auth_ForgotPasswordVerification","auth_ChangePassword","ChangePasswordConfirm","Boolean","window","location","hostname","match","Amplify","configure","mandatorySignIn","region","REGION","userPoolId","USER_POOL_ID","userPoolWebClientId","APP_CLIENT_ID","ReactDOM","src_App_0","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.6873d127.chunk.js","sourcesContent":["import React, { Component } from 'react';\r\nimport { Auth } from 'aws-amplify';\r\n\r\nexport default class Navbar extends Component {\r\n\r\n handleLogOut = async event => {\r\n event.preventDefault();\r\n try {\r\n Auth.signOut();\r\n this.props.auth.setAuthStatus(false);\r\n this.props.auth.setUser(null);\r\n }catch(error) {\r\n console.log(error.message);\r\n }\r\n }\r\n \r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n","import React from 'react';\r\n\r\nexport default function Hero() {\r\n return (\r\n
\r\n
\r\n
\r\n \"Kealow\"\r\n
\r\n
\r\n
\r\n )\r\n}\r\n","import React from 'react'\r\n\r\nexport default function HomeContent() {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Your IOT Development Partner

\r\n

Purus semper eget duis at tellus at urna condimentum mattis. Non blandit massa enim nec. Integer enim neque volutpat ac tincidunt vitae semper quis. Accumsan tortor posuere ac ut consequat semper viverra nam.

\r\n

Learn more

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

Electronics Design and Manufacture

\r\n

Ut venenatis tellus in metus vulputate. Amet consectetur adipiscing elit pellentesque. Sed arcu non odio euismod lacinia at quis risus. Faucibus turpis in eu mi bibendum neque egestas cmonsu songue. Phasellus vestibulum lorem\r\n sed risus.

\r\n

Learn more

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

Algorithm Design and Coding

\r\n

Imperdiet dui accumsan sit amet nulla facilisi morbi. Fusce ut placerat orci nulla pellentesque dignissim enim. Libero id faucibus nisl tincidunt eget nullam. Commodo viverra maecenas accumsan lacus vel facilisis.

\r\n

Learn more

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n","import React, { Component, Fragment } from 'react';\r\nimport Hero from './Hero';\r\nimport HomeContent from './HomeContent';\r\n\r\nexport default class Home extends Component {\r\n// export default function Home() {\r\n render() {\r\n return (\r\n \r\n \r\n
\r\n

\r\n New The new Kealow website!\r\n

\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n","import React, { Component, Fragment } from 'react';\r\nimport axios from \"axios\";\r\nconst config = require('../config.json');\r\n\r\nexport default class ConfigForm extends Component {\r\n constructor(props) {\r\n super(props); \r\n this.state = {\r\n id : \"\",\r\n refreshed : \"\",\r\n pwd1 : \"\",\r\n pwd2 : \"\",\r\n remain : null,\r\n formConfig : null,\r\n clkErr : 0\r\n };\r\n this.handleChangeState = this.handleChangeState.bind(this);\r\n this.handleChangeRemain = this.handleChangeRemain.bind(this);\r\n this.handleChangeConfig = this.handleChangeConfig.bind(this);\r\n this.passwordState = this.passwordState.bind(this); \r\n }\r\n \r\n passwordState() { // 0 = No password present, 1 = Invalid, 2 = Valid\r\n const valid = ((this.state.pwd1.length>0)||(this.state.pwd2.length>0)) ?\r\n (((this.state.pwd1 !== this.state.pwd2)||(this.state.pwd1.length<8)) ? 1 : 2) : 0;\r\n return valid;\r\n }\r\n\r\n handleChangeState(event) { // Used for password and confirm. Always text\r\n const target = event.target;\r\n let value = target.value;\r\n const name = target.name;\r\n this.setState({[name]: value}); \r\n }\r\n\r\n handleChangeRemain(event) { // Used for remaining time and update flag. Checkbox or number\r\n if (this.state.remain !== null) { // Check if its there\r\n const target = event.target;\r\n let value = target.type === 'checkbox' ? (target.checked ? 1 :0) : target.value;\r\n const name = target.name;\r\n const us = name.indexOf(\"_\");\r\n let tName = name;\r\n let i = -1;\r\n if (us >= 0) {\r\n tName = name.substring(0,us);\r\n i = name.substring(us+1,name.length);\r\n }\r\n if ((tName === \"remain\") && (value > 6000)) value = 6000;\r\n if ((tName === \"remain\") && (value < 0)) value = 0; \r\n let newArray = [...this.state.remain];\r\n newArray[i] = {...newArray[i], [tName]: value};\r\n this.setState({ remain: newArray });\r\n }\r\n }\r\n\r\n handleChangeConfig(event) {\r\n if (this.state.formConfig !== null) {\r\n const target = event.target;\r\n let value = target.type === 'checkbox' ? (target.checked ? 1 :0) : \r\n (target.type === 'radio' ? Number(target.value) : \r\n target.value);\r\n// (target.type === 'number' ? Number(target.value) : target.value));\r\n const name = target.name;\r\n const us = name.indexOf(\"_\");\r\n const tName = (us >= 0) ? name.substring(0,us) : name;\r\n const i = (us >= 0) ? name.substring(us+1,name.length) : -1;\r\n if ((tName === \"tpp\") && (value > 6000)) value = 6000;\r\n if ((tName === \"tpp\") && (value < 0)) value = 0;\r\n if ((tName === \"brt\") && (value > 7)) value = 7;\r\n if ((tName === \"brt\") && (value < 0)) value = 0;\r\n if ((tName === \"mpg\") && (value > 5000)) value = 5000;\r\n if ((tName === \"mpg\") && (value < 0)) value = 0; \r\n if (i===-1) {\r\n this.setState({ formConfig: {...this.state.formConfig, [tName]: value }}); \r\n } else {\r\n let newArray = [...this.state.formConfig.ch];\r\n newArray[i] = {...newArray[i], [tName]: value};\r\n this.setState({ formConfig: {...this.state.formConfig, ch: newArray }});\r\n } \r\n }\r\n }\r\n \r\n handleCancel() {\r\n this.fetchConfig(true);\r\n }\r\n\r\n handleSend() {\r\n let chd = this.state.formConfig.ch.map((element,i) => {\r\n let ch = {\r\n fmt: element.fmt,\r\n en : element.en,\r\n png: element.png,\r\n tpp: element.tpp\r\n };\r\n if (this.state.remain[i].updateRemain) ch.rem = this.state.remain[i].remain;\r\n return ch;\r\n });\r\n \r\n let newData = {\r\n id : this.props.id,\r\n ch : chd,\r\n mpg: this.state.formConfig.mpg,\r\n brt: this.state.formConfig.brt\r\n }\r\n if(this.passwordState()===2) {\r\n newData.up = this.state.pwd1;\r\n }\r\n\r\n if (this.props.auth.isAuthenticated && this.props.auth.user) {\r\n const data = { tx : newData };\r\n axios\r\n .post(config.api.invokeUrl, data)\r\n .then((response) => {\r\n this.props.refreshParent();\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n }\r\n \r\n fetchConfig = async (resetPending) => { \r\n if (this.props.auth.isAuthenticated && this.props.auth.user) {\r\n const data = { \r\n \"timer\" : this.props.id,\r\n \"resetpending\" : resetPending\r\n };\r\n axios\r\n .post(config.api.invokeUrl, data)\r\n .then((response) => {\r\n if (resetPending) {\r\n this.props.refreshParent();\r\n }\r\n\r\n let data = response.data;\r\n const now = new Date(); \r\n const tErr = data.now - now.getTime();\r\n let newconfig = {...data.config};\r\n let remain = [];\r\n for (let i = 0; i < data.config.ch.length; i++) \r\n remain.push({updateRemain : 0, remain : 0}); \r\n let password = \"\";\r\n\r\n if (data.pending) {\r\n let pdata = data.pendingdata;\r\n if (typeof pdata.brt !== 'undefined') newconfig.brt = pdata.brt;\r\n if (typeof pdata.mpg !== 'undefined') newconfig.mpg = pdata.mpg;\r\n if (typeof pdata.up !== 'undefined') password = pdata.up;\r\n if (typeof pdata.ch !== 'undefined') {\r\n for (let i = 0; i < pdata.ch.length; i++) {\r\n if (typeof pdata.ch[i].fmt !== 'undefined') newconfig.ch[i].fmt = pdata.ch[i].fmt;\r\n if (typeof pdata.ch[i].en !== 'undefined') newconfig.ch[i].en = pdata.ch[i].en;\r\n if (typeof pdata.ch[i].png !== 'undefined') newconfig.ch[i].png = pdata.ch[i].png;\r\n if (typeof pdata.ch[i].tpp !== 'undefined') newconfig.ch[i].tpp = pdata.ch[i].tpp;\r\n if (typeof pdata.ch[i].rem !== 'undefined') {\r\n remain[i].updateRemain = 1;\r\n remain[i].remain = pdata.ch[i].rem;\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.setState({\r\n id : this.props.id, \r\n pwd1 : password,\r\n pwd2 : password,\r\n formConfig : newconfig, \r\n refreshed : data.refreshed,\r\n remain : remain,\r\n clkErr : tErr});\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n }\r\n \r\n updateTimes = async () => { \r\n if (this.props.auth.isAuthenticated && this.props.auth.user) {\r\n const data = { \r\n \"timer\" : this.props.id,\r\n \"resetpending\" : false\r\n };\r\n axios\r\n .post(config.api.invokeUrl, data)\r\n .then((response) => {\r\n const now = new Date(); \r\n const tErr = response.data.now - now.getTime();\r\n let newconfig = {...this.state.formConfig};\r\n let data = response.data.config;\r\n newconfig.sot = data.sot;\r\n if (typeof data.ch !== 'undefined') {\r\n for (let i = 0; i < data.ch.length; i++) {\r\n if (typeof data.ch[i].tot !== 'undefined') newconfig.ch[i].tot = data.ch[i].tot;\r\n if (typeof data.ch[i].ttp !== 'undefined') newconfig.ch[i].ttp = data.ch[i].ttp;\r\n if (typeof data.ch[i].ntp !== 'undefined') newconfig.ch[i].ntp = data.ch[i].ntp;\r\n }\r\n }\r\n this.setState({\r\n formConfig : newconfig, \r\n refreshed : response.data.refreshed,\r\n clkErr : tErr});\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n }\r\n\r\n refresh = async () => { \r\n this.forceUpdate(); \r\n }\r\n\r\n componentDidMount = () => {\r\n this.fetchConfig(false);\r\n setInterval(this.refresh, 1000); // rerender the display every second\r\n setInterval(this.updateTimes, 5000); // runs every 5 seconds\r\n }\r\n\r\n ttpString = (t) => {\r\n const ts = t / 1000;\r\n var outstr = \"\";\r\n var dy = Math.floor(ts / (24*3600));\r\n if (dy > 0) outstr = outstr + dy + \"d\";\r\n var hr = (Math.floor(ts / 3600) % 24) + \"\";\r\n while(hr.length < 2) hr = \"0\" + hr;\r\n outstr = outstr + hr + \"h\"; \r\n var min = (Math.floor(ts / 60) % 60)+ \"\";\r\n while(min.length < 2) min = \"0\" + min;\r\n outstr = outstr + min + \"m\"; \r\n const tsec = Math.floor(ts % 60);\r\n if (tsec > 0) {\r\n var sec = tsec + \"\";\r\n while(sec.length < 2) sec = \"0\" + sec;\r\n outstr = outstr + sec + \"s\"; \r\n } \r\n return outstr;\r\n }\r\n\r\n msToTimeString = (t,fmt) => { \r\n const ts = t / 1000; \r\n var hr, min, sec;\r\n if (ts > 0) { \r\n var outstr = \"\";\r\n if (((fmt === 0)&&(ts >= 3600)) || (fmt === 1)) { // Use HH:MM format\r\n hr = Math.floor(ts / 3600) + \"\";;\r\n while(hr.length < 2) hr = \"0\" + hr;\r\n outstr = hr + \"h\"; \r\n min = (Math.floor(ts / 60) % 60)+ \"\";\r\n while(min.length < 2) min = \"0\" + min;\r\n outstr = outstr + min + \"m\"; \r\n } else { // Use MM:SS format \r\n min = Math.floor(ts / 60)+ \"\";\r\n while(min.length < 2) min = \"0\" + min;\r\n outstr = min + \"m\"; \r\n const tsec = Math.floor(ts % 60);\r\n sec = tsec + \"\";\r\n while(sec.length < 2) sec = \"0\" + sec;\r\n outstr = outstr + sec + \"s\"; \r\n }\r\n } else {\r\n if (fmt === 1) { // Use HH:MM format\r\n outstr = \"00h00m\";\r\n } else { // Use MM:SS format \r\n outstr = \"00m00s\";\r\n }\r\n }\r\n return outstr;\r\n }\r\n\r\n render() {\r\n const now = new Date();\r\n if (this.state.formConfig === null) return (

Loading...

);\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
Brightness:
Min Pulse Gap (ms):
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {(this.state.pwd1 !== this.state.pwd2) ?\r\n :\r\n \r\n } \r\n \r\n \r\n \r\n
New password:
Confirm Password:Confirm Password:
\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 this.state.formConfig.ch.map((element,i) => \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
ChanRemainTimes
Paid
Time
Paid
EnableNeg EdgeFormatMinutes
per pulse
Overwrite
HH:MMMM:SSAutoSetMinutes
{i+1}{this.msToTimeString(\r\n (this.state.formConfig.ch[i].tot - this.state.formConfig.sot) -\r\n (now.getTime() - this.state.refreshed) - this.state.clkErr\r\n , this.state.formConfig.ch[i].fmt)}{this.state.formConfig.ch[i].ntp}{this.ttpString(this.state.formConfig.ch[i].ttp)}
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n {this.passwordState()===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 }\r\n","import React, { Component, Fragment } from 'react';\r\nimport axios from \"axios\";\r\nimport ConfigForm from './ConfigForm';\r\nconst config = require('../config.json');\r\n\r\nexport default class Products extends Component {\r\n constructor(props) {\r\n super(props); \r\n var count = 0;\r\n if (this.props.auth.isAuthenticated && this.props.auth.user) {\r\n const groups = this.props.auth.user.signInUserSession.idToken.payload['cognito:groups']; \r\n if (groups) count = groups.length;\r\n }\r\n this.state = {\r\n groups: [],\r\n focusId : null,\r\n nGroups: count\r\n } \r\n }\r\n\r\n loseFocus() {\r\n this.setState({focusId: null});\r\n }\r\n \r\n setFocus= async (newFocus) => { \r\n this.setState({ focusId : newFocus });\r\n }\r\n\r\n diff(now) { \r\n const d = new Date();\r\n const n = d.getTime();\r\n const r = parseInt(now, 10);\r\n return (n - r) / 1000; // In seconds\r\n }\r\n\r\n diffString(now) { \r\n let diff = this.diff(now); \r\n let diffs = \"\"; \r\n if (diff < 60) {\r\n diffs = \"less than a minute\";\r\n } else {\r\n if (diff < 3600) {\r\n diffs = Math.round(diff/60).toString() + \" minute(s)\"\r\n } else {\r\n if (diff < 24*3600) {\r\n diffs = Math.round(diff/3600).toString() + \" hour(s)\"\r\n } else {\r\n if (diff < 365*24*3600) {\r\n diffs = Math.round(diff/(24*3600)).toString() + \" day(s)\"\r\n } else {\r\n diffs = \"over a year\"\r\n }\r\n }\r\n }\r\n }\r\n return diffs;\r\n }\r\n\r\n appendGroup = async (newGroup) => {\r\n const i = this.state.groups.findIndex(element => element.id === newGroup.id);\r\n let vGroups = []; \r\n if (i===-1) {\r\n vGroups = [...this.state.groups, newGroup];\r\n } else {\r\n vGroups = [...this.state.groups];\r\n vGroups[i] = newGroup;\r\n }\r\n // sort by name\r\n vGroups.sort(function(a, b) {\r\n var nameA = a.id.toUpperCase(); // ignore upper and lowercase\r\n var nameB = b.id.toUpperCase(); // ignore upper and lowercase\r\n if (nameA < nameB) {\r\n return -1;\r\n }\r\n if (nameA > nameB) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n this.setState({ groups: vGroups })\r\n } \r\n\r\n fetchProducts = async () => { \r\n if ((this.state.nGroups > 0) && this.props.auth.isAuthenticated && this.props.auth.user) {\r\n const groups = this.props.auth.user.signInUserSession.idToken.payload['cognito:groups']; \r\n groups.forEach(element => {\r\n const data = { \"group\" : element };\r\n axios\r\n .post(config.api.invokeUrl, data)\r\n .then((response) => {\r\n this.appendGroup({\r\n \"id\" :element,\r\n \"count\":response.data.Count,\r\n \"items\":response.data.Items\r\n });\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n });\r\n }\r\n }\r\n\r\n componentDidMount = () => {\r\n this.fetchProducts();\r\n setInterval(this.fetchProducts, 5000); // runs every 5 seconds\r\n }\r\n\r\n render() { \r\n return (\r\n
\r\n
\r\n {\r\n (this.props.auth.isAuthenticated && this.props.auth.user) \r\n ? \r\n \r\n

Welcome {this.props.auth.user.username}

\r\n
\r\n
\r\n
\r\n { \r\n this.state.groups && this.state.groups.length > 0\r\n ? this.state.groups.map(group => \r\n
\r\n

Group: { group.id }

\r\n { \r\n group.items && group.items.length > 0\r\n ? group.items.map(item => \r\n\r\n
\r\n {this.state.focusId && this.state.focusId === item.id \r\n ? \r\n \r\n \r\n
\r\n
\r\n

Last refreshed {this.diffString(item.refreshed)} ago {item.pending ? \". Pending change\" : \"\"}

\r\n
\r\n \r\n
\r\n
\r\n : }\r\n
\r\n )\r\n :

There are no timers in this group

\r\n \r\n }\r\n
\r\n )\r\n :
{\r\n this.state.nGroups > 0 ? `Loading... Please wait` : `You are not a member of any groups. Please contact your administrator`\r\n }
\r\n }\r\n
\r\n
\r\n
\r\n :
You are not logged in
\r\n }\r\n
\r\n
\r\n )\r\n }\r\n}\r\n","import React, { Component, Fragment } from 'react';\r\nimport axios from \"axios\";\r\nconst config = require('../config.json');\r\n\r\nexport default class Onboard extends Component {\r\n constructor(props) {\r\n super(props); \r\n var groups = [];\r\n if (this.props.auth.isAuthenticated && this.props.auth.user) {\r\n const cognitoGroups = this.props.auth.user.signInUserSession.idToken.payload['cognito:groups']; \r\n if (cognitoGroups) groups = cognitoGroups;\r\n }\r\n const group = (groups.length === 1) ? groups[0] : \"\";\r\n this.state = {\r\n groups : groups,\r\n name : \"\",\r\n group : group,\r\n groupWarn : false,\r\n nameWarn : false,\r\n uniqueWarn : false,\r\n tryResponse : \"\"\r\n } \r\n console.log(this.state);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n }\r\n\r\n makeTry = async (name, group) => { \r\n if (this.props.auth.isAuthenticated && this.props.auth.user) {\r\n const data = { \r\n \"tryName\" : name,\r\n \"tryGroup\" : group\r\n };\r\n axios\r\n .post(config.api.invokeUrl, data)\r\n .then((response) => {\r\n console.log(response.data);\r\n var message = response.data.message ? response.data.message : \"No response. Try again\";\r\n this.setState({\r\n tryResponse : message});\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n }\r\n\r\n handleSubmit(event) {\r\n this.setState({\r\n groupWarn : false,\r\n nameWarn : false\r\n });\r\n console.log(this.state);\r\n if (this.state.group === \"\") {\r\n this.setState({\r\n groupWarn : true\r\n });\r\n }\r\n if ((this.state.name.length <1)|(this.state.name.length >40)) {\r\n this.setState({\r\n nameWarn : true\r\n });\r\n } \r\n if(!this.state.groupWarn && !this.state.nameWarn) {\r\n console.log(\"Here!\");\r\n this.makeTry(this.state.name, this.state.group);\r\n }\r\n event.preventDefault();\r\n }\r\n\r\n handleChange(event) { // Always text\r\n const target = event.target;\r\n let value = target.value;\r\n const name = target.name;\r\n this.setState({[name]: value}); \r\n event.preventDefault();\r\n }\r\n\r\n render() { \r\n return (\r\n
\r\n
\r\n {\r\n (this.props.auth.isAuthenticated && this.props.auth.user) \r\n ? \r\n \r\n

Welcome {this.props.auth.user.username}

\r\n
\r\n {this.state.groups.length === 0 \r\n ?
You are not a member of any groups. Please contact your administrator
\r\n : (\r\n \r\n
\r\n

This page is used to onboard Timers that are not already registered

\r\n
\r\n {this.state.groups.length === 1\r\n ?

You are a member one group: {this.state.groups[0]}

\r\n : \r\n \r\n \r\n \r\n }\r\n {this.state.groupWarn \r\n ?

You must select the group you want the timer to belong to

\r\n :

\r\n }\r\n
\r\n \r\n \r\n
\r\n {this.state.nameWarn \r\n ?

You must choose a name with between 1 and 40 characters

\r\n :

\r\n }\r\n

Important: The Timer name must not be the same as any other in the group

\r\n
\r\n \r\n
\r\n {this.state.tryResponse.length > 0 \r\n ?

{this.state.tryResponse}

\r\n :

\r\n }\r\n
)\r\n } \r\n
\r\n :
You are not logged in
\r\n }\r\n
\r\n
\r\n )\r\n }\r\n}\r\n","import React, { Component, Fragment } from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\n\r\nexport default class ProductAdmin extends Component {\r\n\r\n state = {\r\n isEditMode: false,\r\n updatedproductname: this.props.name\r\n }\r\n\r\n handleProductEdit = event => {\r\n event.preventDefault();\r\n this.setState({ isEditMode: true });\r\n }\r\n\r\n handleEditSave = event => {\r\n event.preventDefault();\r\n this.setState({ isEditMode: false });\r\n this.props.handleUpdateProduct(this.props.id, this.state.updatedproductname);\r\n }\r\n\r\n onAddProductNameChange = event => this.setState({ \"updatedproductname\": event.target.value });\r\n\r\n render() {\r\n return (\r\n
\r\n {\r\n this.props.isAdmin && \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {\r\n this.state.isEditMode \r\n ?
\r\n

Edit product name

\r\n \r\n

id: { this.props.id }

\r\n \r\n
\r\n :
\r\n

{ this.props.name }

\r\n

id: { this.props.id }

\r\n
\r\n }\r\n
\r\n )\r\n }\r\n}\r\n","import React, { Component, Fragment } from 'react';\r\nimport Product from './Product';\r\nimport axios from \"axios\";\r\nconst config = require('../config.json');\r\n\r\nexport default class ProductAdmin extends Component {\r\n\r\n state = {\r\n newproduct: { \r\n \"productname\": \"\", \r\n \"id\": \"\"\r\n },\r\n products: []\r\n }\r\n\r\n handleAddProduct = async (id, event) => {\r\n event.preventDefault();\r\n // add call to AWS API Gateway add product endpoint here\r\n try {\r\n const params = {\r\n \"id\": id,\r\n \"productname\": this.state.newproduct.productname\r\n };\r\n await axios.post(`${config.api.invokeUrl}/products/${id}`, params);\r\n this.setState({ products: [...this.state.products, this.state.newproduct] });\r\n this.setState({ newproduct: { \"productname\": \"\", \"id\": \"\" }});\r\n }catch (err) {\r\n console.log(`An error has occurred: ${err}`);\r\n }\r\n }\r\n\r\n handleUpdateProduct = async (id, name) => {\r\n // add call to AWS API Gateway update product endpoint here\r\n try {\r\n const params = {\r\n \"id\": id,\r\n \"productname\": name\r\n };\r\n await axios.patch(`${config.api.invokeUrl}/products/${id}`, params);\r\n const productToUpdate = [...this.state.products].find(product => product.id === id);\r\n const updatedProducts = [...this.state.products].filter(product => product.id !== id);\r\n productToUpdate.productname = name;\r\n updatedProducts.push(productToUpdate);\r\n this.setState({products: updatedProducts});\r\n }catch (err) {\r\n console.log(`Error updating product: ${err}`);\r\n }\r\n }\r\n\r\n handleDeleteProduct = async (id, event) => {\r\n event.preventDefault();\r\n // add call to AWS API Gateway delete product endpoint here\r\n try {\r\n await axios.delete(`${config.api.invokeUrl}/products/${id}`);\r\n const updatedProducts = [...this.state.products].filter(product => product.id !== id);\r\n this.setState({products: updatedProducts});\r\n }catch (err) {\r\n console.log(`Unable to delete product: ${err}`);\r\n }\r\n }\r\n\r\n fetchProducts = async () => {\r\n // add call to AWS API Gateway to fetch products here\r\n // then set them in state\r\n try {\r\n const res = await axios.get(`${config.api.invokeUrl}/products`);\r\n const products = res.data;\r\n this.setState({ products: products });\r\n } catch (err) {\r\n console.log(`An error has occurred: ${err}`);\r\n }\r\n }\r\n\r\n onAddProductNameChange = event => this.setState({ newproduct: { ...this.state.newproduct, \"productname\": event.target.value } });\r\n onAddProductIdChange = event => this.setState({ newproduct: { ...this.state.newproduct, \"id\": event.target.value } });\r\n\r\n componentDidMount = () => {\r\n this.fetchProducts();\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n
\r\n
\r\n

Product Admin

\r\n

Add and remove products using the form below:

\r\n
\r\n
\r\n
\r\n
this.handleAddProduct(this.state.newproduct.id, event)}>\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 this.state.products.map((product, index) => \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","import React from \"react\";\r\n\r\nfunction FormErrors(props) {\r\n if (\r\n props.formerrors &&\r\n (props.formerrors.blankfield || props.formerrors.passwordmatch)\r\n ) {\r\n return (\r\n
\r\n
\r\n {props.formerrors.passwordmatch\r\n ? \"Password value does not match confirm password value\"\r\n : \"\"}\r\n
\r\n
\r\n {props.formerrors.blankfield ? \"All fields are required\" : \"\"}\r\n
\r\n
\r\n );\r\n } else if (props.apierrors) {\r\n return (\r\n
\r\n
{props.apierrors}
\r\n
\r\n );\r\n } else if (props.formerrors && props.formerrors.cognito) {\r\n return (\r\n
\r\n
\r\n {props.formerrors.cognito.message}\r\n
\r\n
\r\n );\r\n } else {\r\n return
;\r\n }\r\n}\r\n\r\nexport default FormErrors;","function validateForm(event, state) {\r\n // clear all error messages\r\n const inputs = document.getElementsByClassName(\"is-danger\");\r\n for (let i = 0; i < inputs.length; i++) {\r\n if (!inputs[i].classList.contains(\"error\")) {\r\n inputs[i].classList.remove(\"is-danger\");\r\n }\r\n }\r\n\r\n if (state.hasOwnProperty(\"username\") && state.username === \"\") {\r\n document.getElementById(\"username\").classList.add(\"is-danger\");\r\n return { blankfield: true };\r\n }\r\n if (state.hasOwnProperty(\"firstname\") && state.firstname === \"\") {\r\n document.getElementById(\"firstname\").classList.add(\"is-danger\");\r\n return { blankfield: true };\r\n }\r\n if (state.hasOwnProperty(\"lastname\") && state.lastname === \"\") {\r\n document.getElementById(\"lastname\").classList.add(\"is-danger\");\r\n return { blankfield: true };\r\n }\r\n if (state.hasOwnProperty(\"email\") && state.email === \"\") {\r\n document.getElementById(\"email\").classList.add(\"is-danger\");\r\n return { blankfield: true };\r\n }\r\n if (\r\n state.hasOwnProperty(\"verificationcode\") &&\r\n state.verificationcode === \"\"\r\n ) {\r\n document.getElementById(\"verificationcode\").classList.add(\"is-danger\");\r\n return { blankfield: true };\r\n }\r\n if (state.hasOwnProperty(\"password\") && state.password === \"\") {\r\n document.getElementById(\"password\").classList.add(\"is-danger\");\r\n return { blankfield: true };\r\n }\r\n if (state.hasOwnProperty(\"oldpassword\") && state.oldpassword === \"\") {\r\n document.getElementById(\"oldpassword\").classList.add(\"is-danger\");\r\n return { blankfield: true };\r\n }\r\n if (state.hasOwnProperty(\"newpassword\") && state.newpassword === \"\") {\r\n document.getElementById(\"newpassword\").classList.add(\"is-danger\");\r\n return { blankfield: true };\r\n }\r\n if (state.hasOwnProperty(\"confirmpassword\") && state.confirmpassword === \"\") {\r\n document.getElementById(\"confirmpassword\").classList.add(\"is-danger\");\r\n return { blankfield: true };\r\n }\r\n if (\r\n state.hasOwnProperty(\"password\") &&\r\n state.hasOwnProperty(\"confirmpassword\") &&\r\n state.password !== state.confirmpassword\r\n ) {\r\n document.getElementById(\"password\").classList.add(\"is-danger\");\r\n document.getElementById(\"confirmpassword\").classList.add(\"is-danger\");\r\n return { passwordmatch: true };\r\n }\r\n if (\r\n state.hasOwnProperty(\"newpassword\") &&\r\n state.hasOwnProperty(\"confirmpassword\") &&\r\n state.newpassword !== state.confirmpassword\r\n ) {\r\n document.getElementById(\"newpassword\").classList.add(\"is-danger\");\r\n document.getElementById(\"confirmpassword\").classList.add(\"is-danger\");\r\n return { passwordmatch: true };\r\n }\r\n return;\r\n}\r\n\r\nexport default validateForm;","import React, { Component } from 'react';\r\nimport FormErrors from \"../FormErrors\";\r\nimport Validate from \"../utility/FormValidation\";\r\nimport { Auth } from \"aws-amplify\";\r\n\r\nclass LogIn extends Component {\r\n state = {\r\n username: \"\",\r\n password: \"\",\r\n errors: {\r\n cognito: null,\r\n blankfield: false\r\n }\r\n };\r\n\r\n clearErrorState = () => {\r\n this.setState({\r\n errors: {\r\n cognito: null,\r\n blankfield: false\r\n }\r\n });\r\n };\r\n\r\n handleSubmit = async event => {\r\n event.preventDefault();\r\n\r\n // Form validation\r\n this.clearErrorState();\r\n const error = Validate(event, this.state);\r\n if (error) {\r\n this.setState({\r\n errors: { ...this.state.errors, ...error }\r\n });\r\n }\r\n\r\n // AWS Cognito integration here\r\n try {\r\n const user = await Auth.signIn(this.state.username, this.state.password);\r\n// console.log(user);\r\n this.props.auth.setAuthStatus(true);\r\n this.props.auth.setUser(user);\r\n this.props.history.push(\"/\");\r\n }catch(error) {\r\n let err = null;\r\n !error.message ? err = { \"message\": error } : err = error;\r\n this.setState({\r\n errors: {\r\n ...this.state.errors,\r\n cognito: err\r\n }\r\n });\r\n }\r\n };\r\n\r\n onInputChange = event => {\r\n this.setState({\r\n [event.target.id]: event.target.value\r\n });\r\n document.getElementById(event.target.id).classList.remove(\"is-danger\");\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n

Log in

\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 Forgot password?\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 LogIn;","import React, { Component } from 'react';\r\nimport FormErrors from \"../FormErrors\";\r\nimport Validate from \"../utility/FormValidation\";\r\nimport { Auth } from \"aws-amplify\";\r\n\r\nclass Register extends Component {\r\n state = {\r\n username: \"\",\r\n email: \"\",\r\n password: \"\",\r\n confirmpassword: \"\",\r\n errors: {\r\n cognito: null,\r\n blankfield: false,\r\n passwordmatch: false\r\n }\r\n }\r\n\r\n clearErrorState = () => {\r\n this.setState({\r\n errors: {\r\n cognito: null,\r\n blankfield: false,\r\n passwordmatch: false\r\n }\r\n });\r\n }\r\n\r\n handleSubmit = async event => {\r\n event.preventDefault();\r\n\r\n // Form validation\r\n this.clearErrorState();\r\n const error = Validate(event, this.state);\r\n if (error) {\r\n this.setState({\r\n errors: { ...this.state.errors, ...error }\r\n });\r\n }\r\n\r\n // AWS Cognito integration here\r\n const { username, email, password } = this.state;\r\n try {\r\n const signUpResponse = await Auth.signUp({\r\n username,\r\n password,\r\n attributes: {\r\n email: email\r\n }\r\n });\r\n this.props.history.push(\"/welcome\");\r\n console.log(signUpResponse);\r\n } catch (error) {\r\n let err = null;\r\n !error.message ? err = { \"message\": error } : err = error;\r\n this.setState({\r\n errors: {\r\n ...this.state.errors,\r\n cognito: err\r\n }\r\n });\r\n }\r\n }\r\n\r\n onInputChange = event => {\r\n this.setState({\r\n [event.target.id]: event.target.value\r\n });\r\n document.getElementById(event.target.id).classList.remove(\"is-danger\");\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n

Register

\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
\r\n
\r\n

\r\n Forgot password?\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 Register;","import React, { Component } from 'react';\r\nimport FormErrors from \"../FormErrors\";\r\nimport Validate from \"../utility/FormValidation\";\r\nimport { Auth } from 'aws-amplify';\r\n\r\nclass ForgotPassword extends Component {\r\n state = {\r\n email: \"\",\r\n errors: {\r\n cognito: null,\r\n blankfield: false\r\n }\r\n }\r\n\r\n clearErrorState = () => {\r\n this.setState({\r\n errors: {\r\n cognito: null,\r\n blankfield: false\r\n }\r\n });\r\n }\r\n\r\n forgotPasswordHandler = async event => {\r\n event.preventDefault();\r\n\r\n // Form validation\r\n this.clearErrorState();\r\n const error = Validate(event, this.state);\r\n if (error) {\r\n this.setState({\r\n errors: { ...this.state.errors, ...error }\r\n });\r\n }\r\n\r\n // AWS Cognito integration here\r\n try {\r\n await Auth.forgotPassword(this.state.email);\r\n this.props.history.push('/forgotpasswordverification');\r\n }catch(error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n onInputChange = event => {\r\n this.setState({\r\n [event.target.id]: event.target.value\r\n });\r\n document.getElementById(event.target.id).classList.remove(\"is-danger\");\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n

Forgot your password?

\r\n

\r\n Please enter the email address associated with your account and we'll\r\n email you a password reset link.\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 Forgot password?\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 ForgotPassword;","import React, { Component } from 'react';\r\nimport FormErrors from \"../FormErrors\";\r\nimport Validate from \"../utility/FormValidation\";\r\nimport { Auth } from 'aws-amplify';\r\n\r\nclass ForgotPasswordVerification extends Component {\r\n state = {\r\n verificationcode: \"\",\r\n email: \"\",\r\n newpassword: \"\",\r\n errors: {\r\n cognito: null,\r\n blankfield: false\r\n }\r\n };\r\n\r\n clearErrorState = () => {\r\n this.setState({\r\n errors: {\r\n cognito: null,\r\n blankfield: false\r\n }\r\n });\r\n };\r\n\r\n passwordVerificationHandler = async event => {\r\n event.preventDefault();\r\n\r\n // Form validation\r\n this.clearErrorState();\r\n const error = Validate(event, this.state);\r\n if (error) {\r\n this.setState({\r\n errors: { ...this.state.errors, ...error }\r\n });\r\n }\r\n\r\n // AWS Cognito integration here\r\n try {\r\n await Auth.forgotPasswordSubmit(\r\n this.state.email,\r\n this.state.verificationcode,\r\n this.state.newpassword\r\n );\r\n this.props.history.push(\"/changepasswordconfirmation\");\r\n }catch(error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n onInputChange = event => {\r\n this.setState({\r\n [event.target.id]: event.target.value\r\n });\r\n document.getElementById(event.target.id).classList.remove(\"is-danger\");\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n

Set new password

\r\n

\r\n Please enter the verification code sent to your email address below,\r\n your email address and a new password.\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
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ForgotPasswordVerification;","import React, { Component } from 'react';\r\nimport FormErrors from \"../FormErrors\";\r\nimport Validate from \"../utility/FormValidation\";\r\nimport { Auth } from 'aws-amplify';\r\n\r\nclass ChangePassword extends Component {\r\n state = {\r\n oldpassword: \"\",\r\n newpassword: \"\",\r\n confirmpassword: \"\",\r\n errors: {\r\n cognito: null,\r\n blankfield: false,\r\n passwordmatch: false\r\n }\r\n }\r\n\r\n clearErrorState = () => {\r\n this.setState({\r\n errors: {\r\n cognito: null,\r\n blankfield: false,\r\n passwordmatch: false\r\n }\r\n });\r\n }\r\n\r\n handleSubmit = async event => {\r\n event.preventDefault();\r\n\r\n // Form validation\r\n this.clearErrorState();\r\n const error = Validate(event, this.state);\r\n if (error) {\r\n this.setState({\r\n errors: { ...this.state.errors, ...error }\r\n });\r\n }\r\n\r\n // AWS Cognito integration here\r\n try {\r\n const user = await Auth.currentAuthenticatedUser();\r\n console.log(user);\r\n await Auth.changePassword(\r\n user,\r\n this.state.oldpassword,\r\n this.state.newpassword\r\n );\r\n this.props.history.push(\"/changepasswordconfirmation\");\r\n } catch (error) {\r\n let err = null;\r\n !error.message ? err = { \"message\": error } : err = error;\r\n this.setState({\r\n errors: { ...this.state.errors, cognito: err }\r\n });\r\n console.log(err);\r\n }\r\n }\r\n\r\n onInputChange = event => {\r\n this.setState({\r\n [event.target.id]: event.target.value\r\n });\r\n document.getElementById(event.target.id).classList.remove(\"is-danger\");\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n

Change Password

\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 Forgot password?\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 ChangePassword;","import React, { Component } from \"react\";\r\n\r\nclass ChangePasswordConfirmation extends Component {\r\n render() {\r\n return (\r\n
\r\n
\r\n

Change Password

\r\n

Your password has been successfully updated!

\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ChangePasswordConfirmation;","import React from 'react';\r\n\r\nexport default function Welcome() {\r\n return (\r\n
\r\n
\r\n

Welcome!

\r\n

You have successfully registered a new account.

\r\n

We've sent you a email. Please click on the confirmation link to verify your account.

\r\n
\r\n
\r\n )\r\n}\r\n","import React from 'react'\r\n\r\nexport default function Footer() {\r\n return (\r\n \r\n )\r\n}\r\n","import React, { Component } from 'react';\r\nimport { BrowserRouter as Router, Route, Switch } from 'react-router-dom';\r\nimport './App.css';\r\nimport Navbar from './components/Navbar';\r\nimport Home from './components/Home';\r\nimport Products from './components/Products';\r\nimport Onboard from './components/Onboard';\r\nimport ProductAdmin from './components/ProductAdmin';\r\nimport LogIn from './components/auth/LogIn';\r\nimport Register from './components/auth/Register';\r\nimport ForgotPassword from './components/auth/ForgotPassword';\r\nimport ForgotPasswordVerification from './components/auth/ForgotPasswordVerification';\r\nimport ChangePassword from './components/auth/ChangePassword';\r\nimport ChangePasswordConfirm from './components/auth/ChangePasswordConfirm';\r\nimport Welcome from './components/auth/Welcome';\r\nimport Footer from './components/Footer';\r\nimport { Auth } from 'aws-amplify';\r\nimport { library } from '@fortawesome/fontawesome-svg-core';\r\nimport { faEdit } from '@fortawesome/free-solid-svg-icons';\r\nlibrary.add(faEdit);\r\n\r\nclass App extends Component {\r\n\r\n state = {\r\n isAuthenticated: false,\r\n isAuthenticating: true,\r\n user: null\r\n }\r\n\r\n setAuthStatus = authenticated => {\r\n this.setState({ isAuthenticated: authenticated });\r\n }\r\n\r\n setUser = user => {\r\n this.setState({ user: user });\r\n }\r\n\r\n async componentDidMount() {\r\n try {\r\n// const session = await Auth.currentSession();\r\n this.setAuthStatus(true);\r\n// console.log(session);\r\n const user = await Auth.currentAuthenticatedUser();\r\n this.setUser(user);\r\n } catch(error) {\r\n if (error !== 'No current user') {\r\n console.log(error);\r\n }\r\n }\r\n \r\n this.setState({ isAuthenticating: false });\r\n }\r\n\r\n render() {\r\n const authProps = {\r\n isAuthenticated: this.state.isAuthenticated,\r\n user: this.state.user,\r\n setAuthStatus: this.setAuthStatus,\r\n setUser: this.setUser\r\n }\r\n return (\r\n !this.state.isAuthenticating &&\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 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 http://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 http://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 http://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 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 React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport 'bulma/css/bulma.min.css';\r\nimport './index.css';\r\nimport App from './App';\r\nimport Amplify from \"aws-amplify\";\r\nimport config from \"./config\";\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\nAmplify.configure({\r\n Auth: {\r\n mandatorySignIn: true,\r\n region: config.cognito.REGION,\r\n userPoolId: config.cognito.USER_POOL_ID,\r\n userPoolWebClientId: config.cognito.APP_CLIENT_ID\r\n }\r\n});\r\n\r\nReactDOM.render(, document.getElementById('root'));\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: http://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}