From ca001408f8e045218b43e859974cba7b2b103c80 Mon Sep 17 00:00:00 2001 From: DDD1542 Date: Wed, 11 Mar 2026 16:36:06 +0900 Subject: [PATCH] [agent-pipeline] pipe-20260311071246-rhvz round-5 --- .../v2/config-panels/V2DateConfigPanel.tsx | 169 +++++++++-------- .../v2/config-panels/V2GroupConfigPanel.tsx | 174 +++++++++--------- 2 files changed, 174 insertions(+), 169 deletions(-) diff --git a/frontend/components/v2/config-panels/V2DateConfigPanel.tsx b/frontend/components/v2/config-panels/V2DateConfigPanel.tsx index 6d7ba5d7..8e3e2494 100644 --- a/frontend/components/v2/config-panels/V2DateConfigPanel.tsx +++ b/frontend/components/v2/config-panels/V2DateConfigPanel.tsx @@ -9,7 +9,6 @@ import React from "react"; import { Label } from "@/components/ui/label"; import { Input } from "@/components/ui/input"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; -import { Separator } from "@/components/ui/separator"; import { Checkbox } from "@/components/ui/checkbox"; interface V2DateConfigPanelProps { @@ -21,134 +20,136 @@ export const V2DateConfigPanel: React.FC = ({ config, onChange, }) => { - // 설정 업데이트 핸들러 const updateConfig = (field: string, value: any) => { onChange({ ...config, [field]: value }); }; return ( -
- {/* 날짜 타입 */} -
- - +
+ {/* DATE TYPE 섹션 */} +
+

DATE TYPE

+
+ 날짜 타입 +
+ +
+
- - - {/* 플레이스홀더 */} -
- - updateConfig("placeholder", e.target.value)} - placeholder="날짜 선택" - className="h-8 text-xs" - /> -

날짜가 선택되지 않았을 때 표시할 텍스트

+ {/* PLACEHOLDER 섹션 */} +
+

PLACEHOLDER

+
+ 안내 텍스트 +
+ updateConfig("placeholder", e.target.value)} + placeholder="날짜 선택" + className="h-7 text-xs" + /> +
+
- - - {/* 표시 형식 */} -
- - + {/* FORMAT 섹션 */} +
+

FORMAT

+
+ 표시 형식 +
+ +
+
- - - {/* 날짜 범위 제한 */} -
- -
-
+ {/* DATE RANGE 섹션 */} +
+

DATE RANGE

+
+
updateConfig("minDate", e.target.value)} - className="h-8 text-xs" + className="h-7 text-xs" />
-
+
updateConfig("maxDate", e.target.value)} - className="h-8 text-xs" + className="h-7 text-xs" />
- + {/* OPTIONS 섹션 */} +
+

OPTIONS

- {/* 추가 옵션 */} -
- - -
+
+ 기간 선택 (시작~종료) updateConfig("range", checked)} /> -
-
+
+ 오늘 버튼 표시 updateConfig("showToday", checked)} /> -
{(config.dateType === "datetime" || config.dateType === "time") && ( -
+
+ 초 단위 표시 updateConfig("showSeconds", checked)} /> -
)}
@@ -159,5 +160,3 @@ export const V2DateConfigPanel: React.FC = ({ V2DateConfigPanel.displayName = "V2DateConfigPanel"; export default V2DateConfigPanel; - - diff --git a/frontend/components/v2/config-panels/V2GroupConfigPanel.tsx b/frontend/components/v2/config-panels/V2GroupConfigPanel.tsx index 6c3750bf..190d4015 100644 --- a/frontend/components/v2/config-panels/V2GroupConfigPanel.tsx +++ b/frontend/components/v2/config-panels/V2GroupConfigPanel.tsx @@ -9,7 +9,6 @@ import React from "react"; import { Label } from "@/components/ui/label"; import { Input } from "@/components/ui/input"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; -import { Separator } from "@/components/ui/separator"; import { Checkbox } from "@/components/ui/checkbox"; import { Button } from "@/components/ui/button"; import { Plus, Trash2 } from "lucide-react"; @@ -23,12 +22,10 @@ export const V2GroupConfigPanel: React.FC = ({ config, onChange, }) => { - // 설정 업데이트 핸들러 const updateConfig = (field: string, value: any) => { onChange({ ...config, [field]: value }); }; - // 탭 관리 const tabs = config.tabs || []; const addTab = () => { @@ -48,46 +45,54 @@ export const V2GroupConfigPanel: React.FC = ({ }; return ( -
- {/* 그룹 타입 */} -
- - +
+ {/* GROUP TYPE 섹션 */} +
+

GROUP TYPE

+
+ 그룹 타입 +
+ +
+
- - - {/* 제목 */} -
- - updateConfig("title", e.target.value)} - placeholder="그룹 제목" - className="h-8 text-xs" - /> + {/* TITLE 섹션 */} +
+

TITLE

+
+ 제목 +
+ updateConfig("title", e.target.value)} + placeholder="그룹 제목" + className="h-7 text-xs" + /> +
+
- {/* 탭 설정 */} + {/* TABS 섹션 - 탭 타입일 때만 */} {config.groupType === "tabs" && ( -
-
- +
+
+

TABS

-
+
{tabs.map((tab: any, index: number) => ( -
+
updateTab(index, "id", e.target.value)} @@ -134,82 +139,85 @@ export const V2GroupConfigPanel: React.FC = ({
)} - {/* 섹션/아코디언 옵션 */} + {/* SECTION OPTIONS 섹션 - 섹션/아코디언일 때 */} {(config.groupType === "section" || config.groupType === "accordion" || !config.groupType) && ( -
-
+
+

SECTION OPTIONS

+ +
+ 접기/펴기 가능 updateConfig("collapsible", checked)} /> -
{config.collapsible && ( -
+
+ 기본으로 펼침 updateConfig("defaultOpen", checked)} /> -
)}
)} - {/* 모달 옵션 */} + {/* MODAL OPTIONS 섹션 - 모달/폼모달일 때 */} {(config.groupType === "modal" || config.groupType === "form-modal") && ( -
-
- - +
+

MODAL OPTIONS

+ +
+ 모달 크기 +
+ +
-
+
+ 닫기 버튼 표시 updateConfig("closeable", checked)} /> -
-
+
+ 배경 클릭으로 닫기 updateConfig("backdrop", checked)} /> -
)} - {/* 헤더 표시 여부 */} - -
- updateConfig("showHeader", checked)} - /> - + {/* DISPLAY 섹션 */} +
+

DISPLAY

+
+ 헤더 표시 + updateConfig("showHeader", checked)} + /> +
); @@ -218,5 +226,3 @@ export const V2GroupConfigPanel: React.FC = ({ V2GroupConfigPanel.displayName = "V2GroupConfigPanel"; export default V2GroupConfigPanel; - -