refactor: Media Manager Modals

This commit is contained in:
Aleksi Lassila
2024-04-24 10:59:15 +03:00
parent 5ece8dd6f5
commit 165f793a43
20 changed files with 318 additions and 82 deletions

View File

@@ -1,5 +1,8 @@
import type { ComponentType, SvelteComponentTyped } from 'svelte';
import { derived, writable } from 'svelte/store';
import SeasonMediaManagerModal from '../MediaManagerModal/SeasonMediaManagerModal.svelte';
import EpisodeMediaManagerModal from '../MediaManagerModal/EpisodeMediaManagerModal.svelte';
import MovieMediaManagerModal from '../MediaManagerModal/MovieMediaManagerModal.svelte';
type ModalItem = {
id: symbol;
@@ -49,6 +52,15 @@ function createModalStack() {
export const modalStack = createModalStack();
export const modalStackTop = modalStack.top;
export const openSeasonMediaManager = (tmdbId: number, season: number) =>
modalStack.create(SeasonMediaManagerModal, { id: tmdbId, season });
export const openEpisodeMediaManager = (tmdbId: number, season: number, episode: number) =>
modalStack.create(EpisodeMediaManagerModal, { id: tmdbId, season, episode });
export const openMovieMediaManager = (tmdbId: number) =>
modalStack.create(MovieMediaManagerModal, { id: tmdbId });
// let lastTitleModal: symbol | undefined = undefined;
// export function openTitleModal(titleId: TitleId) {
// if (lastTitleModal) {