diff --git a/src/lib/jellyfin/jellyfin.ts b/src/lib/jellyfin/jellyfin.ts index dab0787..af51944 100644 --- a/src/lib/jellyfin/jellyfin.ts +++ b/src/lib/jellyfin/jellyfin.ts @@ -1,14 +1,13 @@ import createClient from 'openapi-fetch'; import type { paths } from '$lib/jellyfin/jellyfin-types'; -import { PUBLIC_JELLYFIN_API_KEY } from '$env/static/public'; +import { PUBLIC_JELLYFIN_API_KEY, PUBLIC_JELLYFIN_URL } from '$env/static/public'; import { request } from '$lib/utils'; export const JELLYFIN_DEVICE_ID = 'Reiverr Client'; -export const JELLYFIN_BASE_URL = 'http://jellyfin.home'; export const JELLYFIN_USER_ID = '75dcb061c9404115a7acdc893ea6bbbc'; export const JellyfinApi = createClient({ - baseUrl: JELLYFIN_BASE_URL, + baseUrl: PUBLIC_JELLYFIN_URL, headers: { Authorization: `MediaBrowser DeviceId="${JELLYFIN_DEVICE_ID}", Token="${PUBLIC_JELLYFIN_API_KEY}"` } diff --git a/src/lib/radarr/radarr.ts b/src/lib/radarr/radarr.ts index 170ceb3..11ed58f 100644 --- a/src/lib/radarr/radarr.ts +++ b/src/lib/radarr/radarr.ts @@ -1,10 +1,9 @@ import createClient from 'openapi-fetch'; -import { PUBLIC_RADARR_API_KEY } from '$env/static/public'; import { log, request } from '$lib/utils'; import type { paths } from '$lib/radarr/radarr-types'; import type { components } from '$lib/radarr/radarr-types'; -import type { TmdbMovie, TmdbMovieFull } from '$lib/tmdb-api'; -import { fetchTmdbMovie, TmdbApi } from '$lib/tmdb-api'; +import { fetchTmdbMovie } from '$lib/tmdb-api'; +import { RADARR_API_KEY, RADARR_BASE_URL } from '$env/static/private'; export type MovieResource = components['schemas']['MovieResource']; export type MovieFileResource = components['schemas']['MovieFileResource']; @@ -24,9 +23,9 @@ export interface RadarrMovieOptions { } export const RadarrApi = createClient({ - baseUrl: 'http://radarr.home', + baseUrl: RADARR_BASE_URL, headers: { - 'X-Api-Key': PUBLIC_RADARR_API_KEY + 'X-Api-Key': RADARR_API_KEY } }); diff --git a/src/lib/sonarr/sonarr.ts b/src/lib/sonarr/sonarr.ts index a2e691b..17868a4 100644 --- a/src/lib/sonarr/sonarr.ts +++ b/src/lib/sonarr/sonarr.ts @@ -1,10 +1,10 @@ import createClient from 'openapi-fetch'; -import type { paths as sonarrPaths } from '$lib/sonarr/sonarr'; -import { PUBLIC_SONARR_API_KEY } from '$env/static/public'; +import type { paths } from '$lib/sonarr/sonarr-types'; +import { SONARR_API_KEY, SONARR_BASE_URL } from '$env/static/private'; -export const SonarrApi = createClient({ - baseUrl: 'http://sonarr.home', +export const SonarrApi = createClient({ + baseUrl: SONARR_BASE_URL, headers: { - 'X-Api-Key': PUBLIC_SONARR_API_KEY + 'X-Api-Key': SONARR_API_KEY } }); diff --git a/src/lib/videoPlayerState.ts b/src/lib/videoPlayerState.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index c1f4cf8..fbe1b05 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -1,7 +1,21 @@ -
@@ -9,6 +23,7 @@
+ diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 25ff321..48cd4a1 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -45,10 +45,7 @@ {#await data.streamed.continueWatching then continueWatching} {#if continueWatching?.items?.length} -
+

Continue Watching

diff --git a/src/routes/components/Poster/Poster.svelte b/src/routes/components/Poster/Poster.svelte index 8486aa3..242a085 100644 --- a/src/routes/components/Poster/Poster.svelte +++ b/src/routes/components/Poster/Poster.svelte @@ -1,9 +1,10 @@
@@ -61,7 +73,7 @@
Stream import Modal from '../Modal/Modal.svelte'; import ModalContent from '../Modal/ModalContent.svelte'; - import { - requestRadarrReleases, - requestDownloadRadarrMovie, - fetchRadarrReleases - } from '$lib/radarr/radarr'; import { formatMinutesToTime, formatSize } from '$lib/utils'; import IconButton from '../IconButton.svelte'; import { DotFilled, Download, Plus } from 'radix-icons-svelte'; diff --git a/src/routes/components/ResourceDetails/LibraryDetails.svelte b/src/routes/components/ResourceDetails/LibraryDetails.svelte index 76f276d..78501eb 100644 --- a/src/routes/components/ResourceDetails/LibraryDetails.svelte +++ b/src/routes/components/ResourceDetails/LibraryDetails.svelte @@ -6,7 +6,6 @@ import RequestModal from '../RequestModal/RequestModal.svelte'; import IconButton from '../IconButton.svelte'; import classNames from 'classnames'; - import VideoPlayer from '../VideoPlayer/VideoPlayer.svelte'; import { log } from '$lib/utils.js'; let isRequestModalVisible = false; diff --git a/src/routes/components/ResourceDetails/ResourceDetails.svelte b/src/routes/components/ResourceDetails/ResourceDetails.svelte index 884853b..c951ad5 100644 --- a/src/routes/components/ResourceDetails/ResourceDetails.svelte +++ b/src/routes/components/ResourceDetails/ResourceDetails.svelte @@ -7,9 +7,9 @@ import type { CastMember, TmdbMovie, Video } from '$lib/tmdb-api'; import { fetchTmdbMovieCredits, fetchTmdbMovieVideos } from '$lib/tmdb-api'; import LibraryDetails from './LibraryDetails.svelte'; - import VideoPlayer from '../VideoPlayer/VideoPlayer.svelte'; import { getJellyfinItemByTmdbId } from '$lib/jellyfin/jellyfin'; import HeightHider from '../HeightHider.svelte'; + import { getContext } from 'svelte'; export let movie: TmdbMovie; export let videos: Video[]; @@ -21,7 +21,6 @@ let focusTrailer = false; let trailerStartTime = 0; let detailsVisible = showDetails; - let videoPlayerVisible = false; let streamButtonDisabled = true; let jellyfinId; @@ -49,6 +48,7 @@ 'December' ]; const releaseDate = new Date(movie.release_date); + const { playerState, close, streamJellyfinId } = getContext('player'); function openTrailer() { window @@ -190,7 +190,7 @@ jellyfinId && streamJellyfinId(jellyfinId)}>Stream
{#key movie.id} (videoPlayerVisible = true)} + openJellyfinStream={() => jellyfinId && streamJellyfinId(jellyfinId)} jellyfinStreamDisabled={streamButtonDisabled} tmdbId={movie.id} /> {/key} -{#if jellyfinId} - -{/if} -