From a9b9cf6bf50f08723896659634f2e6afc17bcd42 Mon Sep 17 00:00:00 2001 From: Maze Winther Date: Wed, 29 Apr 2026 00:37:56 +0200 Subject: chore: switch from biome to eslint + prettier; fix ton of lint issues --- apps/web/src/selection/hooks/use-selection-scope.ts | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'apps/web/src/selection/hooks/use-selection-scope.ts') diff --git a/apps/web/src/selection/hooks/use-selection-scope.ts b/apps/web/src/selection/hooks/use-selection-scope.ts index ad4d2ce8..7fddab08 100644 --- a/apps/web/src/selection/hooks/use-selection-scope.ts +++ b/apps/web/src/selection/hooks/use-selection-scope.ts @@ -1,28 +1,25 @@ -import { useEffect, useRef } from "react"; +import { useEffect, useState } from "react"; +import { useCommittedRef } from "@/hooks/use-committed-ref"; import { useSelectionContext } from "@/selection/context"; import { activateScope, type ScopeEntry } from "@/selection/scope"; export function useSelectionScope() { const { selectedIds, clearSelection } = useSelectionContext(); - const hasSelectionRef = useRef(selectedIds.length > 0); - const clearSelectionRef = useRef(clearSelection); const hasSelection = selectedIds.length > 0; - - hasSelectionRef.current = hasSelection; - clearSelectionRef.current = clearSelection; - - const entryRef = useRef({ + const hasSelectionRef = useCommittedRef(hasSelection); + const clearSelectionRef = useCommittedRef(clearSelection); + const [entry] = useState(() => ({ hasSelection: () => hasSelectionRef.current, clear: () => { clearSelectionRef.current(); }, - }); + })); useEffect(() => { if (!hasSelection) { return; } - return activateScope({ entry: entryRef.current }); - }, [hasSelection]); + return activateScope({ entry }); + }, [entry, hasSelection]); } -- cgit v1.3.1