add: added image attachments to messages

This commit is contained in:
Lukian 2025-05-12 11:26:15 +02:00
parent 8f77a271e1
commit fb90f1ef4f
10 changed files with 169 additions and 10 deletions

View file

@ -23,8 +23,20 @@ export default function ChannelPage({socket}: {socket: WebSocket}) {
function handleSubmit(e: React.FormEvent) {
e.preventDefault();
const formData = new FormData();
const fileInput = document.getElementById("attachment") as HTMLInputElement;
if (fileInput.files) {
formData.append("attachment", fileInput.files[0]);
}
formData.append("token", token);
formData.append("message", message);
axios
.post(`/api/channels/${name}/messages/send`, { token, message})
.post(`/api/channels/${name}/messages/send`, formData, {
headers: {
"Content-Type": "multipart/form-data",
}
})
.then(() => {
setMessage("");
setSearchedUsers([]);
@ -204,6 +216,7 @@ export default function ChannelPage({socket}: {socket: WebSocket}) {
onChange={(e) => setMessage(e.target.value)}
ref={ref}
/>
<input type="file" name="attachment" id="attachment" />
<button type="submit">Send</button>
{searchedUsers.length > 0 && (
<div className="mentions">