({
communityId,
currentUser,
currentMessage,
open,
close,
onSend,
uploadFiles,
progress,
uploading,
uploads,
api,
}: Props)
| 32 | } |
| 33 | |
| 34 | export default function EditMessageModal({ |
| 35 | communityId, |
| 36 | currentUser, |
| 37 | currentMessage, |
| 38 | open, |
| 39 | close, |
| 40 | onSend, |
| 41 | uploadFiles, |
| 42 | progress, |
| 43 | uploading, |
| 44 | uploads, |
| 45 | api, |
| 46 | }: Props) { |
| 47 | const [message, setMessage] = useState(''); |
| 48 | const [users] = useUsersContext(); |
| 49 | const allUsers = [...users, ...currentMessage.mentions]; |
| 50 | return ( |
| 51 | <Modal open={open} close={close} size="xl"> |
| 52 | <div className={styles.grid}> |
| 53 | <div className={styles.column}> |
| 54 | <div className={styles.header}> |
| 55 | <H3 className={styles.h3}>Edit Message</H3> |
| 56 | </div> |
| 57 | <Field> |
| 58 | <MessageForm |
| 59 | id="inbox-message-form" |
| 60 | currentUser={currentUser} |
| 61 | draft={false} |
| 62 | onSend={(message: string) => { |
| 63 | return onSend({ message }); |
| 64 | }} |
| 65 | fetchMentions={(term?: string) => { |
| 66 | if (!term) return Promise.resolve([]); |
| 67 | return api.fetchMentions(term, communityId); |
| 68 | }} |
| 69 | onMessageChange={(message) => setMessage(message)} |
| 70 | rows={4} |
| 71 | progress={progress} |
| 72 | uploading={uploading} |
| 73 | uploads={uploads} |
| 74 | sendOnEnter={false} |
| 75 | preview={false} |
| 76 | message={preprocess(currentMessage.body, allUsers)} |
| 77 | useUsersContext={useUsersContext} |
| 78 | mentions={currentMessage.mentions} |
| 79 | /> |
| 80 | </Field> |
| 81 | </div> |
| 82 | <div className={styles.column}> |
| 83 | <div className={styles.header}> |
| 84 | <H3 className={styles.h3}>Preview</H3> |
| 85 | <Icon onClick={close}> |
| 86 | <FiX /> |
| 87 | </Icon> |
| 88 | </div> |
| 89 | {message && ( |
| 90 | <Preview |
| 91 | message={{ |
nothing calls this directly
no test coverage detected