mirror of
https://github.com/aleksilassila/reiverr.git
synced 2026-04-21 16:25:11 +02:00
refactor: MediaManager structure
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user