about summary refs log tree commit diff
path: root/app/javascript/flavours/glitch/reducers/modal.js
blob: 52b05d69be7d766351d1fc97818f7cd5a691b27c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import { MODAL_OPEN, MODAL_CLOSE } from 'flavours/glitch/actions/modal';
import { TIMELINE_DELETE } from 'flavours/glitch/actions/timelines';

const initialState = {
  modalType: null,
  modalProps: {},
};

export default function modal(state = initialState, action) {
  switch(action.type) {
  case MODAL_OPEN:
    return { modalType: action.modalType, modalProps: action.modalProps };
  case MODAL_CLOSE:
    return (action.modalType === undefined || action.modalType === state.modalType) ? initialState : state;
  case TIMELINE_DELETE:
    return (state.modalProps.statusId === action.id) ? initialState : state;
  default:
    return state;
  }
};