Allow image-only visitor messages
This commit is contained in:
+17
-10
@@ -69,21 +69,28 @@ $("#settingsForm").addEventListener("submit", async (event) => {
|
||||
$("#replyForm").addEventListener("submit", async (event) => {
|
||||
event.preventDefault();
|
||||
if (!state.activeId) return;
|
||||
const textarea = event.currentTarget.querySelector("textarea[name='message']");
|
||||
const originalMessage = textarea.value;
|
||||
const form = new FormData(event.currentTarget);
|
||||
const payload = {
|
||||
message: form.get("message") || "",
|
||||
attachments: await Promise.all(state.replyFiles.slice(0, 3).map(fileToPayload))
|
||||
};
|
||||
if (!payload.message.trim() && !payload.attachments.length) return;
|
||||
await api(`/api/admin/conversations/${state.activeId}/messages`, {
|
||||
method: "POST",
|
||||
body: payload
|
||||
});
|
||||
event.currentTarget.querySelector("textarea[name='message']").value = "";
|
||||
event.currentTarget.reset();
|
||||
state.replyFiles = [];
|
||||
renderReplyAttachments();
|
||||
await openConversation(state.activeId);
|
||||
textarea.value = "";
|
||||
try {
|
||||
await api(`/api/admin/conversations/${state.activeId}/messages`, {
|
||||
method: "POST",
|
||||
body: payload
|
||||
});
|
||||
event.currentTarget.reset();
|
||||
state.replyFiles = [];
|
||||
renderReplyAttachments();
|
||||
await openConversation(state.activeId);
|
||||
} catch (error) {
|
||||
textarea.value = originalMessage;
|
||||
throw error;
|
||||
}
|
||||
});
|
||||
|
||||
$("#replyForm textarea").addEventListener("keydown", (event) => {
|
||||
@@ -299,7 +306,7 @@ function renderActive() {
|
||||
$("#messages").innerHTML = messages.map((message) => `
|
||||
<article class="message ${message.senderType}">
|
||||
<div class="by">${escapeHtml(message.senderName || message.senderType)} · ${escapeHtml(message.createdAt)}</div>
|
||||
<p>${escapeHtml(message.body)}</p>
|
||||
${message.body ? `<p>${escapeHtml(message.body)}</p>` : ""}
|
||||
${renderAttachments(message.attachments)}
|
||||
</article>
|
||||
`).join("");
|
||||
|
||||
Reference in New Issue
Block a user