diff --git a/smart-hut/src/components/dashboard/devices/Curtain.js b/smart-hut/src/components/dashboard/devices/Curtain.js index 322e43c..6d102d8 100644 --- a/smart-hut/src/components/dashboard/devices/Curtain.js +++ b/smart-hut/src/components/dashboard/devices/Curtain.js @@ -4,116 +4,123 @@ import { RemoteService } from "../../../remote"; import { connect } from "react-redux"; class Curtain extends Component { - constructor(props) { - super(props); - this.state = { intensity: this.props.stateOrDevice.intensity, timeout: null }; - - this.setIntensity = this.setIntensity.bind(this); - } - - //getters - get turnedOn() { - return this.props.stateOrDevice.on; - } - - get intensity() { - return this.props.stateOrDevice.intensity || 0; - } - - onClickDevice = () => { - const on = !this.turnedOn; - if(this.props.tab==="Devices"){ - this.props - .saveDevice({ ...this.props.stateOrDevice, on }) - .catch((err) => console.error("curtains update error", err)); - }else{ - this.props.updateState({ id: this.props.sceneState.id, on: on },this.props.sceneState.kind); - } + constructor(props) { + super(props); + this.state = { + intensity: this.props.stateOrDevice.intensity, + timeout: null, }; - setIntensity(intensity) { - intensity *= 100; + this.setIntensity = this.setIntensity.bind(this); + } - if (this.state.timeout) { - clearTimeout(this.state.timeout); - } + //getters + get turnedOn() { + return this.props.stateOrDevice.on; + } - this.setState({ - intensity, - timeout: setTimeout(() => { - this.saveIntensity(); - this.setState({ - intensity: this.state.intensity, - timeout: null, - }); - }, 100), - }); + get intensity() { + return this.props.stateOrDevice.intensity || 0; + } + + onClickDevice = () => { + const on = !this.turnedOn; + if (this.props.tab === "Devices") { + this.props + .saveDevice({ ...this.props.stateOrDevice, on }) + .catch((err) => console.error("curtains update error", err)); + } else { + this.props.updateState( + { id: this.props.sceneState.id, on: on }, + this.props.sceneState.kind + ); + } + }; + + setIntensity(intensity) { + intensity *= 100; + + if (this.state.timeout) { + clearTimeout(this.state.timeout); } - saveIntensity = () => { - const intensity = Math.round(this.state.intensity); - if(this.props.tab==="Devices"){ - this.props - .saveDevice({ ...this.props.stateOrDevice, intensity }) - .catch((err) => console.error("curtain update error", err)); - }else{ - this.props.updateState({ id: this.props.sceneState.id, intensity: intensity },this.props.sceneState.kind); - } - }; - - helper = () => { - if (this.props.device.intensity >= 90) { - this.setIntensity(1); - this.saveIntensity(); - } else { - this.setIntensity(this.props.stateOrDevice.intensity / 100 + 0.1); - this.saveIntensity(); - } - }; - - - ///*this took me way too much more time than it should have*/ - - handleChange = (a) => { - this.setIntensity(a.target.value / 100); + this.setState({ + intensity, + timeout: setTimeout(() => { this.saveIntensity(); - }; + this.setState({ + intensity: this.state.intensity, + timeout: null, + }); + }, 100), + }); + } - render() { - return ( -