diff --git a/frontend/components/screen-embedding/EmbeddedScreen.tsx b/frontend/components/screen-embedding/EmbeddedScreen.tsx index 17cd240f..b0d39d22 100644 --- a/frontend/components/screen-embedding/EmbeddedScreen.tsx +++ b/frontend/components/screen-embedding/EmbeddedScreen.tsx @@ -48,6 +48,10 @@ export const EmbeddedScreen = forwardRef(""); + // 🆕 사용자 정보 가져오기 (저장 액션에 필요) const { userId, userName, companyCode } = useAuth(); @@ -93,9 +97,6 @@ export const EmbeddedScreen = forwardRef { // 우측 화면인 경우에만 적용 @@ -108,6 +109,13 @@ export const EmbeddedScreen = forwardRef comp.columnName).map((comp) => comp.columnName as string); diff --git a/frontend/components/webtypes/RepeaterInput.tsx b/frontend/components/webtypes/RepeaterInput.tsx index 1595036b..6118e073 100644 --- a/frontend/components/webtypes/RepeaterInput.tsx +++ b/frontend/components/webtypes/RepeaterInput.tsx @@ -182,10 +182,8 @@ export const RepeaterInput: React.FC = ({ // 항목 제거 const handleRemoveItem = (index: number) => { - // 🆕 minItems가 0이면 모든 항목 삭제 가능, 그 외에는 minItems 이하로 줄일 수 없음 - if (minItems > 0 && items.length <= minItems) { - return; - } + // 🆕 항목이 1개 이하일 때도 삭제 가능 (빈 상태 허용) + // minItems 체크 제거 - 모든 항목 삭제 허용 // 🆕 삭제되는 항목의 ID 저장 (DB에서 삭제할 때 필요) const removedItem = items[index]; @@ -811,7 +809,7 @@ export const RepeaterInput: React.FC = ({ {/* 삭제 버튼 */} - {!readonly && !disabled && (minItems === 0 || items.length > minItems) && ( + {!readonly && !disabled && (