refactor: restructure files to their domains, new preview overlay system, and dep graph

This commit is contained in:
Maze Winther
2026-04-20 11:31:17 +02:00
parent 729d10592f
commit 3e89d29985
491 changed files with 3565 additions and 2372 deletions
@@ -0,0 +1,28 @@
import { useEffect, useRef } from "react";
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<ScopeEntry>({
hasSelection: () => hasSelectionRef.current,
clear: () => {
clearSelectionRef.current();
},
});
useEffect(() => {
if (!hasSelection) {
return;
}
return activateScope({ entry: entryRef.current });
}, [hasSelection]);
}