about summary refs log tree commit diff
path: root/app/javascript/mastodon/reducers/modal.js
blob: cb53887c749e0c189e099b023d53ff23b67c3c46 (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 '../actions/modal';
import { TIMELINE_DELETE } from '../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;
  }
};