fix: gridUtils 함수들 import 누락 수정

- 문제: adjustGridColumnsFromSize 등 gridUtils 함수들이 import되지 않아 런타임 오류 발생
- 해결:
  1. gridUtils에서 필요한 함수들 import 추가
  2. 3개 파라미터를 받는 snap 함수 호출을 올바른 함수로 변경
     - snapSizeTo10px -> snapSizeToGrid
     - snapPositionTo10px -> snapToGrid
- 영향: 컴포넌트 크기/위치 조정 시 격자 스냅 기능 정상 작동
This commit is contained in:
kjs 2025-11-10 15:45:51 +09:00
parent 5f11b5083f
commit 99deab05d8
1 changed files with 16 additions and 9 deletions

View File

@ -24,6 +24,13 @@ import {
calculateRelativePositions,
restoreAbsolutePositions,
} from "@/lib/utils/groupingUtils";
import {
adjustGridColumnsFromSize,
updateSizeFromGridColumns,
calculateWidthFromColumns,
snapSizeToGrid,
snapToGrid,
} from "@/lib/utils/gridUtils";
// 10px 단위 스냅 함수
const snapTo10px = (value: number): number => {
@ -533,7 +540,7 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD
padding: prevLayout.gridSettings.padding,
snapToGrid: prevLayout.gridSettings.snapToGrid || false,
});
const snappedSize = snapSizeTo10px(
const snappedSize = snapSizeToGrid(
newComp.size,
currentGridInfo,
prevLayout.gridSettings as GridUtilSettings,
@ -1083,8 +1090,8 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD
};
const adjustedComponents = layout.components.map((comp) => {
const snappedPosition = snapPositionTo10px(comp.position, newGridInfo, gridUtilSettings);
const snappedSize = snapSizeTo10px(comp.size, newGridInfo, gridUtilSettings);
const snappedPosition = snapToGrid(comp.position, newGridInfo, gridUtilSettings);
const snappedSize = snapSizeToGrid(comp.size, newGridInfo, gridUtilSettings);
// gridColumns가 없거나 범위를 벗어나면 자동 조정
let adjustedGridColumns = comp.gridColumns;
@ -1198,8 +1205,8 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD
};
finalComponents = scaledComponents.map((comp) => {
const snappedPosition = snapPositionTo10px(comp.position, newGridInfo, gridUtilSettings);
const snappedSize = snapSizeTo10px(comp.size, newGridInfo, gridUtilSettings);
const snappedPosition = snapToGrid(comp.position, newGridInfo, gridUtilSettings);
const snappedSize = snapSizeToGrid(comp.size, newGridInfo, gridUtilSettings);
// gridColumns 재계산
const adjustedGridColumns = adjustGridColumnsFromSize({ size: snappedSize }, newGridInfo, gridUtilSettings);
@ -1268,8 +1275,8 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD
};
const adjustedComponents = layout.components.map((comp) => {
const snappedPosition = snapPositionTo10px(comp.position, currentGridInfo, gridUtilSettings);
const snappedSize = snapSizeTo10px(comp.size, currentGridInfo, gridUtilSettings);
const snappedPosition = snapToGrid(comp.position, currentGridInfo, gridUtilSettings);
const snappedSize = snapSizeToGrid(comp.size, currentGridInfo, gridUtilSettings);
// gridColumns가 없거나 범위를 벗어나면 자동 조정
let adjustedGridColumns = comp.gridColumns;
@ -1404,7 +1411,7 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD
// 격자 스냅 적용
const snappedPosition =
layout.gridSettings?.snapToGrid && currentGridInfo
? snapPositionTo10px({ x: dropX, y: dropY, z: 1 }, currentGridInfo, layout.gridSettings as GridUtilSettings)
? snapToGrid({ x: dropX, y: dropY, z: 1 }, currentGridInfo, layout.gridSettings as GridUtilSettings)
: { x: dropX, y: dropY, z: 1 };
console.log("🎨 템플릿 드롭:", {
@ -1823,7 +1830,7 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD
// 격자 스냅 적용
const snappedPosition =
layout.gridSettings?.snapToGrid && currentGridInfo
? snapPositionTo10px({ x: dropX, y: dropY, z: 1 }, currentGridInfo, layout.gridSettings as GridUtilSettings)
? snapToGrid({ x: dropX, y: dropY, z: 1 }, currentGridInfo, layout.gridSettings as GridUtilSettings)
: { x: dropX, y: dropY, z: 1 };
console.log("🏗️ 레이아웃 드롭 (줌 보정):", {