setLocalMessages((prev) => [...prev, tempChat]);
...
_sendChat(
{ chatId, message: msg, image: img ?? undefined },
{
onSuccess(data) {
setLocalMessages((prev) =>
[...prev, data].filter((msg) => msg.id !== tempId),
);
},
onError(err) {
setLocalMessages((prev) =>
prev.map((msg) => {
if (msg.id === tempId)
return {
...msg,
status: "failed",
error:
err.data?.code ===
"TOO_MANY_REQUESTS"
? "You are sending too many messages."
: "Failed to send message",
};
return msg;
}),
);
},
},
);
setLocalMessages((prev) => [...prev, tempChat]);
...
_sendChat(
{ chatId, message: msg, image: img ?? undefined },
{
onSuccess(data) {
setLocalMessages((prev) =>
[...prev, data].filter((msg) => msg.id !== tempId),
);
},
onError(err) {
setLocalMessages((prev) =>
prev.map((msg) => {
if (msg.id === tempId)
return {
...msg,
status: "failed",
error:
err.data?.code ===
"TOO_MANY_REQUESTS"
? "You are sending too many messages."
: "Failed to send message",
};
return msg;
}),
);
},
},
);