import React, { Component } from "react"; import { bindActionCreators } from "redux"; import PropTypes from "prop-types"; import { connect } from "react-redux"; import { actionCreators as volumeActionCreators } from "ducks/volume"; @connect(state => ({ volume: state.volume.get("loudness"), muted: state.volume.get("muted"), }), (dispatch) => ({ onVolumeLoudnessChange: bindActionCreators(volumeActionCreators.changeVolumeLoudness, dispatch), onVolumeMute: bindActionCreators(volumeActionCreators.muteVolume, dispatch), onVolumeUnmute: bindActionCreators(volumeActionCreators.unmuteVolume, dispatch), })) export default class VolumeSlider extends Component { constructor(props) { super(props); } changeVolumeHandler = (loudness) => { loudness = loudness / 100; localStorage.setItem("volume", loudness); this.props.onVolumeLoudnessChange(loudness); }; muteVolume = () => { localStorage.setItem("muted", true); this.props.onVolumeMute(); }; unmuteVolume = () => { localStorage.setItem("muted", false); this.props.onVolumeUnmute(); }; render() { return (
{ (this.props.muted) ? ([ volume_off, , ]) : ([ volume_up, { this.changeVolumeHandler(e.target.value) } }/>, //Add default value ]) }
); } }