refactor: MediaManager structure
This commit is contained in:
6
src/lib/apis/combined-types.d.ts
vendored
6
src/lib/apis/combined-types.d.ts
vendored
@@ -1,6 +1,6 @@
|
||||
import type { MovieDownload, MovieFileResource, RadarrRelease } from './radarr/radarr-api';
|
||||
import type { EpisodeFileResource, EpisodeDownload, SonarrRelease } from './sonarr/sonarr-api';
|
||||
|
||||
export type Release = RadarrRelease & SonarrRelease;
|
||||
export type FileResource = MovieFileResource & EpisodeFileResource;
|
||||
export type Download = MovieDownload & EpisodeDownload;
|
||||
export type Release = RadarrRelease | SonarrRelease;
|
||||
export type FileResource = MovieFileResource | EpisodeFileResource;
|
||||
export type Download = MovieDownload | EpisodeDownload;
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
import UiCarousel from '../../lib/components/Carousel/UICarousel.svelte';
|
||||
import EpisodeCard from '../../lib/components/EpisodeCard/EpisodeCard.svelte';
|
||||
import PersonCard from '../../lib/components/PersonCard/PersonCard.svelte';
|
||||
import SeriesRequestModal from '../components/ManageMedia/SeriesRequestModal.svelte';
|
||||
import SeriesRequestModal from '../components/MediaManager/SeriesRequestModal.svelte';
|
||||
import OpenInButton from '../../lib/components/TitlePageLayout/OpenInButton.svelte';
|
||||
import TitlePageLayout from '../../lib/components/TitlePageLayout/TitlePageLayout.svelte';
|
||||
import { playerState } from '../../lib/components/VideoPlayer/VideoPlayer';
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
<script lang="ts">
|
||||
import type { MovieDownload } from '../../apis/radarr/radarr-api';
|
||||
import ButtonGhost from '../Ghosts/ButtonGhost.svelte';
|
||||
import Button from '../Button.svelte';
|
||||
import { formatSize } from '../../utils';
|
||||
@@ -1,12 +1,10 @@
|
||||
<script lang="ts">
|
||||
import type { MovieFileResource } from '../../../apis/radarr/radarr-api';
|
||||
import ButtonGhost from '../../Ghosts/ButtonGhost.svelte';
|
||||
import Button from '../../Button.svelte';
|
||||
import ButtonGhost from '../Ghosts/ButtonGhost.svelte';
|
||||
import Button from '../Button.svelte';
|
||||
import { ChevronRight } from 'radix-icons-svelte';
|
||||
import { formatSize } from '../../../utils.js';
|
||||
import type { EpisodeFileResource } from '../../../apis/sonarr/sonarr-api';
|
||||
import type { FileResource } from '../../../apis/combined-types';
|
||||
import { scrollIntoView } from '../../../selectable';
|
||||
import { formatSize } from '../../utils.js';
|
||||
import type { FileResource } from '../../apis/combined-types';
|
||||
import { scrollIntoView } from '../../selectable';
|
||||
|
||||
export let files: Promise<FileResource[]>;
|
||||
export let handleSelectFile: (file: FileResource) => void;
|
||||
@@ -1,13 +1,13 @@
|
||||
<script lang="ts">
|
||||
import { type RadarrRelease } from '../../../apis/radarr/radarr-api';
|
||||
import { type RadarrRelease } from '../../apis/radarr/radarr-api';
|
||||
import classNames from 'classnames';
|
||||
import { useRequest } from '../../../stores/data.store';
|
||||
import Button from '../../Button.svelte';
|
||||
import { useRequest } from '../../stores/data.store';
|
||||
import Button from '../Button.svelte';
|
||||
import { ChevronRight, DotFilled } from 'radix-icons-svelte';
|
||||
import { formatMinutesToTime, formatSize } from '../../../utils';
|
||||
import { formatMinutesToTime, formatSize } from '../../utils';
|
||||
import { derived } from 'svelte/store';
|
||||
import ButtonGhost from '../../Ghosts/ButtonGhost.svelte';
|
||||
import type { SonarrRelease } from '../../../apis/sonarr/sonarr-api';
|
||||
import ButtonGhost from '../Ghosts/ButtonGhost.svelte';
|
||||
import type { SonarrRelease } from '../../apis/sonarr/sonarr-api';
|
||||
|
||||
type Release = RadarrRelease | SonarrRelease;
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
<script lang="ts">
|
||||
import Container from '../../../../Container.svelte';
|
||||
import type { MovieFileResource } from '../../../apis/radarr/radarr-api';
|
||||
import { formatSize } from '../../../utils';
|
||||
import Button from '../../Button.svelte';
|
||||
import FullScreenModal from '../../Modal/FullScreenModal.svelte';
|
||||
import FullScreenModalContainer from '../ManageMediaMenuLayout.svelte';
|
||||
import FullScreenModalContainer from '../MediaManagerMenuLayout.svelte';
|
||||
import type { FileResource } from '../../../apis/combined-types';
|
||||
|
||||
export let modalId: symbol;
|
||||
@@ -1,13 +1,11 @@
|
||||
<script lang="ts">
|
||||
import Container from '../../../../Container.svelte';
|
||||
import type { MovieFileResource, RadarrRelease } from '../../../apis/radarr/radarr-api';
|
||||
import { formatSize } from '../../../utils';
|
||||
import Button from '../../Button.svelte';
|
||||
import FullScreenModal from '../../Modal/FullScreenModal.svelte';
|
||||
import FullScreenModalContainer from '../ManageMediaMenuLayout.svelte';
|
||||
import { useActionRequest, useRequest } from '../../../stores/data.store';
|
||||
import FullScreenModalContainer from '../MediaManagerMenuLayout.svelte';
|
||||
import { useActionRequest } from '../../../stores/data.store';
|
||||
import { Download, Plus } from 'radix-icons-svelte';
|
||||
import type { SonarrRelease } from '../../../apis/sonarr/sonarr-api';
|
||||
import type { Release } from '../../../apis/combined-types';
|
||||
|
||||
export let modalId: symbol;
|
||||
@@ -1,6 +1,6 @@
|
||||
<script lang="ts">
|
||||
import FullScreenModal from '../../Modal/FullScreenModal.svelte';
|
||||
import ReleaseList from './ReleaseList.svelte';
|
||||
import ReleaseList from '../ReleaseList.svelte';
|
||||
import type { Release } from '../../../apis/combined-types';
|
||||
|
||||
export let modalId: symbol;
|
||||
@@ -1,22 +1,22 @@
|
||||
<script lang="ts">
|
||||
import FullScreenModal from '../Modal/FullScreenModal.svelte';
|
||||
import ManageMediaMenuLayout from './ManageMediaMenuLayout.svelte';
|
||||
import FullScreenModal from '../../Modal/FullScreenModal.svelte';
|
||||
import ManageMediaMenuLayout from '../MediaManagerMenuLayout.svelte';
|
||||
import {
|
||||
type MovieFileResource,
|
||||
radarrApi,
|
||||
type RadarrRelease
|
||||
} from '../../apis/radarr/radarr-api';
|
||||
import ReleaseList from './Releases/ReleaseList.svelte';
|
||||
import FilesList from './LocalFiles/FilesList.svelte';
|
||||
import { modalStack } from '../Modal/modal.store';
|
||||
import FileActionsModal from './LocalFiles/FileActionsModal.svelte';
|
||||
import DownloadsList from './DownloadsList.svelte';
|
||||
import { useRequest } from '../../stores/data.store';
|
||||
} from '../../../apis/radarr/radarr-api';
|
||||
import ReleaseList from '../ReleaseList.svelte';
|
||||
import FilesList from '../FileList.svelte';
|
||||
import { modalStack } from '../../Modal/modal.store';
|
||||
import FileActionsModal from '../modals/FileActionsModal.svelte';
|
||||
import DownloadsList from '../DownloadList.svelte';
|
||||
import { useRequest } from '../../../stores/data.store';
|
||||
import { derived, type Readable } from 'svelte/store';
|
||||
import ReleaseActionsModal from './Releases/ReleaseActionsModal.svelte';
|
||||
import type { SonarrRelease } from '../../apis/sonarr/sonarr-api';
|
||||
import Button from '../Button.svelte';
|
||||
import type { FileResource } from '../../apis/combined-types';
|
||||
import ReleaseActionsModal from '../modals/ReleaseActionsModal.svelte';
|
||||
import type { SonarrRelease } from '../../../apis/sonarr/sonarr-api';
|
||||
import Button from '../../Button.svelte';
|
||||
import type { FileResource } from '../../../apis/combined-types';
|
||||
|
||||
export let modalId: symbol;
|
||||
export let hidden: boolean;
|
||||
@@ -1,8 +1,8 @@
|
||||
<script lang="ts">
|
||||
import { sonarrApi, type SonarrSeason } from '../../apis/sonarr/sonarr-api';
|
||||
import { useRequest } from '../../stores/data.store';
|
||||
import Button from '../Button.svelte';
|
||||
import { scrollIntoView } from '../../selectable';
|
||||
import { sonarrApi, type SonarrSeason } from '../../../apis/sonarr/sonarr-api';
|
||||
import { useRequest } from '../../../stores/data.store';
|
||||
import Button from '../../Button.svelte';
|
||||
import { scrollIntoView } from '../../../selectable';
|
||||
|
||||
export let id: number;
|
||||
export let selectSeason: (seasonNumber: number) => void;
|
||||
@@ -1,19 +1,16 @@
|
||||
<script lang="ts">
|
||||
import FullScreenModal from '../Modal/FullScreenModal.svelte';
|
||||
import ManageMediaMenuLayout from './ManageMediaMenuLayout.svelte';
|
||||
import { radarrApi } from '../../apis/radarr/radarr-api';
|
||||
import FilesList from './LocalFiles/FilesList.svelte';
|
||||
import { modalStack } from '../Modal/modal.store';
|
||||
import FileActionsModal from './LocalFiles/FileActionsModal.svelte';
|
||||
import DownloadsList from './DownloadsList.svelte';
|
||||
import { useRequest } from '../../stores/data.store';
|
||||
import FullScreenModal from '../../Modal/FullScreenModal.svelte';
|
||||
import ManageMediaMenuLayout from '../MediaManagerMenuLayout.svelte';
|
||||
import FilesList from '../FileList.svelte';
|
||||
import { modalStack } from '../../Modal/modal.store';
|
||||
import FileActionsModal from '../modals/FileActionsModal.svelte';
|
||||
import DownloadsList from '../DownloadList.svelte';
|
||||
import { useRequest } from '../../../stores/data.store';
|
||||
import { derived, type Readable } from 'svelte/store';
|
||||
import SeasonList from './SeasonList.svelte';
|
||||
import { sonarrApi } from '../../apis/sonarr/sonarr-api';
|
||||
import SeasonReleasesModal from './Releases/SeasonReleasesModal.svelte';
|
||||
import type { FileResource, Release } from '../../apis/combined-types';
|
||||
import ReleaseActionsModal from './Releases/ReleaseActionsModal.svelte';
|
||||
import Button from '../Button.svelte';
|
||||
import { sonarrApi } from '../../../apis/sonarr/sonarr-api';
|
||||
import SeasonReleasesModal from './modals/EpisodeListModal.svelte';
|
||||
import type { FileResource } from '../../../apis/combined-types';
|
||||
|
||||
export let modalId: symbol;
|
||||
export let groupId: symbol;
|
||||
@@ -63,18 +60,6 @@
|
||||
);
|
||||
}
|
||||
|
||||
const handleSelectRelease = (release: Release) => {
|
||||
modalStack.create(
|
||||
ReleaseActionsModal,
|
||||
{
|
||||
release,
|
||||
grabRelease: handleGrabRelease,
|
||||
status: undefined
|
||||
},
|
||||
groupId
|
||||
);
|
||||
};
|
||||
|
||||
function handleSelectFile(file: FileResource) {
|
||||
modalStack.create(
|
||||
FileActionsModal,
|
||||
@@ -1,18 +1,13 @@
|
||||
<script lang="ts">
|
||||
import FullScreenModal from '../../Modal/FullScreenModal.svelte';
|
||||
import ManageMediaMenuLayout from '../ManageMediaMenuLayout.svelte';
|
||||
import {
|
||||
sonarrApi,
|
||||
type SonarrEpisode,
|
||||
type SonarrRelease
|
||||
} from '../../../apis/sonarr/sonarr-api';
|
||||
import { useRequest } from '../../../stores/data.store';
|
||||
import Button from '../../Button.svelte';
|
||||
import { modalStack } from '../../Modal/modal.store';
|
||||
import ReleaseListModal from './ReleaseListModal.svelte';
|
||||
import type { RadarrRelease } from '../../../apis/radarr/radarr-api';
|
||||
import ReleaseActionsModal from './ReleaseActionsModal.svelte';
|
||||
import type { Release } from '../../../apis/combined-types';
|
||||
import FullScreenModal from '../../../Modal/FullScreenModal.svelte';
|
||||
import ManageMediaMenuLayout from '../../MediaManagerMenuLayout.svelte';
|
||||
import { sonarrApi, type SonarrEpisode } from '../../../../apis/sonarr/sonarr-api';
|
||||
import { useRequest } from '../../../../stores/data.store';
|
||||
import Button from '../../../Button.svelte';
|
||||
import { modalStack } from '../../../Modal/modal.store';
|
||||
import ReleaseListModal from '../../modals/ReleaseListModal.svelte';
|
||||
import ReleaseActionsModal from '../../modals/ReleaseActionsModal.svelte';
|
||||
import type { Release } from '../../../../apis/combined-types';
|
||||
|
||||
export let modalId: symbol;
|
||||
export let groupId: symbol;
|
||||
@@ -12,12 +12,12 @@
|
||||
import Button from '../Button.svelte';
|
||||
import { playerState } from '../VideoPlayer/VideoPlayer';
|
||||
import { modalStack } from '../Modal/modal.store';
|
||||
import ManageMediaModal from '../ManageMedia/RadarrMediaMangerModal.svelte';
|
||||
import ManageMediaModal from '../MediaManager/radarr/RadarrMediaMangerModal.svelte';
|
||||
import { derived } from 'svelte/store';
|
||||
import EpisodeCarousel from './EpisodeCarousel.svelte';
|
||||
import { scrollIntoView, Selectable } from '../../selectable';
|
||||
import ScrollHelper from '../ScrollHelper.svelte';
|
||||
import SonarrMediaMangerModal from '../ManageMedia/SonarrMediaMangerModal.svelte';
|
||||
import SonarrMediaMangerModal from '../MediaManager/sonarr/SonarrMediaMangerModal.svelte';
|
||||
|
||||
export let id: string;
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
import DetachedPage from '../components/DetachedPage/DetachedPage.svelte';
|
||||
import { modalStack } from '../components/Modal/modal.store';
|
||||
import { playerState } from '../components/VideoPlayer/VideoPlayer';
|
||||
import ManageMediaModal from '../components/ManageMedia/RadarrMediaMangerModal.svelte';
|
||||
import ManageMediaModal from '../components/MediaManager/radarr/RadarrMediaMangerModal.svelte';
|
||||
|
||||
export let id: string;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user