about summary refs log tree commit diff
path: root/app/javascript/flavours/glitch/reducers/picture_in_picture.js
blob: 13a3d1aa2ae588a2d1f4660a5f34e69ae3235a2d (plain) (blame)
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
import { PICTURE_IN_PICTURE_DEPLOY, PICTURE_IN_PICTURE_REMOVE } from 'flavours/glitch/actions/picture_in_picture';
import { TIMELINE_DELETE } from 'flavours/glitch/actions/timelines';

const initialState = {
  statusId: null,
  accountId: null,
  type: null,
  src: null,
  muted: false,
  volume: 0,
  currentTime: 0,
};

export default function pictureInPicture(state = initialState, action) {
  switch(action.type) {
  case PICTURE_IN_PICTURE_DEPLOY:
    return { statusId: action.statusId, accountId: action.accountId, type: action.playerType, ...action.props };
  case PICTURE_IN_PICTURE_REMOVE:
    return { ...initialState };
  case TIMELINE_DELETE:
    return (state.statusId === action.id) ? { ...initialState } : state;
  default:
    return state;
  }
};