diff --git a/.editorconfig b/.editorconfig old mode 100644 new mode 100755 diff --git a/.gitattributes b/.gitattributes old mode 100644 new mode 100755 diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/.prettierrc.json b/.prettierrc.json old mode 100644 new mode 100755 diff --git a/.vscode/extensions.json b/.vscode/extensions.json old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/env.d.ts b/env.d.ts old mode 100644 new mode 100755 diff --git a/eslint.config.ts b/eslint.config.ts old mode 100644 new mode 100755 diff --git a/index.html b/index.html old mode 100644 new mode 100755 diff --git a/package.json b/package.json old mode 100644 new mode 100755 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml old mode 100644 new mode 100755 diff --git a/public/favicon.ico b/public/favicon.ico old mode 100644 new mode 100755 diff --git a/public/robots.txt b/public/robots.txt old mode 100644 new mode 100755 diff --git a/src/App.vue b/src/App.vue old mode 100644 new mode 100755 diff --git a/src/components/AddMoreCard.vue b/src/components/AddMoreCard.vue old mode 100644 new mode 100755 diff --git a/src/components/ImageWithFallback.vue b/src/components/ImageWithFallback.vue old mode 100644 new mode 100755 diff --git a/src/components/LoadingSpinner.vue b/src/components/LoadingSpinner.vue old mode 100644 new mode 100755 diff --git a/src/components/MediaCard.vue b/src/components/MediaCard.vue old mode 100644 new mode 100755 diff --git a/src/components/MediaDetails.vue b/src/components/MediaDetails.vue old mode 100644 new mode 100755 diff --git a/src/components/MediaList.vue b/src/components/MediaList.vue old mode 100644 new mode 100755 diff --git a/src/components/MediaTypeBadge.vue b/src/components/MediaTypeBadge.vue old mode 100644 new mode 100755 diff --git a/src/components/NavBar.vue b/src/components/NavBar.vue old mode 100644 new mode 100755 diff --git a/src/components/SearchBar.vue b/src/components/SearchBar.vue old mode 100644 new mode 100755 diff --git a/src/components/alerts/ErrorAlert.vue b/src/components/alerts/ErrorAlert.vue old mode 100644 new mode 100755 diff --git a/src/lib/api.ts b/src/lib/api.ts old mode 100644 new mode 100755 index ef6b383..e865c7c --- a/src/lib/api.ts +++ b/src/lib/api.ts @@ -19,32 +19,47 @@ const instance = axios.create({ }) export const searchMovies = async (query: string): Promise => { - const response = await instance.get(`/search/multi`, { - params: { - query: query, - include_adult: true, - }, - }) + const [movieSearch, tvSearch] = await Promise.all([ + instance.get(`/search/movie`, { + params: { + query: query, + include_adult: true, + }, + }), + instance.get(`/search/tv`, { + params: { + query: query, + include_adult: true, + }, + }), + ]) - if (response.status !== 200) { + const movieData = movieSearch.data + const tvData = tvSearch.data + + if (movieSearch.status !== 200 || tvSearch.status !== 200) { return { Results: [], Page: 0, totalResults: 0, totalPages: 0, - ErrorMessage: response.data.Error, + ErrorMessage: movieSearch.data.Error || tvSearch.data.Error, } } - const filtered = response.data.results.filter((result: { media_type: string }) => { - return result.media_type === 'movie' || result.media_type === 'tv' + const filteredMovies = movieData.results.map((result: { media_type: string }) => { + return { ...result, media_type: 'movie' } + }) + + const filteredTV = tvData.results.map((result: { media_type: string }) => { + return { ...result, media_type: 'tv' } }) const data: MediaResponseType = { - Results: filtered.map(mapMedia), - Page: response.data.page, - totalResults: response.data.total_results, - totalPages: response.data.total_pages, + Results: [...filteredMovies.map(mapMedia), ...filteredTV.map(mapMedia)], + Page: Math.max(movieData.page, tvData.page), + totalResults: movieData.total_results + tvData.total_results, + totalPages: Math.max(movieData.total_pages, tvData.total_pages), ErrorMessage: '', } diff --git a/src/main.ts b/src/main.ts old mode 100644 new mode 100755 diff --git a/src/router/index.ts b/src/router/index.ts old mode 100644 new mode 100755 diff --git a/src/stores/media.ts b/src/stores/media.ts old mode 100644 new mode 100755 diff --git a/src/style.css b/src/style.css old mode 100644 new mode 100755 diff --git a/src/types/Media.ts b/src/types/Media.ts old mode 100644 new mode 100755 diff --git a/src/types/MediaMap.ts b/src/types/MediaMap.ts old mode 100644 new mode 100755 diff --git a/src/types/Movie.ts b/src/types/Movie.ts old mode 100644 new mode 100755 diff --git a/src/types/MovieMap.ts b/src/types/MovieMap.ts old mode 100644 new mode 100755 diff --git a/src/types/TvSeries.ts b/src/types/TvSeries.ts old mode 100644 new mode 100755 diff --git a/src/types/TvSeriesMap.ts b/src/types/TvSeriesMap.ts old mode 100644 new mode 100755 diff --git a/src/views/AddView.vue b/src/views/AddView.vue old mode 100644 new mode 100755 diff --git a/src/views/DetailsView.vue b/src/views/DetailsView.vue old mode 100644 new mode 100755 diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue old mode 100644 new mode 100755 diff --git a/src/views/ListView.vue b/src/views/ListView.vue old mode 100644 new mode 100755 diff --git a/src/views/NotFoundView.vue b/src/views/NotFoundView.vue old mode 100644 new mode 100755 diff --git a/src/views/WatchView.vue b/src/views/WatchView.vue old mode 100644 new mode 100755 diff --git a/tsconfig.app.json b/tsconfig.app.json old mode 100644 new mode 100755 diff --git a/tsconfig.json b/tsconfig.json old mode 100644 new mode 100755 diff --git a/tsconfig.node.json b/tsconfig.node.json old mode 100644 new mode 100755 diff --git a/vite.config.ts b/vite.config.ts old mode 100644 new mode 100755