优化活跃颜色调色板的更新逻辑,新增对选定调色板和排除颜色的过滤,确保状态更新更加准确,同时更新依赖项以提升代码的可维护性。
This commit is contained in:
@@ -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) ---
|
||||
|
||||
Reference in New Issue
Block a user