From e63a96b0245c2a5e6b58f65ab2f6187efc235659 Mon Sep 17 00:00:00 2001 From: Jan-Henrik Bruhn Date: Sat, 27 Dec 2025 11:39:48 +0100 Subject: [PATCH] fix: Address PR review comments - Remove redundant useMemo wrapper in usePatternValidation Inline the calculation logic directly in useMemo instead of useCallback + useMemo pattern for better clarity and efficiency - Remove unnecessary 'Early return' comment in usePatternRotationUpload The return statement is self-explanatory --- src/hooks/usePatternRotationUpload.ts | 2 +- src/hooks/usePatternValidation.ts | 14 +++----------- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/src/hooks/usePatternRotationUpload.ts b/src/hooks/usePatternRotationUpload.ts index da09550..ececf57 100644 --- a/src/hooks/usePatternRotationUpload.ts +++ b/src/hooks/usePatternRotationUpload.ts @@ -119,7 +119,7 @@ export function usePatternRotationUpload({ pesData, // Original unrotated pattern for caching ); - return; // Early return + return; } // No rotation case diff --git a/src/hooks/usePatternValidation.ts b/src/hooks/usePatternValidation.ts index 4986b3d..4c55938 100644 --- a/src/hooks/usePatternValidation.ts +++ b/src/hooks/usePatternValidation.ts @@ -1,4 +1,4 @@ -import { useCallback, useMemo } from "react"; +import { useMemo } from "react"; import type { PesPatternData } from "../formats/import/pesImporter"; import type { MachineInfo } from "../types/machine"; import { calculateRotatedBounds } from "../utils/rotationUtils"; @@ -31,8 +31,8 @@ export function usePatternValidation({ patternOffset, patternRotation, }: UsePatternValidationParams): PatternBoundsCheckResult { - // Check if pattern (with offset and rotation) fits within hoop bounds - const checkPatternFitsInHoop = useCallback((): PatternBoundsCheckResult => { + // Memoize the bounds check calculation to avoid unnecessary recalculations + return useMemo((): PatternBoundsCheckResult => { if (!pesData || !machineInfo) { return { fits: true, error: null }; } @@ -94,12 +94,4 @@ export function usePatternValidation({ return { fits: true, error: null }; }, [pesData, machineInfo, patternOffset, patternRotation]); - - // Memoize the result to avoid unnecessary recalculations - const boundsCheck = useMemo( - () => checkPatternFitsInHoop(), - [checkPatternFitsInHoop], - ); - - return boundsCheck; }