fix ts build issues

This commit is contained in:
andrzej 2024-05-23 16:43:10 +02:00
parent b0f24624ba
commit 9a5f776d41
3 changed files with 15 additions and 11 deletions

View File

@ -17,7 +17,7 @@
"react-dom": "^18.2.0" "react-dom": "^18.2.0"
}, },
"devDependencies": { "devDependencies": {
"@types/react": "^18.2.66", "@types/react": "*",
"@types/react-dom": "^18.2.22", "@types/react-dom": "^18.2.22",
"@typescript-eslint/eslint-plugin": "^7.2.0", "@typescript-eslint/eslint-plugin": "^7.2.0",
"@typescript-eslint/parser": "^7.2.0", "@typescript-eslint/parser": "^7.2.0",

View File

@ -32,7 +32,6 @@ class WatchProvidersClass implements WatchProviders {
link = ""; link = "";
} }
export interface Movies { Array<Movie>};
function App() { function App() {
const [config, setConfig] = useState<Config>({ const [config, setConfig] = useState<Config>({

View File

@ -31,20 +31,25 @@ export interface Movie {
interface MovieWallProps extends React.ComponentPropsWithRef<"div"> { interface MovieWallProps extends React.ComponentPropsWithRef<"div"> {
movies: Array<Movie>; movies: Array<Movie>;
setMovies: Function; setMovies: React.Dispatch<React.SetStateAction<any>>;
setChosenMovie: Function; setChosenMovie: React.Dispatch<React.SetStateAction<any>>;
setSimilarMoviesAvailable: Function; setSimilarMoviesAvailable: React.Dispatch<React.SetStateAction<boolean>>;
config: Config; config: Config;
} }
export function MovieWall({ movies, setMovies, config, setChosenMovie, setSimilarMoviesAvailable }: MovieWallProps) { export function MovieWall({ movies, setMovies, config, setChosenMovie, setSimilarMoviesAvailable }: MovieWallProps) {
const posters: Array<React.Component> = [] const posters: React.ReactElement[] = []
for (let i = 0; i < movies.length; i++) { for (let i = 0; i < movies.length; i++) {
const movie = movies[i] const movie = movies[i]
const isHighlighted = movie.vote_average ? movie.vote_average > 6 : false const isHighlighted = movie.vote_average ? movie.vote_average > 6 : false
posters.push( posters.push(
<Poster isHighlighted={isHighlighted} movie={movie} key={movie.id} index={i} listSimilar={tmdb.getSimilar} config={config} setMovies={setMovies} setChosenMovie={setChosenMovie} setSimilarMoviesAvailable={setSimilarMoviesAvailable} /> <Poster isHighlighted={isHighlighted} movie={movie} key={movie.id} index={i}
listSimilar={tmdb.getSimilar}
config={config}
setMovies={setMovies}
setChosenMovie={setChosenMovie}
setSimilarMoviesAvailable={setSimilarMoviesAvailable} />
) )
} }
return <> return <>
@ -54,12 +59,12 @@ export function MovieWall({ movies, setMovies, config, setChosenMovie, setSimila
interface PosterProps extends React.ComponentPropsWithRef<"div"> { interface PosterProps extends React.ComponentPropsWithRef<"div"> {
movie: Movie; movie: Movie;
listSimilar: Function; listSimilar: (config: Config, movie: Movie, setMovies: React.Dispatch<React.SetStateAction<Array<Movie>>>, setSimilarMoviesAvailable: React.Dispatch<React.SetStateAction<boolean>>) => Promise<boolean>;
index: number; index: number;
config: Config; config: Config;
setMovies: Function; setMovies: React.Dispatch<React.SetStateAction<Array<Movie>>>;
setChosenMovie: Function; setChosenMovie: React.Dispatch<React.SetStateAction<Movie>>;
setSimilarMoviesAvailable: Function; setSimilarMoviesAvailable: React.Dispatch<React.SetStateAction<boolean>>;
isHighlighted: boolean; isHighlighted: boolean;
} }