Handle EQ toggle in action creator

This commit is contained in:
Jordan Eldredge 2017-04-26 19:55:23 -07:00
parent a4370f3ffa
commit ca040ebc29
4 changed files with 21 additions and 11 deletions

View file

@ -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 });
};
}

View file

@ -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";

View file

@ -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 <div id="on" className={className} onClick={props.toggleOn} />;
return <div id="on" className={className} onClick={props.toggleEq} />;
};
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);

View file

@ -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: