From 04ed774ff60a83c00711d4e8615cb4122954dba5 Mon Sep 17 00:00:00 2001 From: joonhoekim <26rote@gmail.com> Date: Thu, 4 Dec 2025 19:46:55 +0900 Subject: (김준회) 메뉴 관리기능 초안 개발 (시딩 필요) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/menu-v2/components/move-to-dialog.tsx | 87 +++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 lib/menu-v2/components/move-to-dialog.tsx (limited to 'lib/menu-v2/components/move-to-dialog.tsx') diff --git a/lib/menu-v2/components/move-to-dialog.tsx b/lib/menu-v2/components/move-to-dialog.tsx new file mode 100644 index 00000000..7253708b --- /dev/null +++ b/lib/menu-v2/components/move-to-dialog.tsx @@ -0,0 +1,87 @@ +"use client"; + +import { + Dialog, + DialogContent, + DialogDescription, + DialogHeader, + DialogTitle, +} from "@/components/ui/dialog"; +import { Button } from "@/components/ui/button"; +import { ScrollArea } from "@/components/ui/scroll-area"; +import { cn } from "@/lib/utils"; +import { Folder, FolderOpen, Home } from "lucide-react"; +import type { MenuTreeNode } from "../types"; + +interface MoveToDialogProps { + open: boolean; + onOpenChange: (open: boolean) => void; + node: MenuTreeNode | null; + availableParents: { id: number | null; title: string; depth: number }[]; + onMove: (newParentId: number | null) => void; +} + +export function MoveToDialog({ + open, + onOpenChange, + node, + availableParents, + onMove, +}: MoveToDialogProps) { + if (!node) return null; + + const isCurrent = (parentId: number | null) => node.parentId === parentId; + + return ( + + + + Move To + + Select a new location for "{node.titleKo}" + + + + +
+ {availableParents.map((parent) => ( + + ))} +
+
+ +
+ +
+
+
+ ); +} + + -- cgit v1.2.3