feat(mail): replace contentEditable with TipTap rich text editor

- Add RichTextEditor component with TipTap (ProseMirror-based) editor
- Full toolbar: bold, italic, underline, strikethrough, H1/H2/H3, bullet/numbered lists,
  blockquote, inline code, code block, text alignment (left/center/right/justify),
  text color picker, link insert/edit, image insert, clear formatting, undo/redo
- Replace old contentEditable div + document.execCommand in ComposeModal
- Add Placeholder extension for empty editor hint
- Add ProseMirror CSS styles (lists, blockquote, code, headings, links, images)
- Update signature/template insertion to work with new editor state
This commit is contained in:
Agent Zero
2026-07-16 17:14:14 +02:00
parent 2a80aeb0af
commit 178bd84fd6
5 changed files with 974 additions and 78 deletions
+10
View File
@@ -15,6 +15,16 @@
"@hookform/resolvers": "^3.9.0",
"@tanstack/react-query": "^5.56.0",
"@tanstack/react-table": "^8.21.3",
"@tiptap/extension-color": "^3.28.0",
"@tiptap/extension-image": "^3.28.0",
"@tiptap/extension-link": "^3.28.0",
"@tiptap/extension-placeholder": "^3.28.0",
"@tiptap/extension-text-align": "^3.28.0",
"@tiptap/extension-text-style": "^3.28.0",
"@tiptap/extension-underline": "^3.28.0",
"@tiptap/pm": "^3.28.0",
"@tiptap/react": "^3.28.0",
"@tiptap/starter-kit": "^3.28.0",
"axios": "^1.7.7",
"clsx": "^2.1.1",
"i18next": "^23.14.0",