diff --git a/frontend/components/admin/dashboard/CanvasElement.tsx b/frontend/components/admin/dashboard/CanvasElement.tsx
index 7b5453f9..942a2783 100644
--- a/frontend/components/admin/dashboard/CanvasElement.tsx
+++ b/frontend/components/admin/dashboard/CanvasElement.tsx
@@ -105,6 +105,8 @@ import { CalendarWidget } from "./widgets/CalendarWidget";
// 기사 관리 위젯 임포트
import { DriverManagementWidget } from "./widgets/DriverManagementWidget";
import { ListWidget } from "./widgets/ListWidget";
+import { MoreHorizontal, X } from "lucide-react";
+import { Button } from "@/components/ui/button";
// 야드 관리 3D 위젯
const YardManagement3DWidget = dynamic(() => import("./widgets/YardManagement3DWidget"), {
@@ -546,22 +548,26 @@ export function CanvasElement({
{/* 설정 버튼 (기사관리 위젯만 자체 설정 UI 사용) */}
{onConfigure && !(element.type === "widget" && element.subtype === "driver-management") && (
-
+
+
)}
{/* 삭제 버튼 */}
-
+
+
diff --git a/frontend/components/admin/dashboard/ElementConfigModal.tsx b/frontend/components/admin/dashboard/ElementConfigModal.tsx
index 6aba88db..b168fb2c 100644
--- a/frontend/components/admin/dashboard/ElementConfigModal.tsx
+++ b/frontend/components/admin/dashboard/ElementConfigModal.tsx
@@ -53,9 +53,9 @@ export function ElementConfigModal({ element, isOpen, onClose, onSave }: Element
element.subtype === "driver-management" ||
element.subtype === "work-history" || // 작업 이력 위젯 (쿼리 필요)
element.subtype === "transport-stats"; // 커스텀 통계 카드 위젯 (쿼리 필요)
-
+
// 자체 기능 위젯 (DB 연결 불필요, 헤더 설정만 가능)
- const isSelfContainedWidget =
+ const isSelfContainedWidget =
element.subtype === "weather" || // 날씨 위젯 (외부 API)
element.subtype === "exchange" || // 환율 위젯 (외부 API)
element.subtype === "calculator"; // 계산기 위젯 (자체 기능)
@@ -150,11 +150,9 @@ export function ElementConfigModal({ element, isOpen, onClose, onSave }: Element
if (!isOpen) return null;
// 시계, 달력, 날씨, 환율, 계산기 위젯은 헤더 설정만 가능
- const isHeaderOnlyWidget =
- element.type === "widget" &&
- (element.subtype === "clock" ||
- element.subtype === "calendar" ||
- isSelfContainedWidget);
+ const isHeaderOnlyWidget =
+ element.type === "widget" &&
+ (element.subtype === "clock" || element.subtype === "calendar" || isSelfContainedWidget);
// 기사관리 위젯은 자체 설정 UI를 가지고 있으므로 모달 표시하지 않음
if (element.type === "widget" && element.subtype === "driver-management") {
@@ -172,7 +170,7 @@ export function ElementConfigModal({ element, isOpen, onClose, onSave }: Element
// customTitle이 변경되었는지 확인
const isTitleChanged = customTitle.trim() !== (element.customTitle || "");
-
+
// showHeader가 변경되었는지 확인
const isHeaderChanged = showHeader !== (element.showHeader !== false);
@@ -214,13 +212,6 @@ export function ElementConfigModal({ element, isOpen, onClose, onSave }: Element
{element.title} 설정
-
- {isSimpleWidget
- ? "데이터 소스를 설정하세요"
- : currentStep === 1
- ? "데이터 소스를 선택하세요"
- : "쿼리를 실행하고 차트를 설정하세요"}
-
{/* 헤더 표시 옵션 */}
@@ -251,7 +244,7 @@ export function ElementConfigModal({ element, isOpen, onClose, onSave }: Element
id="showHeader"
checked={showHeader}
onChange={(e) => setShowHeader(e.target.checked)}
- className="h-4 w-4 rounded border-gray-300 text-primary focus:ring-primary"
+ className="text-primary focus:ring-primary h-4 w-4 rounded border-gray-300"
/>