mirror of
https://github.com/captbaritone/webamp.git
synced 2026-07-21 09:09:01 +00:00
Handle toggle in action creators.
This commit is contained in:
parent
7ba3c15134
commit
d0a6ce6d7f
4 changed files with 32 additions and 44 deletions
|
|
@ -24,8 +24,8 @@ export const STOP_WORKING = "STOP_WORKING";
|
|||
export const TOGGLE_CONTEXT_MENU = "TOGGLE_CONTEXT_MENU";
|
||||
export const TOGGLE_DOUBLESIZE_MODE = "TOGGLE_DOUBLESIZE_MODE";
|
||||
export const TOGGLE_EQUALIZER_WINDOW = "TOGGLE_EQUALIZER_WINDOW";
|
||||
export const TOGGLE_EQ_AUTO = "TOGGLE_EQ_AUTO";
|
||||
export const TOGGLE_EQ_ON = "TOGGLE_EQ_ON";
|
||||
export const SET_EQ_AUTO = "SET_EQ_AUTO";
|
||||
export const SET_EQ_ON = "SET_EQ_ON";
|
||||
export const TOGGLE_LLAMA_MODE = "TOGGLE_LLAMA_MODE";
|
||||
export const TOGGLE_REPEAT = "TOGGLE_REPEAT";
|
||||
export const TOGGLE_SHADE_MODE = "TOGGLE_SHADE_MODE";
|
||||
|
|
|
|||
|
|
@ -2,24 +2,18 @@ import React from "react";
|
|||
import { connect } from "react-redux";
|
||||
import classnames from "classnames";
|
||||
|
||||
import { TOGGLE_EQ_AUTO } from "../actionTypes";
|
||||
import { SET_EQ_AUTO } from "../actionTypes";
|
||||
|
||||
class EqAuto extends React.Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.handleClick = this.handleClick.bind(this);
|
||||
}
|
||||
const EqAuto = props => {
|
||||
const className = classnames({
|
||||
selected: props.auto
|
||||
});
|
||||
return <div id="auto" className={className} onClick={props.toggleAuto} />;
|
||||
};
|
||||
|
||||
handleClick() {
|
||||
this.props.dispatch({ type: TOGGLE_EQ_AUTO });
|
||||
}
|
||||
const toggleAuto = () => (dispatch, getState) => {
|
||||
dispatch({ type: SET_EQ_AUTO, value: !getState().equalizer.auto });
|
||||
};
|
||||
|
||||
render() {
|
||||
const className = classnames({
|
||||
selected: this.props.auto
|
||||
});
|
||||
return <div id="auto" className={className} onClick={this.handleClick} />;
|
||||
}
|
||||
}
|
||||
|
||||
export default connect(state => state.equalizer)(EqAuto);
|
||||
const mapDispatchToProps = { toggleAuto };
|
||||
export default connect(state => state.equalizer, mapDispatchToProps)(EqAuto);
|
||||
|
|
|
|||
|
|
@ -2,24 +2,18 @@ import React from "react";
|
|||
import { connect } from "react-redux";
|
||||
import classnames from "classnames";
|
||||
|
||||
import { TOGGLE_EQ_ON } from "../actionTypes";
|
||||
import { SET_EQ_ON } from "../actionTypes";
|
||||
|
||||
class EqOn extends React.Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.handleClick = this.handleClick.bind(this);
|
||||
}
|
||||
const EqOn = props => {
|
||||
const className = classnames({
|
||||
selected: props.on
|
||||
});
|
||||
return <div id="on" className={className} onClick={props.toggleOn} />;
|
||||
};
|
||||
|
||||
handleClick() {
|
||||
this.props.dispatch({ type: TOGGLE_EQ_ON });
|
||||
}
|
||||
const toggleOn = () => (dispatch, getState) => {
|
||||
dispatch({ type: SET_EQ_ON, value: !getState().equalizer.on });
|
||||
};
|
||||
|
||||
render() {
|
||||
const className = classnames({
|
||||
selected: this.props.on
|
||||
});
|
||||
return <div id="on" className={className} onClick={this.handleClick} />;
|
||||
}
|
||||
}
|
||||
|
||||
export default connect(state => state.equalizer)(EqOn);
|
||||
const mapDispatchToProps = { toggleOn };
|
||||
export default connect(state => state.equalizer, mapDispatchToProps)(EqOn);
|
||||
|
|
|
|||
|
|
@ -18,8 +18,8 @@ import {
|
|||
TOGGLE_CONTEXT_MENU,
|
||||
TOGGLE_DOUBLESIZE_MODE,
|
||||
TOGGLE_EQUALIZER_WINDOW,
|
||||
TOGGLE_EQ_AUTO,
|
||||
TOGGLE_EQ_ON,
|
||||
SET_EQ_AUTO,
|
||||
SET_EQ_ON,
|
||||
TOGGLE_LLAMA_MODE,
|
||||
TOGGLE_REPEAT,
|
||||
TOGGLE_SHADE_MODE,
|
||||
|
|
@ -153,10 +153,10 @@ const equalizer = (state, action) => {
|
|||
const newSliders = { ...state.sliders };
|
||||
newSliders[action.band] = action.value;
|
||||
return { ...state, sliders: newSliders };
|
||||
case TOGGLE_EQ_ON:
|
||||
return { ...state, on: !state.on };
|
||||
case TOGGLE_EQ_AUTO:
|
||||
return { ...state, auto: !state.auto };
|
||||
case SET_EQ_ON:
|
||||
return { ...state, on: action.value };
|
||||
case SET_EQ_AUTO:
|
||||
return { ...state, auto: action.value };
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue