diff --git a/src/components/Chat.vue b/src/components/Chat.vue
index b160d22..9e9c68d 100644
--- a/src/components/Chat.vue
+++ b/src/components/Chat.vue
@@ -82,8 +82,10 @@
v-on:send-quick-reaction="sendQuickReaction"
v-on:context-menu="showContextMenuForEvent($event)"
v-on:own-avatar-clicked="viewProfile"
+ v-on:download="download(event)"
/>
+
import { TimelineWindow, EventTimeline } from "matrix-js-sdk";
import MessageIncomingText from "./messages/MessageIncomingText";
+import MessageIncomingFile from "./messages/MessageIncomingFile";
import MessageIncomingImage from "./messages/MessageIncomingImage.vue";
import MessageIncomingAudio from "./messages/MessageIncomingAudio.vue";
import MessageIncomingVideo from "./messages/MessageIncomingVideo.vue";
import MessageOutgoingText from "./messages/MessageOutgoingText";
+import MessageOutgoingFile from "./messages/MessageOutgoingFile";
import MessageOutgoingImage from "./messages/MessageOutgoingImage.vue";
import MessageOutgoingAudio from "./messages/MessageOutgoingAudio.vue";
import MessageOutgoingVideo from "./messages/MessageOutgoingVideo.vue";
@@ -376,10 +380,12 @@ export default {
components: {
ChatHeader,
MessageIncomingText,
+ MessageIncomingFile,
MessageIncomingImage,
MessageIncomingAudio,
MessageIncomingVideo,
MessageOutgoingText,
+ MessageOutgoingFile,
MessageOutgoingImage,
MessageOutgoingAudio,
MessageOutgoingVideo,
@@ -812,6 +818,8 @@ export default {
return MessageIncomingAudio;
} else if (event.getContent().msgtype == "m.video") {
return MessageIncomingVideo;
+ } else if (event.getContent().msgtype == "m.file") {
+ return MessageIncomingFile;
}
return MessageIncomingText;
} else {
@@ -821,6 +829,8 @@ export default {
return MessageOutgoingAudio;
} else if (event.getContent().msgtype == "m.video") {
return MessageOutgoingVideo;
+ } else if (event.getContent().msgtype == "m.file") {
+ return MessageOutgoingFile;
}
return MessageOutgoingText;
}
diff --git a/src/components/messages/MessageIncomingFile.vue b/src/components/messages/MessageIncomingFile.vue
new file mode 100644
index 0000000..63dc075
--- /dev/null
+++ b/src/components/messages/MessageIncomingFile.vue
@@ -0,0 +1,51 @@
+
+
+
+
+ {{
+ messageEventDisplayName(event).substring(0, 1).toUpperCase()
+ }}
+
+
+
+
+
+
+ {{ inReplyToSender || "Someone" }} said:
+
+
+
+
+ File:
+
+ (edited)
+
+
+
+
+ more_vert
+
+
+
{{ messageEventDisplayName(event) }}
+
+ {{ formatTime(event.event.origin_server_ts) }}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/messages/MessageOutgoingFile.vue b/src/components/messages/MessageOutgoingFile.vue
new file mode 100644
index 0000000..6bdacdb
--- /dev/null
+++ b/src/components/messages/MessageOutgoingFile.vue
@@ -0,0 +1,48 @@
+
+
+
+ more_vert
+
+
+
+
+
+ {{ inReplyToSender || "Someone" }} said:
+
+
+
+
+
+ File:
+
+ (edited)
+
+
+
+
+ {{ userAvatarLetter }}
+
+
+
+
+ {{ formatTime(event.event.origin_server_ts) }}
+
+
{{ event.status }}
+
+
+
+
+
+
\ No newline at end of file