Work on migrating files from sveltekit to svelte
This commit is contained in:
@@ -72,7 +72,7 @@
|
||||
<MoviesPage container={contentContainer} />
|
||||
</Route>
|
||||
<Route path="library">
|
||||
<LibraryPage container={contentContainer} />
|
||||
<LibraryPage parent={contentContainer} />
|
||||
</Route>
|
||||
<Route path="manage">
|
||||
<ManagePage container={contentContainer} />
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import type { components, paths } from '$lib/apis/jellyfin/jellyfin.generated';
|
||||
import type { DeviceProfile } from '$lib/apis/jellyfin/playback-profiles';
|
||||
import { settings } from '$lib/stores/settings.store';
|
||||
import axios from 'axios';
|
||||
import createClient from 'openapi-fetch';
|
||||
import { get } from 'svelte/store';
|
||||
import type { components, paths } from './jellyfin.generated';
|
||||
import { settings } from '../../stores/settings.store';
|
||||
import type { DeviceProfile } from './playback-profiles';
|
||||
|
||||
export type JellyfinItem = components['schemas']['BaseItemDto'];
|
||||
|
||||
@@ -26,7 +26,7 @@ function getJellyfinApi() {
|
||||
|
||||
export const getJellyfinContinueWatching = async (): Promise<JellyfinItem[] | undefined> =>
|
||||
getJellyfinApi()
|
||||
?.get('/Users/{userId}/Items/Resume', {
|
||||
?.GET('/Users/{userId}/Items/Resume', {
|
||||
params: {
|
||||
path: {
|
||||
userId: get(settings)?.jellyfin.userId || ''
|
||||
@@ -41,7 +41,7 @@ export const getJellyfinContinueWatching = async (): Promise<JellyfinItem[] | un
|
||||
|
||||
export const getJellyfinNextUp = async () =>
|
||||
getJellyfinApi()
|
||||
?.get('/Shows/NextUp', {
|
||||
?.GET('/Shows/NextUp', {
|
||||
params: {
|
||||
query: {
|
||||
userId: get(settings)?.jellyfin.userId || '',
|
||||
@@ -53,7 +53,7 @@ export const getJellyfinNextUp = async () =>
|
||||
|
||||
export const getJellyfinItems = async () =>
|
||||
getJellyfinApi()
|
||||
?.get('/Users/{userId}/Items', {
|
||||
?.GET('/Users/{userId}/Items', {
|
||||
params: {
|
||||
path: {
|
||||
userId: get(settings)?.jellyfin.userId || ''
|
||||
@@ -84,7 +84,7 @@ export const getJellyfinItems = async () =>
|
||||
|
||||
export const getJellyfinEpisodes = async (parentId = '') =>
|
||||
getJellyfinApi()
|
||||
?.get('/Users/{userId}/Items', {
|
||||
?.GET('/Users/{userId}/Items', {
|
||||
params: {
|
||||
path: {
|
||||
userId: get(settings)?.jellyfin.userId || ''
|
||||
@@ -126,7 +126,7 @@ export const getJellyfinEpisodesInSeasons = async (seriesId: string) =>
|
||||
|
||||
export const getJellyfinItem = async (itemId: string) =>
|
||||
getJellyfinApi()
|
||||
?.get('/Users/{userId}/Items/{itemId}', {
|
||||
?.GET('/Users/{userId}/Items/{itemId}', {
|
||||
params: {
|
||||
path: {
|
||||
itemId,
|
||||
@@ -146,7 +146,7 @@ export const getJellyfinPlaybackInfo = async (
|
||||
maxStreamingBitrate = 140000000
|
||||
) =>
|
||||
getJellyfinApi()
|
||||
?.post('/Items/{itemId}/PlaybackInfo', {
|
||||
?.POST('/Items/{itemId}/PlaybackInfo', {
|
||||
params: {
|
||||
path: {
|
||||
itemId: itemId
|
||||
@@ -184,7 +184,7 @@ export const reportJellyfinPlaybackStarted = (
|
||||
audioStreamIndex?: number,
|
||||
subtitleStreamIndex?: number
|
||||
) =>
|
||||
getJellyfinApi()?.post('/Sessions/Playing', {
|
||||
getJellyfinApi()?.POST('/Sessions/Playing', {
|
||||
body: {
|
||||
CanSeek: true,
|
||||
ItemId: itemId,
|
||||
@@ -201,7 +201,7 @@ export const reportJellyfinPlaybackProgress = (
|
||||
isPaused: boolean,
|
||||
positionTicks: number
|
||||
) =>
|
||||
getJellyfinApi()?.post('/Sessions/Playing/Progress', {
|
||||
getJellyfinApi()?.POST('/Sessions/Playing/Progress', {
|
||||
body: {
|
||||
ItemId: itemId,
|
||||
PlaySessionId: sessionId,
|
||||
@@ -217,7 +217,7 @@ export const reportJellyfinPlaybackStopped = (
|
||||
sessionId: string,
|
||||
positionTicks: number
|
||||
) =>
|
||||
getJellyfinApi()?.post('/Sessions/Playing/Stopped', {
|
||||
getJellyfinApi()?.POST('/Sessions/Playing/Stopped', {
|
||||
body: {
|
||||
ItemId: itemId,
|
||||
PlaySessionId: sessionId,
|
||||
@@ -227,7 +227,7 @@ export const reportJellyfinPlaybackStopped = (
|
||||
});
|
||||
|
||||
export const delteActiveEncoding = (playSessionId: string) =>
|
||||
getJellyfinApi()?.del('/Videos/ActiveEncodings', {
|
||||
getJellyfinApi()?.DELETE('/Videos/ActiveEncodings', {
|
||||
params: {
|
||||
query: {
|
||||
deviceId: JELLYFIN_DEVICE_ID,
|
||||
@@ -237,7 +237,7 @@ export const delteActiveEncoding = (playSessionId: string) =>
|
||||
});
|
||||
|
||||
export const setJellyfinItemWatched = async (jellyfinId: string) =>
|
||||
getJellyfinApi()?.post('/Users/{userId}/PlayedItems/{itemId}', {
|
||||
getJellyfinApi()?.POST('/Users/{userId}/PlayedItems/{itemId}', {
|
||||
params: {
|
||||
path: {
|
||||
userId: get(settings)?.jellyfin.userId || '',
|
||||
@@ -250,7 +250,7 @@ export const setJellyfinItemWatched = async (jellyfinId: string) =>
|
||||
});
|
||||
|
||||
export const setJellyfinItemUnwatched = async (jellyfinId: string) =>
|
||||
getJellyfinApi()?.del('/Users/{userId}/PlayedItems/{itemId}', {
|
||||
getJellyfinApi()?.DELETE('/Users/{userId}/PlayedItems/{itemId}', {
|
||||
params: {
|
||||
path: {
|
||||
userId: get(settings)?.jellyfin.userId || '',
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import type { components, paths } from '$lib/apis/radarr/radarr.generated';
|
||||
import { getTmdbMovie } from '$lib/apis/tmdb/tmdbApi';
|
||||
import { settings } from '$lib/stores/settings.store';
|
||||
import { log } from '$lib/utils';
|
||||
import axios from 'axios';
|
||||
import createClient from 'openapi-fetch';
|
||||
import { get } from 'svelte/store';
|
||||
import { settings } from '../../stores/settings.store';
|
||||
import type { components, paths } from './radarr.generated';
|
||||
import { getTmdbMovie } from '../tmdb/tmdbApi';
|
||||
import { log } from '../../utils';
|
||||
|
||||
export type RadarrMovie = components['schemas']['MovieResource'];
|
||||
export type MovieFileResource = components['schemas']['MovieFileResource'];
|
||||
@@ -43,14 +43,14 @@ function getRadarrApi() {
|
||||
|
||||
export const getRadarrMovies = (): Promise<RadarrMovie[]> =>
|
||||
getRadarrApi()
|
||||
?.get('/api/v3/movie', {
|
||||
?.GET('/api/v3/movie', {
|
||||
params: {}
|
||||
})
|
||||
.then((r) => r.data || []) || Promise.resolve([]);
|
||||
|
||||
export const getRadarrMovieByTmdbId = (tmdbId: string): Promise<RadarrMovie | undefined> =>
|
||||
getRadarrApi()
|
||||
?.get('/api/v3/movie', {
|
||||
?.GET('/api/v3/movie', {
|
||||
params: {
|
||||
query: {
|
||||
tmdbId: Number(tmdbId)
|
||||
@@ -82,7 +82,7 @@ export const addMovieToRadarr = async (tmdbId: number) => {
|
||||
|
||||
return (
|
||||
getRadarrApi()
|
||||
?.post('/api/v3/movie', {
|
||||
?.POST('/api/v3/movie', {
|
||||
params: {},
|
||||
body: options
|
||||
})
|
||||
@@ -92,7 +92,7 @@ export const addMovieToRadarr = async (tmdbId: number) => {
|
||||
|
||||
export const cancelDownloadRadarrMovie = async (downloadId: number) => {
|
||||
const deleteResponse = await getRadarrApi()
|
||||
?.del('/api/v3/queue/{id}', {
|
||||
?.DELETE('/api/v3/queue/{id}', {
|
||||
params: {
|
||||
path: {
|
||||
id: downloadId
|
||||
@@ -110,12 +110,12 @@ export const cancelDownloadRadarrMovie = async (downloadId: number) => {
|
||||
|
||||
export const fetchRadarrReleases = (movieId: number) =>
|
||||
getRadarrApi()
|
||||
?.get('/api/v3/release', { params: { query: { movieId: movieId } } })
|
||||
?.GET('/api/v3/release', { params: { query: { movieId: movieId } } })
|
||||
.then((r) => r.data || []) || Promise.resolve([]);
|
||||
|
||||
export const downloadRadarrMovie = (guid: string, indexerId: number) =>
|
||||
getRadarrApi()
|
||||
?.post('/api/v3/release', {
|
||||
?.POST('/api/v3/release', {
|
||||
params: {},
|
||||
body: {
|
||||
indexerId,
|
||||
@@ -126,7 +126,7 @@ export const downloadRadarrMovie = (guid: string, indexerId: number) =>
|
||||
|
||||
export const deleteRadarrMovie = (id: number) =>
|
||||
getRadarrApi()
|
||||
?.del('/api/v3/moviefile/{id}', {
|
||||
?.DELETE('/api/v3/moviefile/{id}', {
|
||||
params: {
|
||||
path: {
|
||||
id
|
||||
@@ -137,7 +137,7 @@ export const deleteRadarrMovie = (id: number) =>
|
||||
|
||||
export const getRadarrDownloads = (): Promise<RadarrDownload[]> =>
|
||||
getRadarrApi()
|
||||
?.get('/api/v3/queue', {
|
||||
?.GET('/api/v3/queue', {
|
||||
params: {
|
||||
query: {
|
||||
includeMovie: true
|
||||
@@ -155,7 +155,7 @@ export const getRadarrDownloadsByTmdbId = (tmdbId: number) =>
|
||||
|
||||
const lookupRadarrMovieByTmdbId = (tmdbId: number) =>
|
||||
getRadarrApi()
|
||||
?.get('/api/v3/movie/lookup/tmdb', {
|
||||
?.GET('/api/v3/movie/lookup/tmdb', {
|
||||
params: {
|
||||
query: {
|
||||
tmdbId
|
||||
@@ -166,12 +166,12 @@ const lookupRadarrMovieByTmdbId = (tmdbId: number) =>
|
||||
|
||||
export const getDiskSpace = (): Promise<DiskSpaceInfo[]> =>
|
||||
getRadarrApi()
|
||||
?.get('/api/v3/diskspace', {})
|
||||
?.GET('/api/v3/diskspace', {})
|
||||
.then((d) => d.data || []) || Promise.resolve([]);
|
||||
|
||||
export const removeFromRadarr = (id: number) =>
|
||||
getRadarrApi()
|
||||
?.del('/api/v3/movie/{id}', {
|
||||
?.DELETE('/api/v3/movie/{id}', {
|
||||
params: {
|
||||
path: {
|
||||
id
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import type { components, paths } from '$lib/apis/sonarr/sonarr.generated';
|
||||
import { settings } from '$lib/stores/settings.store';
|
||||
import { log } from '$lib/utils';
|
||||
import axios from 'axios';
|
||||
import createClient from 'openapi-fetch';
|
||||
import { get } from 'svelte/store';
|
||||
import { getTmdbSeries } from '../tmdb/tmdbApi';
|
||||
import type { components, paths } from './sonarr.generated';
|
||||
import { settings } from '../../stores/settings.store';
|
||||
import { log } from '../../utils';
|
||||
|
||||
export type SonarrSeries = components['schemas']['SeriesResource'];
|
||||
export type SonarrReleaseResource = components['schemas']['ReleaseResource'];
|
||||
@@ -58,14 +58,14 @@ function getSonarrApi() {
|
||||
|
||||
export const getSonarrSeries = (): Promise<SonarrSeries[]> =>
|
||||
getSonarrApi()
|
||||
?.get('/api/v3/series', {
|
||||
?.GET('/api/v3/series', {
|
||||
params: {}
|
||||
})
|
||||
.then((r) => r.data || []) || Promise.resolve([]);
|
||||
|
||||
export const getSonarrSeriesByTvdbId = (tvdbId: number): Promise<SonarrSeries | undefined> =>
|
||||
getSonarrApi()
|
||||
?.get('/api/v3/series', {
|
||||
?.GET('/api/v3/series', {
|
||||
params: {
|
||||
query: {
|
||||
tvdbId: tvdbId
|
||||
@@ -76,7 +76,7 @@ export const getSonarrSeriesByTvdbId = (tvdbId: number): Promise<SonarrSeries |
|
||||
|
||||
export const getDiskSpace = (): Promise<DiskSpaceInfo[]> =>
|
||||
getSonarrApi()
|
||||
?.get('/api/v3/diskspace', {})
|
||||
?.GET('/api/v3/diskspace', {})
|
||||
.then((d) => d.data || []) || Promise.resolve([]);
|
||||
|
||||
export const addSeriesToSonarr = async (tmdbId: number) => {
|
||||
@@ -101,7 +101,7 @@ export const addSeriesToSonarr = async (tmdbId: number) => {
|
||||
};
|
||||
|
||||
return getSonarrApi()
|
||||
?.post('/api/v3/series', {
|
||||
?.POST('/api/v3/series', {
|
||||
params: {},
|
||||
body: options
|
||||
})
|
||||
@@ -110,7 +110,7 @@ export const addSeriesToSonarr = async (tmdbId: number) => {
|
||||
|
||||
export const cancelDownloadSonarrEpisode = async (downloadId: number) => {
|
||||
const deleteResponse = await getSonarrApi()
|
||||
?.del('/api/v3/queue/{id}', {
|
||||
?.DELETE('/api/v3/queue/{id}', {
|
||||
params: {
|
||||
path: {
|
||||
id: downloadId
|
||||
@@ -128,7 +128,7 @@ export const cancelDownloadSonarrEpisode = async (downloadId: number) => {
|
||||
|
||||
export const downloadSonarrEpisode = (guid: string, indexerId: number) =>
|
||||
getSonarrApi()
|
||||
?.post('/api/v3/release', {
|
||||
?.POST('/api/v3/release', {
|
||||
params: {},
|
||||
body: {
|
||||
indexerId,
|
||||
@@ -139,7 +139,7 @@ export const downloadSonarrEpisode = (guid: string, indexerId: number) =>
|
||||
|
||||
export const deleteSonarrEpisode = (id: number) =>
|
||||
getSonarrApi()
|
||||
?.del('/api/v3/episodefile/{id}', {
|
||||
?.DELETE('/api/v3/episodefile/{id}', {
|
||||
params: {
|
||||
path: {
|
||||
id
|
||||
@@ -150,7 +150,7 @@ export const deleteSonarrEpisode = (id: number) =>
|
||||
|
||||
export const getSonarrDownloads = (): Promise<SonarrDownload[]> =>
|
||||
getSonarrApi()
|
||||
?.get('/api/v3/queue', {
|
||||
?.GET('/api/v3/queue', {
|
||||
params: {
|
||||
query: {
|
||||
includeEpisode: true,
|
||||
@@ -171,7 +171,7 @@ export const getSonarrDownloadsById = (sonarrId: number) =>
|
||||
|
||||
export const removeFromSonarr = (id: number): Promise<boolean> =>
|
||||
getSonarrApi()
|
||||
?.del('/api/v3/series/{id}', {
|
||||
?.DELETE('/api/v3/series/{id}', {
|
||||
params: {
|
||||
path: {
|
||||
id
|
||||
@@ -183,7 +183,7 @@ export const removeFromSonarr = (id: number): Promise<boolean> =>
|
||||
export const getSonarrEpisodes = async (seriesId: number) => {
|
||||
const episodesPromise =
|
||||
getSonarrApi()
|
||||
?.get('/api/v3/episode', {
|
||||
?.GET('/api/v3/episode', {
|
||||
params: {
|
||||
query: {
|
||||
seriesId
|
||||
@@ -194,7 +194,7 @@ export const getSonarrEpisodes = async (seriesId: number) => {
|
||||
|
||||
const episodeFilesPromise =
|
||||
getSonarrApi()
|
||||
?.get('/api/v3/episodefile', {
|
||||
?.GET('/api/v3/episodefile', {
|
||||
params: {
|
||||
query: {
|
||||
seriesId
|
||||
@@ -214,7 +214,7 @@ export const getSonarrEpisodes = async (seriesId: number) => {
|
||||
|
||||
export const fetchSonarrReleases = async (episodeId: number) =>
|
||||
getSonarrApi()
|
||||
?.get('/api/v3/release', {
|
||||
?.GET('/api/v3/release', {
|
||||
params: {
|
||||
query: {
|
||||
episodeId
|
||||
@@ -225,7 +225,7 @@ export const fetchSonarrReleases = async (episodeId: number) =>
|
||||
|
||||
export const fetchSonarrSeasonReleases = async (seriesId: number, seasonNumber: number) =>
|
||||
getSonarrApi()
|
||||
?.get('/api/v3/release', {
|
||||
?.GET('/api/v3/release', {
|
||||
params: {
|
||||
query: {
|
||||
seriesId,
|
||||
@@ -238,7 +238,7 @@ export const fetchSonarrSeasonReleases = async (seriesId: number, seasonNumber:
|
||||
export const fetchSonarrEpisodes = async (seriesId: number): Promise<SonarrEpisode[]> => {
|
||||
return (
|
||||
getSonarrApi()
|
||||
?.get('/api/v3/episode', {
|
||||
?.GET('/api/v3/episode', {
|
||||
params: {
|
||||
query: {
|
||||
seriesId
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
import { browser } from '$app/environment';
|
||||
import { TMDB_API_KEY, TMDB_BACKDROP_SMALL } from '$lib/constants';
|
||||
import { settings } from '$lib/stores/settings.store';
|
||||
import createClient from 'openapi-fetch';
|
||||
import { get } from 'svelte/store';
|
||||
import type { operations, paths } from './tmdb.generated';
|
||||
import type { TitleType } from '$lib/types';
|
||||
import { TMDB_API_KEY, TMDB_BACKDROP_SMALL } from '../../constants';
|
||||
import { settings } from '../../stores/settings.store';
|
||||
import type { TitleType } from '../../types';
|
||||
|
||||
const CACHE_ONE_DAY = 'max-age=86400';
|
||||
const CACHE_FOUR_DAYS = 'max-age=345600';
|
||||
@@ -39,8 +38,8 @@ export interface TmdbSeriesFull2 extends TmdbSeries2 {
|
||||
images: operations['tv-series-images']['responses']['200']['content']['application/json'];
|
||||
}
|
||||
|
||||
const backdropCache = browser ? window?.caches?.open('backdrops') : undefined;
|
||||
const posterCache = browser ? window?.caches?.open('posters') : undefined;
|
||||
const backdropCache = window?.caches?.open('backdrops') || undefined;
|
||||
const posterCache = window?.caches?.open('posters') || undefined;
|
||||
|
||||
const getTmdbCache = async (
|
||||
cachePromise: typeof backdropCache,
|
||||
@@ -72,7 +71,7 @@ export const TmdbApiOpen = createClient<paths>({
|
||||
});
|
||||
|
||||
export const getTmdbMovie = async (tmdbId: number) =>
|
||||
await TmdbApiOpen.get('/3/movie/{movie_id}', {
|
||||
await TmdbApiOpen.GET('/3/movie/{movie_id}', {
|
||||
params: {
|
||||
path: {
|
||||
movie_id: tmdbId
|
||||
@@ -85,7 +84,7 @@ export const getTmdbMovie = async (tmdbId: number) =>
|
||||
}).then((res) => res.data as TmdbMovieFull2 | undefined);
|
||||
|
||||
export const getTmdbSeriesFromTvdbId = async (tvdbId: string) =>
|
||||
TmdbApiOpen.get('/3/find/{external_id}', {
|
||||
TmdbApiOpen.GET('/3/find/{external_id}', {
|
||||
params: {
|
||||
path: {
|
||||
external_id: tvdbId
|
||||
@@ -107,7 +106,7 @@ export const getTmdbIdFromTvdbId = async (tvdbId: number) =>
|
||||
});
|
||||
|
||||
export const getTmdbSeries = async (tmdbId: number): Promise<TmdbSeriesFull2 | undefined> =>
|
||||
await TmdbApiOpen.get('/3/tv/{series_id}', {
|
||||
await TmdbApiOpen.GET('/3/tv/{series_id}', {
|
||||
params: {
|
||||
path: {
|
||||
series_id: tmdbId
|
||||
@@ -126,7 +125,7 @@ export const getTmdbSeriesSeason = async (
|
||||
tmdbId: number,
|
||||
season: number
|
||||
): Promise<TmdbSeason | undefined> =>
|
||||
TmdbApiOpen.get('/3/tv/{series_id}/season/{season_number}', {
|
||||
TmdbApiOpen.GET('/3/tv/{series_id}/season/{season_number}', {
|
||||
params: {
|
||||
path: {
|
||||
series_id: tmdbId,
|
||||
@@ -141,7 +140,7 @@ export const getTmdbSeriesSeasons = async (tmdbId: number, seasons: number) =>
|
||||
);
|
||||
|
||||
export const getTmdbSeriesImages = async (tmdbId: number) =>
|
||||
TmdbApiOpen.get('/3/tv/{series_id}/images', {
|
||||
TmdbApiOpen.GET('/3/tv/{series_id}/images', {
|
||||
params: {
|
||||
path: {
|
||||
series_id: tmdbId
|
||||
@@ -153,7 +152,7 @@ export const getTmdbSeriesImages = async (tmdbId: number) =>
|
||||
}).then((res) => res.data);
|
||||
|
||||
export const getTmdbMovieImages = async (tmdbId: number) =>
|
||||
await TmdbApiOpen.get('/3/movie/{movie_id}/images', {
|
||||
await TmdbApiOpen.GET('/3/movie/{movie_id}/images', {
|
||||
params: {
|
||||
path: {
|
||||
movie_id: tmdbId
|
||||
@@ -203,7 +202,7 @@ export const getTmdbMoviePoster = async (tmdbId: number) =>
|
||||
/** Discover */
|
||||
|
||||
export const getTmdbPopularMovies = () =>
|
||||
TmdbApiOpen.get('/3/movie/popular', {
|
||||
TmdbApiOpen.GET('/3/movie/popular', {
|
||||
params: {
|
||||
query: {
|
||||
language: get(settings)?.language,
|
||||
@@ -213,7 +212,7 @@ export const getTmdbPopularMovies = () =>
|
||||
}).then((res) => res.data?.results || []);
|
||||
|
||||
export const getTmdbPopularSeries = () =>
|
||||
TmdbApiOpen.get('/3/tv/popular', {
|
||||
TmdbApiOpen.GET('/3/tv/popular', {
|
||||
params: {
|
||||
query: {
|
||||
language: get(settings)?.language
|
||||
@@ -222,7 +221,7 @@ export const getTmdbPopularSeries = () =>
|
||||
}).then((res) => res.data?.results || []);
|
||||
|
||||
export const getTmdbNetworkSeries = (networkId: number) =>
|
||||
TmdbApiOpen.get('/3/discover/tv', {
|
||||
TmdbApiOpen.GET('/3/discover/tv', {
|
||||
params: {
|
||||
query: {
|
||||
with_networks: networkId
|
||||
@@ -231,7 +230,7 @@ export const getTmdbNetworkSeries = (networkId: number) =>
|
||||
}).then((res) => res.data?.results || []);
|
||||
|
||||
export const getTmdbGenreMovies = (genreId: number) =>
|
||||
TmdbApiOpen.get('/3/discover/movie', {
|
||||
TmdbApiOpen.GET('/3/discover/movie', {
|
||||
params: {
|
||||
query: {
|
||||
with_genres: String(genreId)
|
||||
@@ -240,7 +239,7 @@ export const getTmdbGenreMovies = (genreId: number) =>
|
||||
}).then((res) => res.data?.results || []);
|
||||
|
||||
export const getTmdbSeriesRecommendations = (tmdbId: number) =>
|
||||
TmdbApiOpen.get('/3/tv/{series_id}/recommendations', {
|
||||
TmdbApiOpen.GET('/3/tv/{series_id}/recommendations', {
|
||||
params: {
|
||||
path: {
|
||||
series_id: tmdbId
|
||||
@@ -249,7 +248,7 @@ export const getTmdbSeriesRecommendations = (tmdbId: number) =>
|
||||
}).then((res) => res.data?.results || []);
|
||||
|
||||
export const getTmdbSeriesSimilar = (tmdbId: number) =>
|
||||
TmdbApiOpen.get('/3/tv/{series_id}/similar', {
|
||||
TmdbApiOpen.GET('/3/tv/{series_id}/similar', {
|
||||
params: {
|
||||
path: {
|
||||
series_id: String(tmdbId)
|
||||
@@ -258,7 +257,7 @@ export const getTmdbSeriesSimilar = (tmdbId: number) =>
|
||||
}).then((res) => res.data?.results || []);
|
||||
|
||||
export const getTmdbSeriesCredits = (tmdbId: number) =>
|
||||
TmdbApiOpen.get('/3/tv/{series_id}/credits', {
|
||||
TmdbApiOpen.GET('/3/tv/{series_id}/credits', {
|
||||
params: {
|
||||
path: {
|
||||
series_id: tmdbId
|
||||
@@ -267,7 +266,7 @@ export const getTmdbSeriesCredits = (tmdbId: number) =>
|
||||
}).then((res) => res.data?.cast || []);
|
||||
|
||||
export const getTmdbMovieRecommendations = (tmdbId: number) =>
|
||||
TmdbApiOpen.get('/3/movie/{movie_id}/recommendations', {
|
||||
TmdbApiOpen.GET('/3/movie/{movie_id}/recommendations', {
|
||||
params: {
|
||||
path: {
|
||||
movie_id: tmdbId
|
||||
@@ -276,7 +275,7 @@ export const getTmdbMovieRecommendations = (tmdbId: number) =>
|
||||
}).then((res) => res.data?.results || []);
|
||||
|
||||
export const getTmdbMovieSimilar = (tmdbId: number) =>
|
||||
TmdbApiOpen.get('/3/movie/{movie_id}/similar', {
|
||||
TmdbApiOpen.GET('/3/movie/{movie_id}/similar', {
|
||||
params: {
|
||||
path: {
|
||||
movie_id: tmdbId
|
||||
@@ -285,7 +284,7 @@ export const getTmdbMovieSimilar = (tmdbId: number) =>
|
||||
}).then((res) => res.data?.results || []);
|
||||
|
||||
export const searchTmdbTitles = (query: string) =>
|
||||
TmdbApiOpen.get('/3/search/multi', {
|
||||
TmdbApiOpen.GET('/3/search/multi', {
|
||||
params: {
|
||||
query: {
|
||||
query
|
||||
@@ -334,7 +333,7 @@ export const getPosterProps = async (
|
||||
};
|
||||
|
||||
export const getTmdbPerson = async (person_id: number) =>
|
||||
TmdbApiOpen.get('/3/person/{person_id}', {
|
||||
TmdbApiOpen.GET('/3/person/{person_id}', {
|
||||
params: {
|
||||
path: {
|
||||
person_id: person_id
|
||||
|
||||
@@ -1,8 +1,34 @@
|
||||
<script lang="ts">
|
||||
import type { Container } from '../actions/focusAction';
|
||||
import { settings } from '../stores/settings.store';
|
||||
import { jellyfinItemsStore } from '../stores/data.store';
|
||||
import Carousel from '../components/Carousel/Carousel.svelte';
|
||||
import CarouselPlaceholderItems from '../components/Carousel/CarouselPlaceholderItems.svelte';
|
||||
|
||||
export let container: Container;
|
||||
let registerer = container.getChildRegisterer();
|
||||
export let parent: Container;
|
||||
let registerer = parent.getChildRegisterer();
|
||||
|
||||
settings.update((prev) => ({
|
||||
...prev,
|
||||
initialised: true,
|
||||
jellyfin: {
|
||||
...prev.jellyfin,
|
||||
apiKey: import.meta.env.VITE_JELLYFIN_API_KEY,
|
||||
baseUrl: import.meta.env.VITE_JELLYFIN_BASE_URL,
|
||||
userId: import.meta.env.VITE_JELLYFIN_USER_ID
|
||||
}
|
||||
}));
|
||||
|
||||
jellyfinItemsStore.subscribe((items) => {
|
||||
console.warn('GOT ITEMS', items.data);
|
||||
});
|
||||
let asd: HTMLDivElement;
|
||||
$: console.log('asd', asd);
|
||||
</script>
|
||||
|
||||
<div use:registerer>LibraryPage</div>
|
||||
<div use:registerer bind:this={asd}>
|
||||
<div>LibraryPage</div>
|
||||
<Carousel>
|
||||
<CarouselPlaceholderItems container={parent} />
|
||||
</Carousel>
|
||||
</div>
|
||||
|
||||
@@ -1,17 +1,13 @@
|
||||
import { getJellyfinItems, type JellyfinItem } from '$lib/apis/jellyfin/jellyfinApi';
|
||||
import {
|
||||
getRadarrDownloads,
|
||||
getRadarrMovies,
|
||||
type RadarrDownload
|
||||
} from '$lib/apis/radarr/radarrApi';
|
||||
import { derived, writable } from 'svelte/store';
|
||||
import { settings } from './settings.store';
|
||||
import { getJellyfinItems, type JellyfinItem } from '../apis/jellyfin/jellyfinApi';
|
||||
import {
|
||||
getSonarrDownloads,
|
||||
getSonarrSeries,
|
||||
type SonarrDownload,
|
||||
type SonarrSeries
|
||||
} from '$lib/apis/sonarr/sonarrApi';
|
||||
import { derived, writable } from 'svelte/store';
|
||||
import { settings } from './settings.store';
|
||||
} from '../apis/sonarr/sonarrApi';
|
||||
import { getRadarrDownloads, getRadarrMovies, type RadarrDownload } from '../apis/radarr/radarrApi';
|
||||
|
||||
async function waitForSettings() {
|
||||
return new Promise((resolve) => {
|
||||
|
||||
Reference in New Issue
Block a user