From 8ef5e2fcbfc6dc7830533f4468d84a4f8a6b8702 Mon Sep 17 00:00:00 2001 From: Zylan Date: Fri, 25 Apr 2025 15:57:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B4=BB=E8=B7=83=E9=A2=9C?= =?UTF-8?q?=E8=89=B2=E8=B0=83=E8=89=B2=E6=9D=BF=E7=9A=84=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E9=80=BB=E8=BE=91=EF=BC=8C=E6=96=B0=E5=A2=9E=E5=AF=B9=E9=80=89?= =?UTF-8?q?=E5=AE=9A=E8=B0=83=E8=89=B2=E6=9D=BF=E5=92=8C=E6=8E=92=E9=99=A4?= =?UTF-8?q?=E9=A2=9C=E8=89=B2=E7=9A=84=E8=BF=87=E6=BB=A4=EF=BC=8C=E7=A1=AE?= =?UTF-8?q?=E4=BF=9D=E7=8A=B6=E6=80=81=E6=9B=B4=E6=96=B0=E6=9B=B4=E5=8A=A0?= =?UTF-8?q?=E5=87=86=E7=A1=AE=EF=BC=8C=E5=90=8C=E6=97=B6=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E4=BE=9D=E8=B5=96=E9=A1=B9=E4=BB=A5=E6=8F=90=E5=8D=87=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E7=9A=84=E5=8F=AF=E7=BB=B4=E6=8A=A4=E6=80=A7=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/page.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index 3959bb2..72320c0 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -181,7 +181,12 @@ export default function Home() { // Update active palette based on selection and exclusions useEffect(() => { - // ... existing useEffect for activeBeadPalette ... + const newActiveBeadPalette = fullBeadPalette.filter(color => { + const isInSelectedPalette = paletteOptions[selectedPaletteKeySet]?.keys.includes(color.key); + const isNotExcluded = !excludedColorKeys.has(color.key); + return isInSelectedPalette && isNotExcluded; + }); + setActiveBeadPalette(newActiveBeadPalette); }, [selectedPaletteKeySet, excludedColorKeys, remapTrigger]); // ++ 添加 remapTrigger 依赖 ++ @@ -603,7 +608,7 @@ export default function Home() { // setColorCounts(null); // setTotalBeadCount(0); } - // *** REMOVED activeBeadPalette from dependency array *** + // eslint-disable-next-line react-hooks/exhaustive-deps }, [originalImageSrc, granularity, similarityThreshold, selectedPaletteKeySet, remapTrigger]); // Dependencies controlling full remap // --- Download function (ensure filename includes palette) ---