Skip to content

Commit d746198

Browse files
authored
Configured delete while edit (#1021)
1 parent 6984897 commit d746198

2 files changed

Lines changed: 17 additions & 0 deletions

File tree

packages/react/src/store/messageStore.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ const useMessageStore = create((set, get) => ({
88
threadMessages: [],
99
filtered: false,
1010
editMessage: {},
11+
deletedMessage: {},
1112
messagesOffset: 0,
1213
quoteMessage: [],
1314
deleteMessageRoles: {},
@@ -51,13 +52,15 @@ const useMessageStore = create((set, get) => ({
5152
const message = get().messages.find((m) => m._id === messageId);
5253
if (threadMessage) {
5354
return set((state) => ({
55+
deletedMessage: threadMessage,
5456
threadMessages: cloneArray(state.threadMessages).filter(
5557
(m) => m._id !== messageId
5658
),
5759
}));
5860
}
5961
if (message) {
6062
return set((state) => ({
63+
deletedMessage: message,
6164
messages: cloneArray(state.messages).filter((m) => m._id !== messageId),
6265
}));
6366
}

packages/react/src/views/ChatInput/ChatInput.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ const ChatInput = ({ scrollToBottom }) => {
102102
replaceMessage,
103103
clearQuoteMessages,
104104
threadId,
105+
deletedMessage,
105106
} = useMessageStore((state) => ({
106107
editMessage: state.editMessage,
107108
setEditMessage: state.setEditMessage,
@@ -111,6 +112,7 @@ const ChatInput = ({ scrollToBottom }) => {
111112
replaceMessage: state.replaceMessage,
112113
threadId: state.threadMainMessage?._id,
113114
clearQuoteMessages: state.clearQuoteMessages,
115+
deletedMessage: state.deletedMessage,
114116
}));
115117

116118
const setIsLoginModalOpen = useLoginStore(
@@ -168,6 +170,18 @@ const ChatInput = ({ scrollToBottom }) => {
168170
}
169171
}, [editMessage]);
170172

173+
useEffect(() => {
174+
if (
175+
deletedMessage._id &&
176+
editMessage._id &&
177+
deletedMessage._id === editMessage._id
178+
) {
179+
messageRef.current.value = '';
180+
setDisableButton(true);
181+
setEditMessage({});
182+
}
183+
}, [deletedMessage]);
184+
171185
const getMessageLink = async (id) => {
172186
const host = RCInstance.getHost();
173187
const res = await RCInstance.channelInfo();

0 commit comments

Comments
 (0)