1234567891011121314151617181920212223242526272829303132333435 |
- import { Map } from "immutable";
- import {
- INITIALIZE,
- CHANGE_VOLUME,
- CHANGE_VOLUME_MUTED,
- } from "actions/volume";
- const initialState = Map({
- volume: 0,
- muted: false, //TODO Store muted and initialize it
- });
- const actionsMap = {
- [INITIALIZE]: (state, action) => {
- return state.merge({
- volume: action.volume,
- });
- },
- [CHANGE_VOLUME]: (state, action) => {
- return state.merge({
- volume: action.volume,
- });
- },
- [CHANGE_VOLUME_MUTED]: (state, action) => {
- return state.merge({
- muted: action.muted,
- });
- },
- };
- export default function reducer(state = initialState, action = {}) {
- const fn = actionsMap[action.type];
- return fn ? fn(state, action) : state;
- }
|