Browse Source

add reply subject

pull/1/head
PhilReact 8 months ago
parent
commit
ff1a8213b7
  1. 22
      src/components/editor/ReadOnlySlate.tsx
  2. 4
      src/pages/Mail/NewMessage.tsx
  3. 8
      src/pages/Mail/ShowMessageV2.tsx

22
src/components/editor/ReadOnlySlate.tsx

@ -1,4 +1,4 @@
import React, { useMemo } from 'react';
import React, { useCallback, useEffect, useMemo, useState } from 'react';
import { createEditor, Descendant, Editor } from 'slate';
import { withReact, Slate, Editable, RenderElementProps, RenderLeafProps } from 'slate-react';
import { renderElement, renderLeaf } from './BlogEditor';
@ -8,9 +8,29 @@ interface ReadOnlySlateProps {
mode?: string
}
const ReadOnlySlate: React.FC<ReadOnlySlateProps> = ({ content, mode }) => {
const [load, setLoad] = useState(false)
const editor = useMemo(() => withReact(createEditor()), [])
const value = useMemo(() => content, [content])
const performUpdate = useCallback(async()=> {
setLoad(true)
await new Promise<void>((res)=> {
setTimeout(() => {
res()
}, 250);
})
setLoad(false)
}, [])
useEffect(()=> {
performUpdate()
}, [value])
if(load) return null
return (
<Slate editor={editor} value={value} onChange={() => {}}>
<Editable

4
src/pages/Mail/NewMessage.tsx

@ -146,7 +146,6 @@ export const NewMessage = ({
}
})
const openModal = () => {
setIsOpen(true)
@ -184,6 +183,9 @@ export const NewMessage = ({
if (replyTo) {
setIsOpen(true)
setDestinationName(replyTo?.user || '')
if(replyTo?.subject){
setSubject(replyTo.subject)
}
}
}, [replyTo])

8
src/pages/Mail/ShowMessageV2.tsx

@ -105,6 +105,7 @@ export const ShowMessageV2 = ({
cleanHTML = DOMPurify.sanitize(message.htmlContent);
}
return (
<Box
sx={{
@ -298,9 +299,16 @@ export const ShowMessageV2 = ({
{message?.htmlContent && (
<div dangerouslySetInnerHTML={{ __html: cleanHTML }} />
)}
<Box sx={{
width: '100%',
padding: '15px'
}}>
{message?.textContent && (
<ReadOnlySlate content={message.textContent} mode="mail" />
)}
</Box>
</Box>
</Box>
);

Loading…
Cancel
Save