Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | import { useEffect } from "react";
import { useTranslation } from "react-i18next";
import { useParams } from "react-router-dom";
import { useQuery } from "@tanstack/react-query";
import { IApiFunction } from "@/interfaces";
import useMovieStore from "@/store/useMovieStore";
import useUserStore from "@/store/useUserStore";
const useMovieDetails = (apiFunctions: IApiFunction) => {
const { i18n, t } = useTranslation();
const { movieId } = useParams();
const { setMovieStatus } = useMovieStore();
const { sessionId, isAuthenticated } = useUserStore();
const {
data: movieDetails,
isLoading,
error,
} = useQuery({
queryKey: [apiFunctions.getMovie.key, movieId, i18n.language],
queryFn: () => apiFunctions.getMovie.func(movieId, sessionId, i18n.language),
});
useEffect(() => {
const movieStatus = movieDetails?.account_states;
if (isAuthenticated && movieStatus) {
setMovieStatus(movieStatus);
}
}, [isAuthenticated, movieDetails, setMovieStatus]);
return {
i18n,
t,
movieId,
movieDetails,
isLoading,
error,
};
};
export default useMovieDetails;
|