feat(frontend/api): i18n support

This commit is contained in:
sct
2020-09-17 16:17:41 +00:00
parent 04252f88bb
commit 9131254f33
22 changed files with 929 additions and 118 deletions

View File

@@ -1,8 +1,9 @@
import React from 'react';
import React, { useContext } from 'react';
import useSWR from 'swr';
import type { MovieDetails } from '../../../server/models/Movie';
import type { TvDetails } from '../../../server/models/Tv';
import TitleCard from '.';
import { LanguageContext } from '../../context/LanguageContext';
interface TmdbTitleCardProps {
tmdbId: number;
@@ -14,9 +15,12 @@ const isMovie = (movie: MovieDetails | TvDetails): movie is MovieDetails => {
};
const RequestCard: React.FC<TmdbTitleCardProps> = ({ tmdbId, type }) => {
const { locale } = useContext(LanguageContext);
const url =
type === 'movie' ? `/api/v1/movie/${tmdbId}` : `/api/v1/tv/${tmdbId}`;
const { data: title, error } = useSWR<MovieDetails | TvDetails>(url);
const { data: title, error } = useSWR<MovieDetails | TvDetails>(
`${url}?language=${locale}`
);
if (!title && !error) {
return <TitleCard.Placeholder />;