diff --git a/src/components/message.vue b/src/components/message.vue
index 1ae10fc..5c43a1c 100644
--- a/src/components/message.vue
+++ b/src/components/message.vue
@@ -1,18 +1,25 @@
-
+
+ {{replyEvent.sender}}
+ {{replyEvent.type==='m.room.message'?replyEvent.content.body:'unkown event'}}
+
+
{{time}}
@@ -61,4 +94,9 @@ export default {
font-size: 0.7rem;
text-align: right;
}
+ .reply{
+ border-left: 2px solid #fff;
+ padding-left: 0.5rem;
+ margin-bottom: 0.5rem;
+ }
\ No newline at end of file
diff --git a/src/components/timeline.vue b/src/components/timeline.vue
index 9ae8862..1325daf 100644
--- a/src/components/timeline.vue
+++ b/src/components/timeline.vue
@@ -30,9 +30,12 @@
:key="event.origin_server_ts"
:title="`${group[0].sender} at ${getTime(event.origin_server_ts)}`"
>
-
{{membershipEvents[event.content.membership]}}
@@ -52,6 +55,7 @@ import userThumbnail from "@/components/userThumbnail";
import {matrix} from "@/main";
import splitArray from "@/lib/splitArray";
import {getDate, getTime} from "@/lib/getTimeStrings";
+import sdk from "matrix-js-sdk"
export default {
name: 'eventGroup',
@@ -62,12 +66,25 @@ export default {
props: {
timeline: Array,
user: String,
- groupTimeline: Boolean
+ groupTimeline: Boolean,
+ roomId: String
},
methods: {
getUser(userId) {
return matrix.client.getUser(userId);
},
+ getReplyId(event){
+ if(!event.content['m.relates_to']) return undefined;
+ if(!event.content['m.relates_to']['m.in_reply_to']) return undefined;
+ return event.content['m.relates_to']['m.in_reply_to'].event_id || undefined;
+ },
+ async getReplyEvent(event, callback){
+ let replyId = this.getReplyId(event);
+ if (replyId === undefined) return undefined;
+ await matrix.client.fetchRoomEvent(this.roomId, replyId).then((res) => {
+ callback(new sdk.MatrixEvent(res));
+ });
+ },
splitArray,
getDate,
getTime
@@ -126,6 +143,7 @@ export default {
}
.username{
margin-left: 1rem;
+ font-weight: bold;
}
.event{
.info{
diff --git a/src/views/chat.vue b/src/views/chat.vue
index 42f5380..3aa5d05 100644
--- a/src/views/chat.vue
+++ b/src/views/chat.vue
@@ -4,7 +4,7 @@
{{loadingStatus}}
this room is empty
-
+