diff options
Diffstat (limited to 'app/javascript/themes/glitch/actions/streaming.js')
-rw-r--r-- | app/javascript/themes/glitch/actions/streaming.js | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/app/javascript/themes/glitch/actions/streaming.js b/app/javascript/themes/glitch/actions/streaming.js deleted file mode 100644 index ccf6c27d8..000000000 --- a/app/javascript/themes/glitch/actions/streaming.js +++ /dev/null @@ -1,54 +0,0 @@ -import { connectStream } from 'themes/glitch/util/stream'; -import { - updateTimeline, - deleteFromTimelines, - refreshHomeTimeline, - connectTimeline, - disconnectTimeline, -} from './timelines'; -import { updateNotifications, refreshNotifications } from './notifications'; -import { getLocale } from 'mastodon/locales'; - -const { messages } = getLocale(); - -export function connectTimelineStream (timelineId, path, pollingRefresh = null) { - - return connectStream (path, pollingRefresh, (dispatch, getState) => { - const locale = getState().getIn(['meta', 'locale']); - return { - onConnect() { - dispatch(connectTimeline(timelineId)); - }, - - onDisconnect() { - dispatch(disconnectTimeline(timelineId)); - }, - - onReceive (data) { - switch(data.event) { - case 'update': - dispatch(updateTimeline(timelineId, JSON.parse(data.payload))); - break; - case 'delete': - dispatch(deleteFromTimelines(data.payload)); - break; - case 'notification': - dispatch(updateNotifications(JSON.parse(data.payload), messages, locale)); - break; - } - }, - }; - }); -} - -function refreshHomeTimelineAndNotification (dispatch) { - dispatch(refreshHomeTimeline()); - dispatch(refreshNotifications()); -} - -export const connectUserStream = () => connectTimelineStream('home', 'user', refreshHomeTimelineAndNotification); -export const connectCommunityStream = () => connectTimelineStream('community', 'public:local'); -export const connectMediaStream = () => connectTimelineStream('community', 'public:local'); -export const connectPublicStream = () => connectTimelineStream('public', 'public'); -export const connectHashtagStream = (tag) => connectTimelineStream(`hashtag:${tag}`, `hashtag&tag=${tag}`); -export const connectDirectStream = () => connectTimelineStream('direct', 'direct'); |