Skip to content

Commit 3ba0112

Browse files
fix(studio): remove off-screen element indicators for UX redesign (#1376)
1 parent cee6fd0 commit 3ba0112

2 files changed

Lines changed: 0 additions & 257 deletions

File tree

packages/studio/src/components/editor/DomEditOverlay.tsx

Lines changed: 0 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import { useDomEditOverlayRects } from "./useDomEditOverlayRects";
1313
import { createDomEditOverlayGestureHandlers } from "./useDomEditOverlayGestures";
1414
import { SnapGuideOverlay, type SnapGuidesState } from "./SnapGuideOverlay";
1515
import { GridOverlay } from "./GridOverlay";
16-
import { useOffScreenIndicators } from "./useOffScreenIndicators";
1716

1817
// Re-exports for external consumers — preserving existing import paths.
1918
export {
@@ -215,7 +214,6 @@ export const DomEditOverlay = memo(function DomEditOverlay({
215214
return () => cancelAnimationFrame(frame);
216215
});
217216

218-
const offScreenIndicators = useOffScreenIndicators({ iframeRef, overlayRef, compRect });
219217

220218
const gestures = createDomEditOverlayGestureHandlers({
221219
overlayRef,
@@ -521,64 +519,6 @@ export const DomEditOverlay = memo(function DomEditOverlay({
521519
}}
522520
/>
523521
))}
524-
{offScreenIndicators.length > 0 &&
525-
compRect.width > 0 &&
526-
offScreenIndicators.map((ind) => {
527-
const isSelected = selection?.id === ind.elementId;
528-
return (
529-
<div
530-
key={`offscreen-${ind.key}`}
531-
className={`absolute rounded-sm ${isSelected ? "pointer-events-none" : "cursor-grab"}`}
532-
style={{
533-
left: ind.left,
534-
top: ind.top,
535-
width: ind.width,
536-
height: ind.height,
537-
border: `1.5px dashed var(--panel-accent, #34d399)`,
538-
opacity: isSelected ? 0.3 : 0.5,
539-
zIndex: isSelected ? 1 : 5,
540-
}}
541-
onPointerDown={
542-
isSelected
543-
? undefined
544-
: (e) => {
545-
if (e.button !== 0) return;
546-
e.stopPropagation();
547-
e.preventDefault();
548-
const startX = e.clientX;
549-
const startY = e.clientY;
550-
const el = e.currentTarget;
551-
el.setPointerCapture(e.pointerId);
552-
let deltaX = 0;
553-
let deltaY = 0;
554-
let moved = false;
555-
const onMove = (me: PointerEvent) => {
556-
deltaX = me.clientX - startX;
557-
deltaY = me.clientY - startY;
558-
if (Math.abs(deltaX) > 3 || Math.abs(deltaY) > 3) moved = true;
559-
if (moved) {
560-
el.style.transform = `translate(${deltaX}px, ${deltaY}px)`;
561-
}
562-
};
563-
const onUp = async (ue: PointerEvent) => {
564-
el.releasePointerCapture(ue.pointerId);
565-
el.removeEventListener("pointermove", onMove);
566-
el.removeEventListener("pointerup", onUp);
567-
el.style.transform = "";
568-
const sel = await onSelectElementById?.(ind.elementId);
569-
if (moved && sel && onPathOffsetCommit) {
570-
const scale = compRect.scaleX || 1;
571-
onPathOffsetCommit(sel, { x: deltaX / scale, y: deltaY / scale });
572-
}
573-
};
574-
el.addEventListener("pointermove", onMove);
575-
el.addEventListener("pointerup", onUp);
576-
}
577-
}
578-
title={isSelected ? undefined : `Drag #${ind.elementId}`}
579-
/>
580-
);
581-
})}
582522
<GridOverlay
583523
visible={gridVisible}
584524
spacing={gridSpacing}

packages/studio/src/components/editor/useOffScreenIndicators.ts

Lines changed: 0 additions & 197 deletions
This file was deleted.

0 commit comments

Comments
 (0)