diff --git a/frontend/src/lib/components/ComponentStack/ComponentStack.svelte b/frontend/src/lib/components/ComponentStack/ComponentStack.svelte deleted file mode 100644 index f474a08..0000000 --- a/frontend/src/lib/components/ComponentStack/ComponentStack.svelte +++ /dev/null @@ -1,22 +0,0 @@ - - -{#each $items as item, i (item.id)} - -{/each} diff --git a/frontend/src/lib/components/ComponentStack/ComponentStackContainer.svelte b/frontend/src/lib/components/ComponentStack/ComponentStackContainer.svelte deleted file mode 100644 index f8fe17e..0000000 --- a/frontend/src/lib/components/ComponentStack/ComponentStackContainer.svelte +++ /dev/null @@ -1,53 +0,0 @@ - - - - {#if ($top?.preventScroll || preventScroll) && $top === component} - - {/if} - - - - -{#if nextComponent} - -{/if} diff --git a/frontend/src/lib/components/ComponentStack/ComponentStackContextProvider.svelte b/frontend/src/lib/components/ComponentStack/ComponentStackContextProvider.svelte deleted file mode 100644 index f93c5dc..0000000 --- a/frontend/src/lib/components/ComponentStack/ComponentStackContextProvider.svelte +++ /dev/null @@ -1,50 +0,0 @@ - - - - {#if item.preventScroll && isTop} - - {/if} - - - - - diff --git a/frontend/src/lib/components/DynamicMenu/DynamicMenu.ts b/frontend/src/lib/components/DynamicMenu/DynamicMenu.ts deleted file mode 100644 index 89fbfaa..0000000 --- a/frontend/src/lib/components/DynamicMenu/DynamicMenu.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { writable } from 'svelte/store'; - -export type MenuStack = ReturnType; - -export function useMenuStack() { - type Page = { - id: symbol; - }; - - const pages = writable([]); - - function addPage(id: symbol) { - const page: Page = { id }; - pages.update((p) => [...p, page]); - } - - function removePage(id: symbol) { - pages.update((p) => { - return p.filter((page) => page.id !== id); - }); - } - - return { - subscribe: pages.subscribe, - addPage, - removePage - }; -} diff --git a/frontend/src/lib/components/DynamicMenu/DynamicMenuModal.svelte b/frontend/src/lib/components/DynamicMenu/DynamicMenuModal.svelte deleted file mode 100644 index d05157e..0000000 --- a/frontend/src/lib/components/DynamicMenu/DynamicMenuModal.svelte +++ /dev/null @@ -1,23 +0,0 @@ - - - - - diff --git a/frontend/src/lib/components/DynamicMenu/DynamicMenuStack.svelte b/frontend/src/lib/components/DynamicMenu/DynamicMenuStack.svelte deleted file mode 100644 index e69de29..0000000 diff --git a/frontend/src/lib/components/DynamicMenu/MediaSourceMenuModal.svelte b/frontend/src/lib/components/DynamicMenu/MediaSourceMenuModal.svelte deleted file mode 100644 index f16b9a7..0000000 --- a/frontend/src/lib/components/DynamicMenu/MediaSourceMenuModal.svelte +++ /dev/null @@ -1,116 +0,0 @@ - - - - { - if (!$componentStack.length) { - close(); - } else { - componentStack.pop(); - detail.stopPropagation(); - } - }} - > - {#if !$componentStack.length} - {#await views then views} - {#each views as view} - - - {capitalize(view.label)} - {#if hasFocus} - - {/if} - - - {/each} - {/await} - {:else} - - {/if} - - diff --git a/frontend/src/lib/components/GlobalBackground/BackgroundStack.ts b/frontend/src/lib/components/GlobalBackground/BackgroundStack.ts index 4e89fc4..2ea0ed1 100644 --- a/frontend/src/lib/components/GlobalBackground/BackgroundStack.ts +++ b/frontend/src/lib/components/GlobalBackground/BackgroundStack.ts @@ -1,19 +1,12 @@ import { Selectable, useRegistrar } from '$lib/selectable'; -import { - getContext, - hasContext, - onDestroy, - setContext, - SvelteComponentTyped, - type ComponentProps, - type ComponentType -} from 'svelte'; +import { onDestroy, SvelteComponentTyped, type ComponentProps, type ComponentType } from 'svelte'; import { derived, get, writable } from 'svelte/store'; import YoutubeVideo from '../VideoPlayer/YoutubeVideo.svelte'; import TmdbVideoPlayer from '../VideoPlayer/TmdbVideoPlayer.svelte'; import type { MediaSourceDto } from '$lib/apis/reiverr/reiverr.openapi'; +import { getContext, hasContext, setContext } from '../StackRouter/stack-router.store'; -export const BACKGROUND_CONTEXT_KEY = Symbol('BACKGROUND_CONTEXT_KEY'); +export const BACKGROUND_CONTEXT_KEY = 'background-context'; export type Background = { backdropUri: string; diff --git a/frontend/src/lib/components/Integrations/JellyfinIntegration.svelte b/frontend/src/lib/components/Integrations/JellyfinIntegration.svelte deleted file mode 100644 index 888c491..0000000 --- a/frontend/src/lib/components/Integrations/JellyfinIntegration.svelte +++ /dev/null @@ -1,139 +0,0 @@ - - -
- !!u?.length)} - on:change={handleChange} - > - Base Url - - !!u?.length)} - on:change={handleChange} - > - API Key - -
- -{#await jellyfinUsers then users} - {#if users?.length} - - dispatch('click-user', { user: jellyfinUser, users, setJellyfinUser })} - class="mb-4" - > - User - - {/if} -{/await} - -{#if error} -
{error}
-{/if} - - diff --git a/frontend/src/lib/components/Integrations/JellyfinIntegrationUsersDialog.svelte b/frontend/src/lib/components/Integrations/JellyfinIntegrationUsersDialog.svelte deleted file mode 100644 index fbf8da2..0000000 --- a/frontend/src/lib/components/Integrations/JellyfinIntegrationUsersDialog.svelte +++ /dev/null @@ -1,29 +0,0 @@ - - - -

Users

-
- {#each users as user} - handleSelect(user)} - > - {user.Name} - - {/each} -
-
diff --git a/frontend/src/lib/components/Integrations/RadarrIntegration.svelte b/frontend/src/lib/components/Integrations/RadarrIntegration.svelte deleted file mode 100644 index 4e8e715..0000000 --- a/frontend/src/lib/components/Integrations/RadarrIntegration.svelte +++ /dev/null @@ -1,97 +0,0 @@ - - -
- - Base Url - - API Key -
- -{#if error} -
{error}
-{/if} - - diff --git a/frontend/src/lib/components/Integrations/SonarrIntegration.svelte b/frontend/src/lib/components/Integrations/SonarrIntegration.svelte deleted file mode 100644 index a0d3b73..0000000 --- a/frontend/src/lib/components/Integrations/SonarrIntegration.svelte +++ /dev/null @@ -1,97 +0,0 @@ - - -
- - Base Url - - API Key -
- -{#if error} -
{error}
-{/if} - - diff --git a/frontend/src/lib/components/MediaManagerModal/Dialogs/MMConfirmDeleteFileDialog.svelte b/frontend/src/lib/components/MediaManagerModal/Dialogs/MMConfirmDeleteFileDialog.svelte deleted file mode 100644 index 40cb919..0000000 --- a/frontend/src/lib/components/MediaManagerModal/Dialogs/MMConfirmDeleteFileDialog.svelte +++ /dev/null @@ -1,11 +0,0 @@ - - - -

Delete file?

-
Are you sure you want to permanently delete this file?
-
diff --git a/frontend/src/lib/components/MediaManagerModal/Downloads/MMDownloadRow.svelte b/frontend/src/lib/components/MediaManagerModal/Downloads/MMDownloadRow.svelte deleted file mode 100644 index 50c7985..0000000 --- a/frontend/src/lib/components/MediaManagerModal/Downloads/MMDownloadRow.svelte +++ /dev/null @@ -1,67 +0,0 @@ - - - -
- -
- -
-

{subtitle}

-

{title}

-
-
- - - -
-
- diff --git a/frontend/src/lib/components/MediaManagerModal/LocalFiles/MMLocalFileRow.svelte b/frontend/src/lib/components/MediaManagerModal/LocalFiles/MMLocalFileRow.svelte deleted file mode 100644 index e3f84f3..0000000 --- a/frontend/src/lib/components/MediaManagerModal/LocalFiles/MMLocalFileRow.svelte +++ /dev/null @@ -1,37 +0,0 @@ - - - - -
- {file.sceneName} -
-
- {file.mediaInfo?.runTime} - {formatSize(file.size || 0)} - {file.quality?.quality?.name} - - - modalStack.create(MMConfirmDeleteFileDialog, { - deleteFile: () => deleteFile(file.id || -1) - })} - > - - - -
diff --git a/frontend/src/lib/components/MediaManagerModal/LocalFiles/MMLocalFilesTab.svelte b/frontend/src/lib/components/MediaManagerModal/LocalFiles/MMLocalFilesTab.svelte deleted file mode 100644 index d68c4b3..0000000 --- a/frontend/src/lib/components/MediaManagerModal/LocalFiles/MMLocalFilesTab.svelte +++ /dev/null @@ -1,138 +0,0 @@ - - -{#await downloads then downloads} - {#if downloads?.length} -

Downloads

- -
- {#each downloads as download} - - {/each} -
- - - - - -

Local Files

- {/if} -{/await} - -{#await files} - {#each new Array(5) as _, index} -
- -
- {/each} -{:then files} -
- - - Title - - - Runtime - - - Size - - - Quality - - - - - {#each files as file} - - {/each} - -
- {#if files?.length} - - - - {:else} -
-

No local files found

-
Your local files will appear here.
-
- {/if} -{/await} diff --git a/frontend/src/lib/components/MediaManagerModal/MMAddToRadarrDialog.svelte b/frontend/src/lib/components/MediaManagerModal/MMAddToRadarrDialog.svelte deleted file mode 100644 index 422995f..0000000 --- a/frontend/src/lib/components/MediaManagerModal/MMAddToRadarrDialog.svelte +++ /dev/null @@ -1,280 +0,0 @@ - - - - {#if backgroundUrl && tab === 'add-to-radarr'} -
- {/if} - - {#await sonarrOptions then { qualityProfiles, rootFolders }} - {@const selectedRootFolder = rootFolders.find( - (f) => f.path === $addOptionsStore.rootFolderPath - )} - {@const selectedQualityProfile = qualityProfiles.find( - (f) => f.id === $addOptionsStore.qualityProfileId - )} - - -
-
-

Add {title} to Sonarr?

-
- Before you can fetch episodes, you need to add this series to Sonarr. -
- (tab = 'root-folders')} - let:hasFocus - > -
-

Root Folder

- {selectedRootFolder?.path} - ({formatSize(selectedRootFolder?.freeSpace || 0)} left) -
- -
- - (tab = 'quality-profiles')} - let:hasFocus - > -
-

- Quality Profile -

- - {selectedQualityProfile?.name} - -
- -
- - (tab = 'monitor-settings')} - let:hasFocus - > -
-

- Minimum Availability -

- - {capitalize($addOptionsStore.minimumAvailability || 'released')} - -
- -
- - - - - - - - - -
- - - - - - - -

Root Folder

-
- {#each rootFolders as rootFolder} - - addOptionsStore.update((prev) => ({ ...prev, rootFolderId: rootFolder.id || 0 }))} - focusOnClick - focusOnMount={$addOptionsStore.rootFolderPath === rootFolder.path} - > -
- {rootFolder.path} ({formatSize(rootFolder.freeSpace || 0)} left) -
- {#if selectedRootFolder?.id === rootFolder.id} - - {/if} -
- {/each} -
-
- - -

Quality Profile

-
- {#each qualityProfiles as qualityProfile} - - addOptionsStore.update((prev) => ({ - ...prev, - qualityProfileId: qualityProfile.id || 0 - }))} - focusOnClick - focusOnMount={$addOptionsStore.qualityProfileId === qualityProfile.id} - > -
{qualityProfile.name}
- {#if selectedQualityProfile?.id === qualityProfile.id} - - {/if} -
- {/each} -
-
- - -

Monitor Episodes

-
- {#each movieAvailabilities as availibility} - - addOptionsStore.update((prev) => ({ ...prev, monitorOptions: availibility }))} - focusOnClick - focusOnMount={$addOptionsStore.minimumAvailability === availibility} - > -
{capitalize(availibility)}
- {#if $addOptionsStore.minimumAvailability === availibility} - - {/if} -
- {/each} -
-
- - {/await} -
diff --git a/frontend/src/lib/components/MediaManagerModal/MMAddToSonarrDialog.svelte b/frontend/src/lib/components/MediaManagerModal/MMAddToSonarrDialog.svelte deleted file mode 100644 index d86241a..0000000 --- a/frontend/src/lib/components/MediaManagerModal/MMAddToSonarrDialog.svelte +++ /dev/null @@ -1,281 +0,0 @@ - - - - {#if backgroundUrl && tab === 'add-to-sonarr'} -
- {/if} - - {#await sonarrOptions then { qualityProfiles, rootFolders }} - {@const selectedRootFolder = rootFolders.find( - (f) => f.path === $addOptionsStore.rootFolderPath - )} - {@const selectedQualityProfile = qualityProfiles.find( - (f) => f.id === $addOptionsStore.qualityProfileId - )} - - -
-
-

Add {title} to Sonarr?

-
- Before you can fetch episodes, you need to add this series to Sonarr. -
- (tab = 'root-folders')} - let:hasFocus - > -
-

Root Folder

- {selectedRootFolder?.path} - ({formatSize(selectedRootFolder?.freeSpace || 0)} left) -
- -
- - (tab = 'quality-profiles')} - let:hasFocus - > -
-

- Quality Profile -

- - {selectedQualityProfile?.name} - -
- -
- - (tab = 'monitor-settings')} - let:hasFocus - > -
-

- Monitor Strategy -

- - {capitalize($addOptionsStore.monitorOptions || 'none')} - -
- -
- - - - - - - - - -
- - - - - - - -

Root Folder

-
- {#each rootFolders as rootFolder} - - addOptionsStore.update((prev) => ({ ...prev, rootFolderId: rootFolder.id || 0 }))} - focusOnClick - focusOnMount={$addOptionsStore.rootFolderPath === rootFolder.path} - > -
- {rootFolder.path} ({formatSize(rootFolder.freeSpace || 0)} left) -
- {#if selectedRootFolder?.id === rootFolder.id} - - {/if} -
- {/each} -
-
- - -

Quality Profile

-
- {#each qualityProfiles as qualityProfile} - - addOptionsStore.update((prev) => ({ - ...prev, - qualityProfileId: qualityProfile.id || 0 - }))} - focusOnClick - focusOnMount={$addOptionsStore.qualityProfileId === qualityProfile.id} - > -
{qualityProfile.name}
- {#if selectedQualityProfile?.id === qualityProfile.id} - - {/if} -
- {/each} -
-
- - -

Monitor Episodes

-
- {#each sonarrMonitorOptions as monitorOption} - - addOptionsStore.update((prev) => ({ ...prev, monitorOptions: monitorOption }))} - focusOnClick - focusOnMount={$addOptionsStore.monitorOptions === monitorOption} - > -
{capitalize(monitorOption)}
- {#if $addOptionsStore.monitorOptions === monitorOption} - - {/if} -
- {/each} -
-
- - {/await} -
diff --git a/frontend/src/lib/components/MediaManagerModal/MMMainLayout.svelte b/frontend/src/lib/components/MediaManagerModal/MMMainLayout.svelte deleted file mode 100644 index 86097e5..0000000 --- a/frontend/src/lib/components/MediaManagerModal/MMMainLayout.svelte +++ /dev/null @@ -1,25 +0,0 @@ - - -
-
-
- - - - -
-
- - -
-
- - - -
diff --git a/frontend/src/lib/components/MediaManagerModal/MMModal.svelte b/frontend/src/lib/components/MediaManagerModal/MMModal.svelte deleted file mode 100644 index 2a6ff40..0000000 --- a/frontend/src/lib/components/MediaManagerModal/MMModal.svelte +++ /dev/null @@ -1,28 +0,0 @@ - - - -