Page MenuHomePhorge

D7825.1765145410.diff
No OneTemporary

Size
3 KB
Referenced Files
None
Subscribers
None

D7825.1765145410.diff

diff --git a/web/chat/chat-input-text-area.react.js b/web/chat/chat-input-text-area.react.js
--- a/web/chat/chat-input-text-area.react.js
+++ b/web/chat/chat-input-text-area.react.js
@@ -11,11 +11,12 @@
+escape?: () => void,
+focus: boolean,
+currentText: string,
+ +setCurrentText: (text: string) => void,
};
const ChatInputTextArea: React.ComponentType<Props> = React.memo<Props>(
function ChatInputTextArea(props: Props) {
- const { currentText, focus, escape, send } = props;
+ const { currentText, focus, escape, send, setCurrentText } = props;
const textareaRef = React.useRef(null);
const focusAndUpdateText = React.useCallback(() => {
@@ -72,7 +73,10 @@
}
};
- const onChangeMessageText = () => {
+ const onChangeMessageText = (
+ event: SyntheticEvent<HTMLTextAreaElement>,
+ ) => {
+ setCurrentText(event.currentTarget.value);
updateHeight();
};
diff --git a/web/chat/edit-message-provider.js b/web/chat/edit-message-provider.js
--- a/web/chat/edit-message-provider.js
+++ b/web/chat/edit-message-provider.js
@@ -18,6 +18,7 @@
+renderEditModal: (params: EditState) => void,
+clearEditModal: () => void,
+editState: ?EditState,
+ +setDraft: string => void,
};
const EditModalContext: React.Context<EditModalContextType> =
@@ -25,6 +26,7 @@
renderEditModal: () => {},
clearEditModal: () => {},
editState: null,
+ setDraft: () => {},
});
type Props = {
@@ -48,13 +50,27 @@
return null;
}, []);
+ const setDraft = React.useCallback(
+ (draft: ?string) => {
+ if (!editState) {
+ return;
+ }
+ setEditState({
+ ...editState,
+ editedMessageDraft: draft,
+ });
+ },
+ [editState, setEditState],
+ );
+
const value = React.useMemo(
() => ({
renderEditModal,
clearEditModal: clearEditModal,
editState,
+ setDraft,
}),
- [renderEditModal, clearEditModal, editState],
+ [renderEditModal, clearEditModal, editState, setDraft],
);
let modalOverlay;
diff --git a/web/chat/edit-text-message.react.js b/web/chat/edit-text-message.react.js
--- a/web/chat/edit-text-message.react.js
+++ b/web/chat/edit-text-message.react.js
@@ -26,10 +26,11 @@
...BaseProps,
+editState: ?EditState,
+clearEditModal: () => void,
+ +setDraft: string => void,
};
function EditTextMessage(props: Props): React.Node {
- const { editState, background, clearEditModal, threadInfo } = props;
+ const { editState, background, clearEditModal, threadInfo, setDraft } = props;
const editedMessageDraft = editState?.editedMessageDraft ?? '';
const threadColor = threadInfo.color;
@@ -56,6 +57,7 @@
<ChatInputTextArea
focus={!background}
currentText={editedMessageDraft}
+ setCurrentText={setDraft}
/>
</div>
<div className={css.bottomRow}>
@@ -73,12 +75,13 @@
const ConnectedEditTextMessage: React.ComponentType<BaseProps> =
React.memo<BaseProps>(function ConnectedEditTextMessage(props) {
- const { editState, clearEditModal } = useEditModalContext();
+ const { editState, clearEditModal, setDraft } = useEditModalContext();
return (
<EditTextMessage
{...props}
editState={editState}
clearEditModal={clearEditModal}
+ setDraft={setDraft}
/>
);
});

File Metadata

Mime Type
text/plain
Expires
Sun, Dec 7, 10:10 PM (8 h, 34 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5846146
Default Alt Text
D7825.1765145410.diff (3 KB)

Event Timeline