From 24e9af17d2f1f1613c3032c352de4815914c4c29 Mon Sep 17 00:00:00 2001 From: hippoz <10706925-hippoz@users.noreply.gitlab.com> Date: Tue, 8 Aug 2023 15:45:22 +0300 Subject: [PATCH] add message attachments --- .gitignore | 2 +- frontend/src/components/Message.svelte | 39 +- .../src/components/MessageAttachment.svelte | 93 ++ frontend/src/components/MessageInput.svelte | 204 ++++- frontend/src/request.js | 7 +- frontend/src/storage.js | 6 + package.json | 1 + src/database/init.ts | 27 +- src/database/templates.ts | 45 +- src/impl.ts | 12 +- src/routes/matrix/index.ts | 8 +- src/routes/uploads.ts | 14 + src/rpc/apis/attachments.ts | 122 +++ src/rpc/apis/channels.ts | 7 +- src/rpc/apis/messages.ts | 34 +- src/rpc/apis/users.ts | 43 +- src/rpc/index.ts | 2 + src/server.ts | 5 +- src/uploading.ts | 75 ++ tsconfig.json | 1 + yarn.lock | 835 ++++++++++-------- 21 files changed, 1136 insertions(+), 446 deletions(-) create mode 100644 frontend/src/components/MessageAttachment.svelte create mode 100644 src/routes/uploads.ts create mode 100644 src/rpc/apis/attachments.ts create mode 100644 src/uploading.ts diff --git a/.gitignore b/.gitignore index 014cf2d..3ce8d7e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ node_modules/ dist/ frontend-new/ -uploads/avatar/*.webp +uploads/ .env diff --git a/frontend/src/components/Message.svelte b/frontend/src/components/Message.svelte index d5d9372..2bd5f4b 100644 --- a/frontend/src/components/Message.svelte +++ b/frontend/src/components/Message.svelte @@ -1,8 +1,19 @@ + + + + +{#if renderAs === AttachmentRenderAs.Image} + Attachment +{:else if renderAs === AttachmentRenderAs.Video} + + +{:else if renderAs === AttachmentRenderAs.DownloadableFile} +
+
{ attachment.file_name }
+ download +
+{:else} +
Couldn't render attachment
+{/if} diff --git a/frontend/src/components/MessageInput.svelte b/frontend/src/components/MessageInput.svelte index 354b098..c9695d5 100644 --- a/frontend/src/components/MessageInput.svelte +++ b/frontend/src/components/MessageInput.svelte @@ -1,14 +1,24 @@