) : (
// 기타 위젯 렌더링
diff --git a/frontend/components/admin/dashboard/ElementConfigModal.tsx b/frontend/components/admin/dashboard/ElementConfigModal.tsx
index 5dc82900..dc9d3f32 100644
--- a/frontend/components/admin/dashboard/ElementConfigModal.tsx
+++ b/frontend/components/admin/dashboard/ElementConfigModal.tsx
@@ -72,8 +72,13 @@ export function ElementConfigModal({ element, isOpen, onClose, onSave }: Element
// 모달이 열려있지 않으면 렌더링하지 않음
if (!isOpen) return null;
- // 시계 위젯인 경우 시계 설정 모달 표시
+ // 시계 위젯은 자체 설정 UI를 가지고 있으므로 모달 표시하지 않음
if (element.type === "widget" && element.subtype === "clock") {
+ return null;
+ }
+
+ // 이전 코드 호환성 유지 (아래 주석 처리된 코드는 제거 예정)
+ if (false && element.type === "widget" && element.subtype === "clock") {
return (
+
{/* 모달 헤더 */}
diff --git a/frontend/components/admin/dashboard/widgets/ClockSettings.tsx b/frontend/components/admin/dashboard/widgets/ClockSettings.tsx
new file mode 100644
index 00000000..dd28c3af
--- /dev/null
+++ b/frontend/components/admin/dashboard/widgets/ClockSettings.tsx
@@ -0,0 +1,213 @@
+"use client";
+
+import { useState } from "react";
+import { ClockConfig } from "../types";
+import { Button } from "@/components/ui/button";
+import { Label } from "@/components/ui/label";
+import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select";
+import { Switch } from "@/components/ui/switch";
+import { Input } from "@/components/ui/input";
+import { Card } from "@/components/ui/card";
+import { Separator } from "@/components/ui/separator";
+
+interface ClockSettingsProps {
+ config: ClockConfig;
+ onSave: (config: ClockConfig) => void;
+ onClose: () => void;
+}
+
+/**
+ * 시계 위젯 설정 UI (Popover 내부용)
+ * - 모달 없이 순수 설정 폼만 제공
+ */
+export function ClockSettings({ config, onSave, onClose }: ClockSettingsProps) {
+ const [localConfig, setLocalConfig] = useState(config);
+
+ const handleSave = () => {
+ onSave(localConfig);
+ };
+
+ return (
+