wip: gridInfo 의존성 제거

This commit is contained in:
kjs 2025-11-10 14:46:30 +09:00
parent d8bba7cfc1
commit 0474937e57
1 changed files with 19 additions and 11 deletions

View File

@ -504,7 +504,7 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD
// gridColumns 변경 시 크기 자동 업데이트
if (path === "gridColumns" && gridInfo) {
const updatedSize = updateSizeFromGridColumns(newComp, gridInfo, layout.gridSettings as GridUtilSettings);
const updatedSize = updateSizeFromGridColumns(newComp, layout.gridSettings as GridUtilSettings);
newComp.size = updatedSize;
}
@ -659,7 +659,7 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD
return newLayout;
});
},
[gridInfo, saveToHistory], // 🔧 layout, selectedComponent 제거!
[saveToHistory],
);
// 컴포넌트 시스템 초기화
@ -1425,7 +1425,11 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD
// 격자 스냅 적용
const finalPosition =
layout.gridSettings?.snapToGrid && currentGridInfo
? snapPositionTo10px({ x: absoluteX, y: absoluteY, z: 1 }, currentGridInfo, layout.gridSettings as GridUtilSettings)
? snapPositionTo10px(
{ x: absoluteX, y: absoluteY, z: 1 },
currentGridInfo,
layout.gridSettings as GridUtilSettings,
)
: { x: absoluteX, y: absoluteY, z: 1 };
if (templateComp.type === "container") {
@ -1782,7 +1786,7 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD
toast.success(`${template.name} 템플릿이 추가되었습니다.`);
},
[layout, gridInfo, selectedScreen, snapToGrid, saveToHistory],
[layout, selectedScreen, snapToGrid, saveToHistory],
);
// 레이아웃 드래그 처리
@ -1852,7 +1856,7 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD
toast.success(`${layoutData.label} 레이아웃이 추가되었습니다.`);
},
[layout, gridInfo, screenResolution, snapToGrid, saveToHistory, zoomLevel],
[layout, screenResolution, snapToGrid, saveToHistory, zoomLevel],
);
// handleZoneComponentDrop은 handleComponentDrop으로 대체됨
@ -1997,7 +2001,11 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD
// 격자 스냅 적용
const snappedPosition =
layout.gridSettings?.snapToGrid && currentGridInfo
? snapPositionTo10px({ x: boundedX, y: boundedY, z: 1 }, currentGridInfo, layout.gridSettings as GridUtilSettings)
? snapPositionTo10px(
{ x: boundedX, y: boundedY, z: 1 },
currentGridInfo,
layout.gridSettings as GridUtilSettings,
)
: { x: boundedX, y: boundedY, z: 1 };
console.log("🧩 컴포넌트 드롭:", {
@ -2111,7 +2119,7 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD
// gridColumns에 맞는 정확한 너비 계산
const calculatedWidth = calculateWidthFromColumns(
gridColumns,
gridInfo,
layout.gridSettings as GridUtilSettings,
);
@ -2209,7 +2217,7 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD
toast.success(`${component.name} 컴포넌트가 추가되었습니다.`);
},
[layout, gridInfo, selectedScreen, snapToGrid, saveToHistory],
[layout, selectedScreen, snapToGrid, saveToHistory],
);
// 드래그 앤 드롭 처리
@ -2670,7 +2678,7 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD
// console.error("드롭 처리 실패:", error);
}
},
[layout, gridInfo, saveToHistory],
[layout, saveToHistory],
);
// 파일 컴포넌트 업데이트 처리
@ -3109,7 +3117,7 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD
justFinishedDrag: false,
}));
}, 100);
}, [dragState, layout, gridInfo, saveToHistory]);
}, [dragState, layout, saveToHistory]);
// 드래그 선택 시작
const startSelectionDrag = useCallback(
@ -3774,7 +3782,7 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD
toast.success(`그룹이 생성되었습니다 (${finalChildren.length}개 컴포넌트)`);
},
[layout, saveToHistory, gridInfo],
[layout, saveToHistory],
);
// 그룹 생성 함수 (다이얼로그 표시)