import * as types from 'app/types' // import { session, getDefault, getDefaultInt } from 'app/session' const initialState = { timeline: { cursor_ts: -1, cursor_region: null, start_ts: 0, zoom: 1, duration: 0, selected_annotation_id: -1, selected_paragraph_id: -1, }, peaks: { loading: true }, text: { loading: true }, annotation: {}, selectedAnnotation: {}, options: { }, } export default function alignReducer(state = initialState, action) { // console.log(action.type, action) switch (action.type) { case types.peaks.loaded: // console.log('peaks duration:', action.data.length / 10) return { ...state, peaks: action.data, } case types.text.loaded: return { ...state, text: action.data, } case types.align.set_display_setting: return { ...state, timeline: { ...state.timeline, [action.key]: action.value, } } case types.align.set_selected_annotation: return { ...state, timeline: { ...state.timeline, selected_annotation_id: action.data.id, }, selectedAnnotation: action.data, } case types.align.clear_selected_annotation: return { ...state, timeline: { ...state.timeline, selected_annotation_id: -1, }, selectedAnnotation: {}, } case types.align.set_temporary_annotation: return { ...state, annotation: action.data, } case types.align.update_temporary_annotation: return { ...state, annotation: { ...state.annotation, [action.key]: action.value, } } case types.align.update_temporary_annotation_settings: return { ...state, annotation: { ...state.annotation, settings: { ...state.annotation.settings, [action.key]: action.value, } } } default: return state } }