From cb0773b03e1ede99569b16bcc629e80b607386c5 Mon Sep 17 00:00:00 2001 From: Josh Creek <8179928+jcreek@users.noreply.github.com> Date: Fri, 9 Jan 2026 22:21:01 +0000 Subject: [PATCH] feat(#57): Replace 'mark box as' buttons with dropdown for better ux --- .../pokedex/PokedexViewBoxes.svelte | 107 +++++++++++++++--- 1 file changed, 91 insertions(+), 16 deletions(-) diff --git a/src/lib/components/pokedex/PokedexViewBoxes.svelte b/src/lib/components/pokedex/PokedexViewBoxes.svelte index f7d6837..fcbd22a 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; @@ -336,22 +347,86 @@ > {#each boxNumbers as boxNumber}
-

Box {boxNumber}

- - - - - +
+

Box {boxNumber}

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