{"version":3,"sources":["Water.js","App.js","reportWebVitals.js","index.js"],"names":["Water","props","runWater","bind","handleClickWater10Sec","handleClickWater20Sec","handleClickWater30Sec","handleClickWater40Sec","tick","state","status","lastTick","temp","this","setState","fetch","then","res","json","data","running","timer","setInterval","clearInterval","interval","second","http","XMLHttpRequest","url","open","setRequestHeader","onreadystatechange","readyState","alert","responseText","send","e","preventDefault","buttonDisabled","waterText","i","class","style","color","Container","fluid","Row","className","Col","Image","width","src","roundedCircle","padding","ButtonGroup","aria-label","block","Button","variant","onClick","disabled","React","Component","App","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode","document","getElementById"],"mappings":"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","file":"static/js/main.34bb1a5f.chunk.js","sourcesContent":["import React from 'react';\nimport Button from 'react-bootstrap/Button';\nimport ButtonGroup from 'react-bootstrap/ButtonGroup';\nimport Image from 'react-bootstrap/Image';\nimport Container from 'react-bootstrap/Container';\nimport Row from 'react-bootstrap/Row';\nimport Col from 'react-bootstrap/Col';\n\nclass Water extends React.Component {\n constructor(props) {\n super(props);\n this.runWater = this.runWater.bind(this);\n this.handleClickWater10Sec = this.handleClickWater10Sec.bind(this);\n this.handleClickWater20Sec = this.handleClickWater20Sec.bind(this);\n this.handleClickWater30Sec = this.handleClickWater30Sec.bind(this);\n this.handleClickWater40Sec = this.handleClickWater40Sec.bind(this);\n this.tick = this.tick.bind(this);\n this.state = { status: false, lastTick: 0 };\n }\n \n tick() {\n let temp = this.state.lastTick + 1;\n if(temp > 3)\n {\n temp = 0;\n }\n this.setState(state => ({lastTick: temp}));\n\n fetch('https://vaxthus.shizzle.dev/water').then(res => res.json()).then(data => {\n this.setState(state => ({status: data.running}));});\n }\n \n componentDidMount() {\n this.timer = setInterval(this.tick,1000);\n }\n \n componentWillUnmount() {\n clearInterval(this.interval);\n }\n \n runWater(second) {\n var http = new XMLHttpRequest();\n var url = \"https://vaxthus.shizzle.dev/water/\" + second;\n var params = \"\";\n http.open(\"POST\", url, true);\n http.setRequestHeader(\"Content-type\", \"application/x-www-form-urlencoded\");\n\n http.onreadystatechange = function() {\n if(http.readyState === 4 && http.status === 200) {\n alert(http.responseText);\n }\n }\n http.send(params);\n this.setState(state => ({status: true}));\n }\n\n handleClickWater10Sec(e) {\n e.preventDefault();\n this.runWater(10);\n }\n\n handleClickWater20Sec(e) {\n e.preventDefault();\n this.runWater(20);\n }\n\n handleClickWater30Sec(e) {\n e.preventDefault();\n this.runWater(30);\n }\n\n handleClickWater40Sec(e) {\n e.preventDefault();\n this.runWater(40);\n }\n\n render() {\n let status;\n let buttonDisabled;\n let waterText = \"\";\n\n for(let i = 0; i < this.state.lastTick; i++)\n {\n waterText += \".\";\n }\n\n switch(this.state.lastTick)\n {\n case 0:\n waterText = '◴';\n break;\n case 1:\n waterText = '◷';\n break; \n case 2:\n waterText = '◶';\n break; \n case 3:\n waterText = '◵';\n break; \n default:\n waterText = '.' \n }\n \n\n waterText = \"Irrigation in progress \" + waterText;\n\n if (this.state.status)\n {\n status = ;\n buttonDisabled = true;\n }\n else\n {\n status = ;\n buttonDisabled = false;\n }\n return (\n \n \n \n \n \n \n \n \n {!buttonDisabled && (\n \n \n \n \n \n \n )} \n {buttonDisabled && (\n \n )} \n \n \n \n \n {status}\n \n \n \n\n );\n }\n }\n\n export default Water","import './App.css';\nimport Water from './Water'\n\nfunction App() {\n return (\n
\n
\n

Stadsskogsgatan irrigation system

\n \n
\n
\n );\n}\n\nexport default App;\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\nimport 'bootstrap/dist/css/bootstrap.min.css';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}