♻️ refactor!: massive refactor

This commit is contained in:
2026-05-31 03:04:30 +07:00
parent c1f12c7201
commit df3c944547
86 changed files with 3691 additions and 1129 deletions
+11 -3
View File
@@ -4,14 +4,22 @@ import { CONTEXT_MENU_SIZE } from "../lib/editor-constants";
type ContextMenuPosition = { x: number; y: number };
export function useEditorContextMenu() {
const [contextMenu, setContextMenu] = React.useState<ContextMenuPosition | null>(null);
const [contextMenu, setContextMenu] =
React.useState<ContextMenuPosition | null>(null);
const openContextMenu = React.useCallback((x: number, y: number) => {
const rect = document.documentElement.getBoundingClientRect();
const { width: menuWidth, height: menuHeight, viewportPadding: pad } = CONTEXT_MENU_SIZE;
const {
width: menuWidth,
height: menuHeight,
viewportPadding: pad,
} = CONTEXT_MENU_SIZE;
const maxX = rect.width - menuWidth - pad;
const maxY = rect.height - menuHeight - pad;
setContextMenu({ x: Math.max(pad, Math.min(x, maxX)), y: Math.max(pad, Math.min(y, maxY)) });
setContextMenu({
x: Math.max(pad, Math.min(x, maxX)),
y: Math.max(pad, Math.min(y, maxY)),
});
}, []);
const closeContextMenu = React.useCallback(() => {