summaryrefslogtreecommitdiff
path: root/animism-align/frontend/app/views/viewer/viewer.reducer.js
blob: 73a961f630fcc3abffbe24037649e0eb567f1086 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import * as types from 'app/types'

const initialState = {
  transcript: false,
  checklist: false,
  nav: false,
  sections: { loading: true },
  fullscreenTimeline: [],
  currentSection: null,
  options: {
  }
}

export default function viewerReducer(state = initialState, action) {
  // console.log(action.type, action)
  switch (action.type) {
    case types.viewer.toggle_component:
      return {
        ...state,
        [action.key]: action.value,
      }

    case types.viewer.load_sections:
      return {
        ...state,
        sections: action.sections,
        fullscreenTimeline: action.fullscreenTimeline,
      }

    case types.viewer.set_current_section:
      return {
        ...state,
        currentSection: action.section,
      }

    default:
      return state
  }
}