Stuff stuff stuff #44

Merged
PouuleT merged 24 commits from update-node into master 2021-08-30 12:59:08 +00:00
2 changed files with 30 additions and 11 deletions
Showing only changes of commit d4cb2e8993 - Show all commits

View File

@ -1,8 +1,8 @@
import { useEffect, useState, useCallback } from "react"; import { useEffect, useState, useCallback } from "react";
import { useDispatch, useSelector } from "react-redux"; import { useDispatch, useSelector } from "react-redux";
import { setFetchedTorrents } from "../actions/torrents"; import { setFetchedTorrents } from "../actions/torrents";
import { newMovieEvent } from "../actions/movies"; import { newMovieEvent, getMovieDetails } from "../actions/movies";
import { newEpisodeEvent } from "../actions/shows"; import { newEpisodeEvent, getEpisodeDetails } from "../actions/shows";
export const WsHandler = () => { export const WsHandler = () => {
const dispatch = useDispatch(); const dispatch = useDispatch();
@ -67,8 +67,16 @@ export const WsHandler = () => {
case "newVideo": case "newVideo":
if (data.message.type === "movie") { if (data.message.type === "movie") {
dispatch(newMovieEvent(data.message.data)); dispatch(newMovieEvent(data.message.data));
dispatch(getMovieDetails(data.message.data.imdb_id));
} else if (data.message.type === "episode") { } else if (data.message.type === "episode") {
dispatch(newEpisodeEvent(data.message.data)); dispatch(newEpisodeEvent(data.message.data));
dispatch(
getEpisodeDetails(
data.message.data.show_imdb_id,
data.message.data.season,
data.message.data.episode
)
);
} }
break; break;
} }

View File

@ -84,19 +84,30 @@ export default (state = defaultState, action) =>
draft.show.tracked_episode = action.payload.episode; // eslint-disable-line camelcase draft.show.tracked_episode = action.payload.episode; // eslint-disable-line camelcase
break; break;
case "EPISODE_GET_DETAILS_PENDING": case "EPISODE_GET_DETAILS_PENDING": {
draft.show.seasons const imdbId = action.payload.main.imdbId;
.get(action.payload.main.season) if (!draft.show || draft.show.imdb_id !== imdbId) {
.get(action.payload.main.episode).fetching = true;
break; break;
}
const season = action.payload.main.season;
const episode = action.payload.main.episode;
draft.show.seasons.get(season).get(episode).fetching = true;
break;
}
case "EPISODE_GET_DETAILS_FULFILLED": { case "EPISODE_GET_DETAILS_FULFILLED": {
let episode = action.payload.response.data; const imdbId = action.payload.main.imdbId;
if (!episode) { if (!draft.show || draft.show.imdb_id !== imdbId) {
return draft; break;
} }
formatEpisode(episode);
draft.show.seasons.get(episode.season).set(episode.episode, episode); const season = action.payload.main.season;
const episode = action.payload.main.episode;
let data = action.payload.response.data;
formatEpisode(data);
draft.show.seasons.get(season).set(episode, data);
break; break;
} }