diff --git a/js/actionCreators.js b/js/actionCreators.js index 6839dcba..678e6493 100644 --- a/js/actionCreators.js +++ b/js/actionCreators.js @@ -16,7 +16,9 @@ import { START_LOADING, STOP, TOGGLE_REPEAT, - TOGGLE_SHUFFLE + TOGGLE_SHUFFLE, + SET_EQ_ON, + SET_EQ_OFF } from "./actionTypes"; export function play() { @@ -120,7 +122,8 @@ export function setSkinFromFile(skinFile) { skinImages: skinData.images, skinColors: skinData.colors, skinPlaylistStyle: skinData.playlistStyle - })); + }) + ); }; } @@ -181,3 +184,11 @@ export function setPreamp(value) { value }; } + +export function toggleEq() { + return (dispatch, getState) => { + console.log("ho"); + const type = getState().equalizer.on ? SET_EQ_OFF : SET_EQ_ON; + dispatch({ type }); + }; +} diff --git a/js/actionTypes.js b/js/actionTypes.js index 6d17ec72..1acde8a7 100644 --- a/js/actionTypes.js +++ b/js/actionTypes.js @@ -26,6 +26,7 @@ export const TOGGLE_DOUBLESIZE_MODE = "TOGGLE_DOUBLESIZE_MODE"; export const TOGGLE_EQUALIZER_WINDOW = "TOGGLE_EQUALIZER_WINDOW"; export const SET_EQ_AUTO = "SET_EQ_AUTO"; export const SET_EQ_ON = "SET_EQ_ON"; +export const SET_EQ_OFF = "SET_EQ_OFF"; export const TOGGLE_LLAMA_MODE = "TOGGLE_LLAMA_MODE"; export const TOGGLE_REPEAT = "TOGGLE_REPEAT"; export const TOGGLE_SHADE_MODE = "TOGGLE_SHADE_MODE"; diff --git a/js/components/EqOn.js b/js/components/EqOn.js index ab3e1cea..2b89ac6e 100644 --- a/js/components/EqOn.js +++ b/js/components/EqOn.js @@ -2,18 +2,13 @@ import React from "react"; import { connect } from "react-redux"; import classnames from "classnames"; -import { SET_EQ_ON } from "../actionTypes"; +import { toggleEq } from "../actionCreators"; const EqOn = props => { const className = classnames({ selected: props.on }); - return
; + return ; }; -const toggleOn = () => (dispatch, getState) => { - dispatch({ type: SET_EQ_ON, value: !getState().equalizer.on }); -}; - -const mapDispatchToProps = { toggleOn }; -export default connect(state => state.equalizer, mapDispatchToProps)(EqOn); +export default connect(state => state.equalizer, { toggleEq })(EqOn); diff --git a/js/reducers.js b/js/reducers.js index 998152b0..a8895823 100644 --- a/js/reducers.js +++ b/js/reducers.js @@ -20,6 +20,7 @@ import { TOGGLE_EQUALIZER_WINDOW, SET_EQ_AUTO, SET_EQ_ON, + SET_EQ_OFF, TOGGLE_LLAMA_MODE, TOGGLE_REPEAT, TOGGLE_SHADE_MODE, @@ -154,7 +155,9 @@ const equalizer = (state, action) => { newSliders[action.band] = action.value; return { ...state, sliders: newSliders }; case SET_EQ_ON: - return { ...state, on: action.value }; + return { ...state, on: true }; + case SET_EQ_OFF: + return { ...state, on: false }; case SET_EQ_AUTO: return { ...state, auto: action.value }; default: