diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..5109fb3 --- /dev/null +++ b/.env.example @@ -0,0 +1,8 @@ +PUBLIC_RADARR_API_KEY=yourapikeyhere +PUBLIC_RADARR_BASE_URL=http://127.0.0.1:7878 + +PUBLIC_SONARR_API_KEY=yourapikeyhere +PUBLIC_SONARR_BASE_URL=http://127.0.0.1:8989 + +PUBLIC_JELLYFIN_API_KEY=yourapikeyhere +PUBLIC_JELLYFIN_BASE_URL=http://127.0.0.1:8096 diff --git a/README.md b/README.md index 3440d09..16d7680 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ services: PUBLIC_SONARR_API_KEY: yourapikeyhere PUBLIC_SONARR_BASE_URL: http://127.0.0.1:8989 PUBLIC_JELLYFIN_API_KEY: yourapikeyhere - PUBLIC_JELLYFIN_URL: http://127.0.0.1:8096 + PUBLIC_JELLYFIN_BASE_URL: http://127.0.0.1:8096 restart: unless-stopped ``` @@ -103,7 +103,7 @@ PUBLIC_SONARR_API_KEY=yourapikeyhere PUBLIC_SONARR_BASE_URL=http://127.0.0.1:8989 PUBLIC_JELLYFIN_API_KEY=yourapikeyhere -PUBLIC_JELLYFIN_URL=http://127.0.0.1:8096 +PUBLIC_JELLYFIN_BASE_URL=http://127.0.0.1:8096 ``` For Webstorm users: I'd recommend using VS Code as it has way better Svelte Typescript support. diff --git a/src/lib/apis/jellyfin/jellyfinApi.ts b/src/lib/apis/jellyfin/jellyfinApi.ts index 75e25d6..ff6d8ee 100644 --- a/src/lib/apis/jellyfin/jellyfinApi.ts +++ b/src/lib/apis/jellyfin/jellyfinApi.ts @@ -1,20 +1,20 @@ -import { env } from '$env/dynamic/public'; import type { components, paths } from '$lib/apis/jellyfin/jellyfin.generated'; import type { DeviceProfile } from '$lib/apis/jellyfin/playback-profiles'; +import { JELLYFIN_API_KEY, JELLYFIN_BASE_URL } from '$lib/constants'; import createClient from 'openapi-fetch'; export type JellyfinItem = components['schemas']['BaseItemDto']; -export const jellyfinAvailable = !!env.PUBLIC_JELLYFIN_URL && !!env.PUBLIC_JELLYFIN_API_KEY; +export const jellyfinAvailable = !!JELLYFIN_BASE_URL && !!JELLYFIN_API_KEY; export const JELLYFIN_DEVICE_ID = 'Reiverr Client'; export const JellyfinApi = - env.PUBLIC_JELLYFIN_URL && env.PUBLIC_JELLYFIN_API_KEY + JELLYFIN_BASE_URL && JELLYFIN_API_KEY ? createClient({ - baseUrl: env.PUBLIC_JELLYFIN_URL, + baseUrl: JELLYFIN_BASE_URL, headers: { - Authorization: `MediaBrowser DeviceId="${JELLYFIN_DEVICE_ID}", Token="${env.PUBLIC_JELLYFIN_API_KEY}"` + Authorization: `MediaBrowser DeviceId="${JELLYFIN_DEVICE_ID}", Token="${JELLYFIN_API_KEY}"` } }) : undefined; @@ -88,7 +88,7 @@ export const getJellyfinItems = async () => // JellyfinApi.get('/Users/{userId}/Items', { // params: { // path: { -// userId: env.PUBLIC_JELLYFIN_USER_ID || "" +// userId: PUBLIC_JELLYFIN_USER_ID || "" // }, // query: { // hasTmdbId: true, @@ -166,7 +166,7 @@ export const getJellyfinPlaybackInfo = async ( }).then((r) => ({ playbackUri: r.data?.MediaSources?.[0]?.TranscodingUrl || - `/Videos/${r.data?.MediaSources?.[0].Id}/stream.mp4?Static=true&mediaSourceId=${r.data?.MediaSources?.[0].Id}&deviceId=${JELLYFIN_DEVICE_ID}&api_key=${env.PUBLIC_JELLYFIN_API_KEY}&Tag=${r.data?.MediaSources?.[0].ETag}`, + `/Videos/${r.data?.MediaSources?.[0].Id}/stream.mp4?Static=true&mediaSourceId=${r.data?.MediaSources?.[0].Id}&deviceId=${JELLYFIN_DEVICE_ID}&api_key=${JELLYFIN_API_KEY}&Tag=${r.data?.MediaSources?.[0].ETag}`, mediaSourceId: r.data?.MediaSources?.[0]?.Id, playSessionId: r.data?.PlaySessionId, directPlay: diff --git a/src/lib/apis/radarr/radarrApi.ts b/src/lib/apis/radarr/radarrApi.ts index 33171e3..037ffa8 100644 --- a/src/lib/apis/radarr/radarrApi.ts +++ b/src/lib/apis/radarr/radarrApi.ts @@ -1,6 +1,6 @@ -import { env } from '$env/dynamic/public'; import type { components, paths } from '$lib/apis/radarr/radarr.generated'; import { getTmdbMovie } from '$lib/apis/tmdb/tmdbApi'; +import { RADARR_API_KEY, RADARR_BASE_URL } from '$lib/constants'; import { settings } from '$lib/stores/settings.store'; import { log } from '$lib/utils'; import createClient from 'openapi-fetch'; @@ -25,14 +25,14 @@ export interface RadarrMovieOptions { searchNow?: boolean; } -export const radarrAvailable = !!env.PUBLIC_RADARR_BASE_URL && !!env.PUBLIC_RADARR_API_KEY; +export const radarrAvailable = !!RADARR_BASE_URL && !!RADARR_API_KEY; export const RadarrApi = - env.PUBLIC_RADARR_BASE_URL && env.PUBLIC_RADARR_API_KEY + RADARR_BASE_URL && RADARR_API_KEY ? createClient({ - baseUrl: env.PUBLIC_RADARR_BASE_URL, + baseUrl: RADARR_BASE_URL, headers: { - 'X-Api-Key': env.PUBLIC_RADARR_API_KEY + 'X-Api-Key': RADARR_API_KEY } }) : undefined; diff --git a/src/lib/apis/sonarr/sonarrApi.ts b/src/lib/apis/sonarr/sonarrApi.ts index 89b1a65..613344a 100644 --- a/src/lib/apis/sonarr/sonarrApi.ts +++ b/src/lib/apis/sonarr/sonarrApi.ts @@ -1,10 +1,10 @@ -import { env } from '$env/dynamic/public'; import type { components, paths } from '$lib/apis/sonarr/sonarr.generated'; import { log } from '$lib/utils'; import createClient from 'openapi-fetch'; import { getTmdbSeries } from '../tmdb/tmdbApi'; import { get } from 'svelte/store'; import { settings } from '$lib/stores/settings.store'; +import { SONARR_API_KEY, SONARR_BASE_URL } from '$lib/constants'; export type SonarrSeries = components['schemas']['SeriesResource']; export type SonarrReleaseResource = components['schemas']['ReleaseResource']; @@ -38,14 +38,14 @@ export interface SonarrSeriesOptions { }; } -export const sonarrAvailable = !!env.PUBLIC_SONARR_BASE_URL && !!env.PUBLIC_SONARR_API_KEY; +export const sonarrAvailable = !!SONARR_BASE_URL && !!SONARR_API_KEY; export const SonarrApi = - env.PUBLIC_SONARR_BASE_URL && env.PUBLIC_SONARR_API_KEY + SONARR_BASE_URL && SONARR_API_KEY ? createClient({ - baseUrl: env.PUBLIC_SONARR_BASE_URL, + baseUrl: SONARR_BASE_URL, headers: { - 'X-Api-Key': env.PUBLIC_SONARR_API_KEY + 'X-Api-Key': SONARR_API_KEY } }) : undefined; diff --git a/src/lib/components/ContextMenu/LibraryItemContextItems.svelte b/src/lib/components/ContextMenu/LibraryItemContextItems.svelte index 3f3e33a..a85d8ae 100644 --- a/src/lib/components/ContextMenu/LibraryItemContextItems.svelte +++ b/src/lib/components/ContextMenu/LibraryItemContextItems.svelte @@ -1,6 +1,6 @@ @@ -59,7 +59,7 @@ - window.open(env.PUBLIC_RADARR_BASE_URL + '/movie/' + $itemStore.item?.radarrMovie?.tmdbId)} + window.open(RADARR_BASE_URL + '/movie/' + $itemStore.item?.radarrMovie?.tmdbId)} > Open in Radarr @@ -67,9 +67,7 @@ - window.open( - env.PUBLIC_SONARR_BASE_URL + '/series/' + $itemStore.item?.sonarrSeries?.titleSlug - )} + window.open(SONARR_BASE_URL + '/series/' + $itemStore.item?.sonarrSeries?.titleSlug)} > Open in Sonarr diff --git a/src/lib/components/SourceStats/RadarrStats.svelte b/src/lib/components/SourceStats/RadarrStats.svelte index 0227bb2..1652659 100644 --- a/src/lib/components/SourceStats/RadarrStats.svelte +++ b/src/lib/components/SourceStats/RadarrStats.svelte @@ -1,6 +1,6 @@