UNPKG

nyg-static-jam3

Version:

Jam3 frontend static project scaffold generator based on nyg

57 lines (48 loc) 1.28 kB
import keys from '../keys'; import layout from '../../util/layout'; import { isNode } from '../../config'; const defaultState = { windowSize: { width: !isNode && window.innerWidth, height: !isNode && window.innerHeight }, previousRoute: null, layout: layout.all }; // Reducers export function windowSizeReducer(state = defaultState.windowSize, { type, windowSize }) { return type === keys.SET_WINDOW_SIZE ? windowSize : state; } export function previousRouteReducer(state = defaultState.previousRoute, { type, previousRoute }) { return type === keys.SET_PREV_ROUTE ? previousRoute : state; } export function layoutReducer(state = defaultState.layout, { type, layout }) { return type === keys.SET_LAYOUT && Boolean(Object.keys(layout).filter(key => state[key] !== layout[key]).length) ? layout : state; } // Action Creator export function setWindowSize(windowSize) { return { type: keys.SET_WINDOW_SIZE, windowSize }; } export function setPreviousRoute(previousRoute) { return { type: keys.SET_PREV_ROUTE, previousRoute }; } export function setLayout(layout) { return { type: keys.SET_LAYOUT, layout }; } export function batchActions(actions) { return { type: keys.BATCH_ACTIONS, actions }; }