diff --git a/src/lib/components/pokedex/PokedexViewBoxes.svelte b/src/lib/components/pokedex/PokedexViewBoxes.svelte index f7d6837..0ace37e 100644 --- a/src/lib/components/pokedex/PokedexViewBoxes.svelte +++ b/src/lib/components/pokedex/PokedexViewBoxes.svelte @@ -25,6 +25,17 @@ let filterInHome = false; let filterNotInHome = false; + // Bulk actions menu state (one open menu at a time) + let openBulkMenuForBox: number | null = null; + + onMount(() => { + const close = () => { + openBulkMenuForBox = null; + }; + window.addEventListener('click', close); + return () => window.removeEventListener('click', close); + }); + let filteredCombinedData: CombinedData[] = []; let filteredTotal = 0; let overallTotal = 0; @@ -335,23 +346,94 @@ style="--boxes-per-row: {boxesPerRow}; --cell-padding: {cellPaddingRem}rem; --sprite-size: {spriteSizePx}px;" > {#each boxNumbers as boxNumber} + {@const bulkMenuId = `box-${boxNumber}-bulk-menu`}
-

Box {boxNumber}

- - - - - +
+

Box {boxNumber}

+
+ + + {#if openBulkMenuForBox === boxNumber} + + {/if} +
+
{#each combinedData as { pokedexEntry, catchRecord }, index} {@const placement = calculateBoxPlacement(index)}