diff --git a/client/src/shared/ui/RichTextMessageEditor.tsx b/client/src/shared/ui/RichTextMessageEditor.tsx
index 00f6a48..28e1526 100644
--- a/client/src/shared/ui/RichTextMessageEditor.tsx
+++ b/client/src/shared/ui/RichTextMessageEditor.tsx
@@ -30,18 +30,19 @@ export function RichTextMessageEditor({
content: initialContent,
editable: !disabled,
onUpdate: ({ editor: tiptap }) => {
+ if (tiptap.isDestroyed) return
const plainText = tiptap.getText().trim()
onChange(plainText ? tiptap.getHTML() : '')
},
})
useEffect(() => {
- if (!editor) return
+ if (!editor || editor.isDestroyed) return
editor.setEditable(!disabled)
}, [disabled, editor])
useEffect(() => {
- if (!editor) return
+ if (!editor || editor.isDestroyed) return
const normalizedValue = value.trim() ? value : '
'
if (editor.getHTML() === normalizedValue) return
editor.commands.setContent(normalizedValue, { emitUpdate: false })
@@ -52,8 +53,8 @@ export function RichTextMessageEditor({
editor?.chain().focus().toggleBold().run()}
- color={editor?.isActive('bold') ? 'primary' : 'default'}
+ onClick={() => editor?.chain()?.focus().toggleBold().run()}
+ color={editor && !editor.isDestroyed && editor.isActive('bold') ? 'primary' : 'default'}
disabled={disabled}
aria-label="Жирный"
>
@@ -61,8 +62,8 @@ export function RichTextMessageEditor({
editor?.chain().focus().toggleItalic().run()}
- color={editor?.isActive('italic') ? 'primary' : 'default'}
+ onClick={() => editor?.chain()?.focus().toggleItalic().run()}
+ color={editor && !editor.isDestroyed && editor.isActive('italic') ? 'primary' : 'default'}
disabled={disabled}
aria-label="Курсив"
>
@@ -70,8 +71,8 @@ export function RichTextMessageEditor({
editor?.chain().focus().toggleBulletList().run()}
- color={editor?.isActive('bulletList') ? 'primary' : 'default'}
+ onClick={() => editor?.chain()?.focus().toggleBulletList().run()}
+ color={editor && !editor.isDestroyed && editor.isActive('bulletList') ? 'primary' : 'default'}
disabled={disabled}
aria-label="Список"
>
diff --git a/server/prisma/prisma/dev.db b/server/prisma/prisma/dev.db
index e15f8f2..1d6c4fb 100644
Binary files a/server/prisma/prisma/dev.db and b/server/prisma/prisma/dev.db differ