diff --git a/src/features/library/components/Library.svelte b/src/features/library/components/Library.svelte index ecbdf93..ff52096 100644 --- a/src/features/library/components/Library.svelte +++ b/src/features/library/components/Library.svelte @@ -21,9 +21,10 @@ import type { Manga, Category, Chapter } from "@types"; import { checkAndMarkCompleted as storeCheckAndMarkCompleted } from "@store/state.svelte"; - import LibraryToolbar from "./LibraryToolbar.svelte"; - import LibraryGrid from "./LibraryGrid.svelte"; - import LibraryFilters from "./LibraryFilters.svelte"; + import LibraryToolbar from "./LibraryToolbar.svelte"; + import LibraryGrid from "./LibraryGrid.svelte"; + import LibraryFilters from "./LibraryFilters.svelte"; + import BulkAutomationPanel from "../panels/BulkAutomationPanel.svelte"; import ContextMenu, { type MenuEntry } from "@shared/ui/ContextMenu.svelte"; import { Books, DownloadSimple, Folder, FolderSimple, FolderSimplePlus, Trash, Star, CheckSquare, ArrowSquareOut } from "phosphor-svelte"; @@ -48,10 +49,11 @@ let tabIndicator: { left: number; width: number } = $state({ left: 0, width: 0 }); - let selectedIds: Set = $state(new Set()); - let selectMode: boolean = $state(false); - let bulkWorking: boolean = $state(false); - let bulkMoveOpen: boolean = $state(false); + let selectedIds: Set = $state(new Set()); + let selectMode: boolean = $state(false); + let bulkWorking: boolean = $state(false); + let bulkMoveOpen: boolean = $state(false); + let bulkAutomateOpen: boolean = $state(false); let sortPanelOpen: boolean = $state(false); let filterPanelOpen: boolean = $state(false); @@ -308,6 +310,11 @@ finally { bulkWorking = false; exitSelectMode(); } } + function bulkAutomate() { + if (selectedIds.size === 0) return; + bulkAutomateOpen = true; + } + function sanitize(s: string) { return s.replace(/[\/\\?%*:|"<>]/g, "_"); } async function openMangaFolder(m: Manga) { @@ -507,6 +514,7 @@ {:else} { if (selectMode && !(e.target as HTMLElement).closest("button, input")) exitSelectMode(); }} {tab} {tabSortMode} {tabSortDir} @@ -577,6 +585,7 @@ onSelectAll={selectAll} onBulkMove={(cat) => { bulkMoveOpen = !bulkMoveOpen; }} onBulkRemove={bulkRemoveFromLibrary} + onBulkAutomate={bulkAutomate} {bulkWorking} {bulkMoveOpen} {visibleCategories} @@ -591,6 +600,12 @@ {#if emptyCtx} emptyCtx = null} /> {/if} +{#if bulkAutomateOpen} + { bulkAutomateOpen = false; exitSelectMode(); }} + /> +{/if} \ No newline at end of file diff --git a/src/features/series/components/SeriesActions.svelte b/src/features/series/components/SeriesActions.svelte index ddd8732..3c79249 100644 --- a/src/features/series/components/SeriesActions.svelte +++ b/src/features/series/components/SeriesActions.svelte @@ -173,7 +173,7 @@
- +
- + {#if availableScanlators.length > 1}
{/if} - + - +
- + {#if chapters.length > 0}
{/if} - + {#if totalPages > 1} + \ No newline at end of file