Fix: Derive Auto-Download List from Filter (#39)

This commit is contained in:
Youwes09
2026-04-23 11:27:54 -05:00
parent 63a829ddca
commit b12ff4cbaa
3 changed files with 28 additions and 8 deletions
@@ -17,7 +17,6 @@
cropCovers: boolean;
libraryFilter: string;
bulkWorking: boolean;
bulkMoveOpen: boolean;
visibleCategories: Category[];
onCardClick: (e: MouseEvent, m: Manga) => void;
onCardContextMenu: (e: MouseEvent, m: Manga) => void;
@@ -30,16 +29,28 @@
onSelectAll: () => void;
onBulkMove: (cat: Category) => void;
onBulkRemove: () => void;
onCategoryMove: (cat: Category) => void;
}
let {
visibleManga, filtered, loading, cols, anims, selectMode, selectedIds,
hasMore, remainingCount, renderLimit, cropCovers, libraryFilter,
bulkWorking, bulkMoveOpen, visibleCategories,
bulkWorking, visibleCategories,
onCardClick, onCardContextMenu, onCardPointerDown, onCardPointerUp, onCardPointerLeave,
onLoadMore, onRetry, onExitSelectMode, onSelectAll, onBulkMove, onBulkRemove, onCategoryMove,
onLoadMore, onRetry, onExitSelectMode, onSelectAll, onBulkMove, onBulkRemove,
}: Props = $props();
let bulkMoveOpen: boolean = $state(false);
$effect(() => {
if (!bulkMoveOpen) return;
function onOutside(e: MouseEvent) {
if (!(e.target as HTMLElement).closest(".bulk-move-wrap")) bulkMoveOpen = false;
}
setTimeout(() => document.addEventListener("mousedown", onOutside, true), 0);
return () => document.removeEventListener("mousedown", onOutside, true);
});
$effect(() => { if (!selectMode) bulkMoveOpen = false; });
</script>
{#if selectMode}
@@ -57,7 +68,7 @@
<button
class="sel-btn sel-move"
disabled={selectedIds.size === 0 || bulkWorking}
onclick={() => onBulkMove(visibleCategories[0])}
onclick={() => bulkMoveOpen = !bulkMoveOpen}
>
<Folder size={13} weight="bold" />
Move to folder
@@ -65,7 +76,7 @@
{#if bulkMoveOpen}
<div class="bulk-folder-list">
{#each visibleCategories as cat}
<button class="bulk-folder-item" onclick={() => onCategoryMove(cat)}>
<button class="bulk-folder-item" onclick={() => { onBulkMove(cat); bulkMoveOpen = false; }}>
<Folder size={11} weight="bold" />
{cat.name}
</button>
@@ -217,4 +228,4 @@
.load-more-count { color: var(--text-faint); font-size: var(--text-2xs); }
.center { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 60%; color: var(--text-muted); font-size: var(--text-sm); gap: var(--sp-2); text-align: center; line-height: var(--leading-base); }
@keyframes fadeIn { from { opacity: 0 } to { opacity: 1 } }
</style>
</style>