fix: corrected initial fallback data load on details page (#3395)

pull/3399/head
Brandon Cohen 2 years ago committed by GitHub
parent c1e10338c1
commit 4bd87647d0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,7 +1,7 @@
import MovieDetails from '@app/components/MovieDetails'; import MovieDetails from '@app/components/MovieDetails';
import type { MovieDetails as MovieDetailsType } from '@server/models/Movie'; import type { MovieDetails as MovieDetailsType } from '@server/models/Movie';
import axios from 'axios'; import axios from 'axios';
import type { NextPage } from 'next'; import type { GetServerSideProps, NextPage } from 'next';
interface MoviePageProps { interface MoviePageProps {
movie?: MovieDetailsType; movie?: MovieDetailsType;
@ -11,25 +11,25 @@ const MoviePage: NextPage<MoviePageProps> = ({ movie }) => {
return <MovieDetails movie={movie} />; return <MovieDetails movie={movie} />;
}; };
MoviePage.getInitialProps = async (ctx) => { export const getServerSideProps: GetServerSideProps<MoviePageProps> = async (
if (ctx.req) { ctx
const response = await axios.get<MovieDetailsType>( ) => {
`http://localhost:${process.env.PORT || 5055}/api/v1/movie/${ const response = await axios.get<MovieDetailsType>(
ctx.query.movieId `http://localhost:${process.env.PORT || 5055}/api/v1/movie/${
}`, ctx.query.movieId
{ }`,
headers: ctx.req?.headers?.cookie {
? { cookie: ctx.req.headers.cookie } headers: ctx.req?.headers?.cookie
: undefined, ? { cookie: ctx.req.headers.cookie }
} : undefined,
); }
);
return { return {
props: {
movie: response.data, movie: response.data,
}; },
} };
return {};
}; };
export default MoviePage; export default MoviePage;

@ -1,7 +1,7 @@
import TvDetails from '@app/components/TvDetails'; import TvDetails from '@app/components/TvDetails';
import type { TvDetails as TvDetailsType } from '@server/models/Tv'; import type { TvDetails as TvDetailsType } from '@server/models/Tv';
import axios from 'axios'; import axios from 'axios';
import type { NextPage } from 'next'; import type { GetServerSideProps, NextPage } from 'next';
interface TvPageProps { interface TvPageProps {
tv?: TvDetailsType; tv?: TvDetailsType;
@ -11,25 +11,23 @@ const TvPage: NextPage<TvPageProps> = ({ tv }) => {
return <TvDetails tv={tv} />; return <TvDetails tv={tv} />;
}; };
TvPage.getInitialProps = async (ctx) => { export const getServerSideProps: GetServerSideProps<TvPageProps> = async (
if (ctx.req) { ctx
const response = await axios.get<TvDetailsType>( ) => {
`http://localhost:${process.env.PORT || 5055}/api/v1/tv/${ const response = await axios.get<TvDetailsType>(
ctx.query.tvId `http://localhost:${process.env.PORT || 5055}/api/v1/tv/${ctx.query.tvId}`,
}`, {
{ headers: ctx.req?.headers?.cookie
headers: ctx.req?.headers?.cookie ? { cookie: ctx.req.headers.cookie }
? { cookie: ctx.req.headers.cookie } : undefined,
: undefined, }
} );
);
return { return {
props: {
tv: response.data, tv: response.data,
}; },
} };
return {};
}; };
export default TvPage; export default TvPage;

Loading…
Cancel
Save