diff --git a/js/components/EqualizerWindow/EqAuto.js b/js/components/EqualizerWindow/EqAuto.js index ff661b76..04e55946 100644 --- a/js/components/EqualizerWindow/EqAuto.js +++ b/js/components/EqualizerWindow/EqAuto.js @@ -16,4 +16,7 @@ const toggleAuto = () => (dispatch, getState) => { }; const mapDispatchToProps = { toggleAuto }; -export default connect(state => state.equalizer, mapDispatchToProps)(EqAuto); +export default connect( + state => ({ toggleAuto: state.equalizer.toggleAuto }), + mapDispatchToProps +)(EqAuto); diff --git a/js/components/EqualizerWindow/EqualizerShade.js b/js/components/EqualizerWindow/EqualizerShade.js new file mode 100644 index 00000000..53df5e82 --- /dev/null +++ b/js/components/EqualizerWindow/EqualizerShade.js @@ -0,0 +1,38 @@ +import React from "react"; +import { connect } from "react-redux"; +import Volume from "../Volume"; +import Balance from "../Balance"; +import { segment } from "../../utils"; + +import { + closeEqualizerWindow, + toggleEqualizerShadeMode +} from "../../actionCreators"; + +const EqualizerShade = props => { + const { volume, balance } = props; + + const classes = ["left", "center", "right"]; + const eqVolumeClassName = segment(0, 100, volume, classes); + const eqBalanceClassName = segment(-100, 100, balance, classes); + return ( +
+
+
+ + +
+ ); +}; + +const mapDispatchToProps = { + closeEqualizerWindow, + toggleEqualizerShadeMode +}; + +const mapStateToProps = state => ({ + volume: state.media.volume, + balance: state.media.balance +}); + +export default connect(mapStateToProps, mapDispatchToProps)(EqualizerShade); diff --git a/js/components/EqualizerWindow/index.js b/js/components/EqualizerWindow/index.js index e3cd4cf9..66d23086 100644 --- a/js/components/EqualizerWindow/index.js +++ b/js/components/EqualizerWindow/index.js @@ -2,9 +2,6 @@ import React from "react"; import PropTypes from "prop-types"; import { connect } from "react-redux"; import classnames from "classnames"; -import Volume from "../Volume"; -import Balance from "../Balance"; -import { segment } from "../../utils"; import { BANDS, WINDOWS } from "../../constants"; import { @@ -24,13 +21,14 @@ import EqOn from "./EqOn"; import EqAuto from "./EqAuto"; import EqGraph from "./EqGraph"; import PresetsContextMenu from "./PresetsContextMenu"; +import EqualizerShade from "./EqualizerShade"; import "../../../css/equalizer-window.css"; const bandClassName = band => `band-${band}`; const EqualizerWindow = props => { - const { doubled, selected, volume, balance, shade } = props; + const { doubled, selected, shade } = props; const className = classnames({ selected, @@ -39,10 +37,6 @@ const EqualizerWindow = props => { window: true, draggable: true }); - - const classes = ["left", "center", "right"]; - const eqVolumeClassName = segment(0, 100, volume, classes); - const eqBalanceClassName = segment(-100, 100, balance, classes); return (
{ onMouseDown={props.focusWindow} > {props.shade ? ( -
-
-
- - -
+ ) : (
@@ -108,9 +97,7 @@ const mapDispatchToProps = dispatch => ({ const mapStateToProps = state => ({ doubled: state.display.doubled, selected: state.windows.focused === WINDOWS.EQUALIZER, - shade: state.display.equalizerShade, - volume: state.media.volume, - balance: state.media.balance + shade: state.display.equalizerShade }); export default connect(mapStateToProps, mapDispatchToProps)(EqualizerWindow);