From 250218d93e186c5952bc5b2ac4e3790430b9919d Mon Sep 17 00:00:00 2001 From: Mikael Finstad Date: Tue, 18 Feb 2025 17:01:17 +0800 Subject: [PATCH] refactor --- .gitignore | 2 +- src/renderer/src/hooks/useSegments.ts | 30 +++++++++++++-------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index e6588184..4c91e327 100644 --- a/.gitignore +++ b/.gitignore @@ -16,5 +16,5 @@ node_modules /build-resources /doc /ffmpeg -/app.log +/app*.log /ts-dist diff --git a/src/renderer/src/hooks/useSegments.ts b/src/renderer/src/hooks/useSegments.ts index 1f4860dd..3d97e723 100644 --- a/src/renderer/src/hooks/useSegments.ts +++ b/src/renderer/src/hooks/useSegments.ts @@ -563,11 +563,11 @@ function useSegments({ filePath, workingRef, setWorking, setProgress, videoStrea if (segments) loadCutSegments(segments); }, [checkFileOpened, duration, loadCutSegments]); - const enableSegments = useCallback((segmentsToEnable: { segId: string }[]) => { - if (segmentsToEnable.length === 0 || segmentsToEnable.length === cutSegments.length) return; // no point + const selectSegments = useCallback((segments: { segId: string }[]) => { + if (segments.length === 0 || segments.length === cutSegments.length) return; // no point in selecting none or all setDeselectedSegmentIds((existing) => { const ret = { ...existing }; - segmentsToEnable.forEach(({ segId }) => { ret[segId] = false; }); + segments.forEach(({ segId }) => { ret[segId] = false; }); return ret; }); }, [cutSegments.length]); @@ -576,27 +576,27 @@ function useSegments({ filePath, workingRef, setWorking, setProgress, videoStrea const { name } = currentCutSeg; const value = await selectSegmentsByLabelDialog(name); if (value == null) return; - const segmentsToEnable = cutSegments.filter((seg) => (seg.name || '') === value); - enableSegments(segmentsToEnable); - }, [currentCutSeg, cutSegments, enableSegments]); + selectSegments(cutSegments.filter((seg) => seg.name === value)); + }, [currentCutSeg, cutSegments, selectSegments]); const selectAllMarkers = useCallback(() => { - enableSegments(cutSegments.filter((seg) => seg.end == null)); - }, [cutSegments, enableSegments]); + selectSegments(cutSegments.filter((seg) => seg.end == null)); + }, [cutSegments, selectSegments]); const selectSegmentsByExpr = useCallback(async () => { const matchSegment = async (seg: StateSegment, index: number, expr: string) => ( (await safeishEval(expr, { segment: getScopeSegment(seg, index) })) === true ); - const getSegmentsToEnable = async (expr: string) => (await pMap(cutSegments, async (seg, index) => ( - ((await matchSegment(seg, index, expr)) ? [seg] : []) - ), { concurrency: 5 })).flat(); + const getSegmentsToSelect = async (expr: string) => ( + await pMap(cutSegments, async (seg, index) => ( + ((await matchSegment(seg, index, expr)) ? [seg] : []) + ), { concurrency: 5 })).flat(); const value = await selectSegmentsByExprDialog(async (v: string) => { try { if (v.trim().length === 0) return i18n.t('Please enter a JavaScript expression.'); - const segments = await getSegmentsToEnable(v); + const segments = await getSegmentsToSelect(v); if (segments.length === 0) return i18n.t('No segments match this expression.'); if (segments.length === cutSegments.length) return i18n.t('All segments match this expression.'); return undefined; @@ -609,9 +609,9 @@ function useSegments({ filePath, workingRef, setWorking, setProgress, videoStrea }); if (value == null) return; - const segmentsToEnable = await getSegmentsToEnable(value); - enableSegments(segmentsToEnable); - }, [cutSegments, enableSegments, getScopeSegment]); + const segmentsToSelect = await getSegmentsToSelect(value); + selectSegments(segmentsToSelect); + }, [cutSegments, selectSegments, getScopeSegment]); const mutateSegmentsByExpr = useCallback(async () => { async function mutateSegment(seg: StateSegment, index: number, expr: string) {