From bcd462d6e60871b86008e072f4b914138fc5c328 Mon Sep 17 00:00:00 2001
From: joonhoekim <26rote@gmail.com>
Date: Mon, 11 Aug 2025 09:34:40 +0000
Subject: (김준회) 리치텍스트에디터 (결재템플릿을 위한 공통컴포넌트),
 command-menu 에러 수정, 결재 템플릿 관리, 결재선 관리, ECC RFQ+PR Item 수신시
 비즈니스테이블(ProcurementRFQ) 데이터 적재, WSDL 오류 수정
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 components/rich-text-editor/StyleMenu.tsx | 65 +++++++++++++++++++++++++++++++
 1 file changed, 65 insertions(+)
 create mode 100644 components/rich-text-editor/StyleMenu.tsx

(limited to 'components/rich-text-editor/StyleMenu.tsx')

diff --git a/components/rich-text-editor/StyleMenu.tsx b/components/rich-text-editor/StyleMenu.tsx
new file mode 100644
index 00000000..a919e639
--- /dev/null
+++ b/components/rich-text-editor/StyleMenu.tsx
@@ -0,0 +1,65 @@
+'use client'
+
+import React from 'react'
+import type { Editor } from '@tiptap/react'
+import { Button } from '@/components/ui/button'
+import {
+  DropdownMenu,
+  DropdownMenuContent,
+  DropdownMenuItem,
+  DropdownMenuTrigger,
+} from '@/components/ui/dropdown-menu'
+
+interface StyleMenuProps {
+  editor: Editor | null
+  disabled?: boolean
+  executeCommand: (command: () => void) => void
+}
+
+export function StyleMenu({ editor, disabled, executeCommand }: StyleMenuProps) {
+  if (!editor) return null
+  return (
+    <DropdownMenu>
+      <DropdownMenuTrigger asChild onMouseDown={e => e.preventDefault()}>
+        <Button variant="outline" size="sm" className="h-8 px-2" disabled={disabled}>
+          스타일
+        </Button>
+      </DropdownMenuTrigger>
+      <DropdownMenuContent align="start">
+        <DropdownMenuItem
+          className="flex items-center"
+          onSelect={() =>
+            executeCommand(() =>
+              editor
+                .chain()
+                .focus()
+                .setMark('textStyle', { fontSize: '32px' })
+                .setBold()
+                .run()
+            )
+          }
+        >
+          제목 (굵게 + 32pt)
+        </DropdownMenuItem>
+        <DropdownMenuItem
+          className="flex items-center"
+          onSelect={() =>
+            executeCommand(() =>
+              editor
+                .chain()
+                .focus()
+                .unsetBold()
+                .setParagraph()
+                .setMark('textStyle', { fontSize: null as unknown as string })
+                .run()
+            )
+          }
+        >
+          본문 (기본)
+        </DropdownMenuItem>
+      </DropdownMenuContent>
+    </DropdownMenu>
+  )
+}
+
+
-- 
cgit v1.2.3

