From 8a901e5b26bcf4a4490590060ecd59cb52ecb727 Mon Sep 17 00:00:00 2001 From: Macbook Date: Sun, 21 Jun 2026 00:27:41 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9C=84=EC=A0=AF=20=EC=B6=94=EA=B0=80=20?= =?UTF-8?q?=ED=8C=9D=EC=97=85=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../widgetDashboard/WidgetPickerModal.tsx | 32 +++++++++++++++-- frontend/src/styles/widgetDashboard.css | 36 +++++++++++++++++-- 2 files changed, 63 insertions(+), 5 deletions(-) diff --git a/frontend/src/components/widgetDashboard/WidgetPickerModal.tsx b/frontend/src/components/widgetDashboard/WidgetPickerModal.tsx index 817deae..32ca2bf 100644 --- a/frontend/src/components/widgetDashboard/WidgetPickerModal.tsx +++ b/frontend/src/components/widgetDashboard/WidgetPickerModal.tsx @@ -1,5 +1,6 @@ import React from 'react'; import AppPopup from '../AppPopup'; +import { useDraggablePanel } from '../../hooks/useDraggablePanel'; import type { WidgetCategory } from '../../types/widgetDashboard'; import { widgetsByGroup, widgetsByGroupAll } from '../../widgets/widgetRegistry'; @@ -73,17 +74,39 @@ const NativeWidgetPicker: React.FC = ({ onSelect, nativeFullRoot = false, }) => { + const floating = !nativeFullRoot; + const { + panelRef, + dragging, + onHeaderPointerDown, + panelStyle, + headerCursor, + headerTouchStyle, + } = useDraggablePanel({ centerOnMount: floating, recenterOnResize: floating }); + if (!open) return null; const { title } = pickerMeta(category); const shell = (
-
+

{title} (Widget) @@ -91,6 +114,7 @@ const NativeWidgetPicker: React.FC = ({