]> git.localhorst.tv Git - alttp.git/blob - resources/js/helpers/Episode.js
option to invert event filter
[alttp.git] / resources / js / helpers / Episode.js
1 export const acceptsComms = episode => {
2         if (!episode || !episode.channels) return false;
3         return !!episode.channels.find(c => c.pivot && c.pivot.accept_comms);
4 };
5
6 export const acceptsTrackers = episode => {
7         if (!episode || !episode.channels) return false;
8         return !!episode.channels.find(c => c.pivot && c.pivot.accept_tracker);
9 };
10
11 export const acceptsCrew = episode => {
12         if (!episode || !episode.channels) return false;
13         return !!episode.channels.find(c =>
14                 c.pivot && (c.pivot.accept_comms || c.pivot.accept_tracker));
15 };
16
17 export const isEventSelected = (filter, event) => {
18         return (filter.event || []).includes(event.id);
19 };
20
21 export const toggleEventFilter = (events, filter, event) => {
22         const eventFilter = filter.event || [];
23         if (eventFilter.includes(event.id)) {
24                 return {
25                         ...filter,
26                         event: eventFilter.filter(id => id !== event.id && events.find(e => e.id === id)),
27                 };
28         }
29         return {
30                 ...filter,
31                 event: [...eventFilter, event.id],
32         };
33 };