diff --git a/src/components/app/MessageLogs.vue b/src/components/app/MessageLogs.vue index 94699f5..8e6df1f 100644 --- a/src/components/app/MessageLogs.vue +++ b/src/components/app/MessageLogs.vue @@ -21,22 +21,9 @@ 'show-message-animation': index === selectedChannelMessages.length - 1 }" :key="msg.tempID || msg.messageID" - :date="msg.created" - :admin="msg.creator.admin" - :username="msg.creator.username" - :uniqueID="msg.creator.uniqueID" - :avatar="msg.creator.avatar" - :message="msg.message" - :embed="msg.embed" - :files="msg.files" - :status="msg.status" - :messageID="msg.messageID" - :channelID="msg.channelID" - :type="msg.type" - :timeEdited="msg.timeEdited" - :color="msg.color" + :creator="msg.creator" + :message="msg" :isServer="isServer" - :mentions="msg.mentions" /> diff --git a/src/components/app/MessagePanel.vue b/src/components/app/MessagePanel.vue index 4807fb4..eabc7d9 100644 --- a/src/components/app/MessagePanel.vue +++ b/src/components/app/MessagePanel.vue @@ -789,7 +789,8 @@ export default { }, selectedChannelID() { this.$nextTick(() => { - if (!this.mobile) this.$refs["input-box"].focus(); + if (!this.mobile && this.$refs["input-box"]) + this.$refs["input-box"].focus(); }); } }, diff --git a/src/components/app/MessageTemplate.vue b/src/components/app/MessageTemplate.vue index 205a552..6ed1bb4 100644 --- a/src/components/app/MessageTemplate.vue +++ b/src/components/app/MessageTemplate.vue @@ -6,19 +6,19 @@ @mouseleave="hover = false" >
- {{ this.$props.username }} + {{ creator.username }}
{{ getDate }}
@@ -93,41 +97,33 @@
edit
-
+
hourglass_full
-
+
done
-
+
close Failed
-
+
{{ - this.$props.username + creator.username }} - joined the server! - left the server. - has been kicked. - has been banned. + {{ messageType[0] }} + {{ getDate }}
@@ -154,24 +150,7 @@ import windowProperties from "@/utils/windowProperties"; import { mapState } from "vuex"; export default { - props: [ - "message", - "status", - "username", - "avatar", - "date", - "uniqueID", - "files", - "admin", - "type", - "embed", - "messageID", - "channelID", - "timeEdited", - "color", - "isServer", - "mentions" - ], + props: ["creator", "message", "isServer"], components: { ProfilePicture, messageEmbedTemplate, @@ -196,28 +175,28 @@ export default { this.$store.dispatch("setMessageContext", { x, y, - channelID: this.channelID, - messageID: this.messageID, - message: this.message, - uniqueID: this.uniqueID, - type: this.type, - color: this.color + channelID: this.message.channelID, + messageID: this.message.messageID, + message: this.message.message, + uniqueID: this.creator.uniqueID, + type: this.message.type, + color: this.message.color }); }, openUserInformation() { - this.$store.dispatch("setUserInformationPopout", this.uniqueID); + this.$store.dispatch("setUserInformationPopout", this.creator.uniqueID); }, imageClicked(event) { this.$store.dispatch("setImagePreviewURL", event.target.src); }, editMessage() { - if (this.uniqueID !== this.user.uniqueID) return; + if (this.creator.uniqueID !== this.user.uniqueID) return; this.dropDownVisable = false; this.$store.dispatch("setEditMessage", { - channelID: this.channelID, - messageID: this.messageID, - message: this.message, - color: this.color + channelID: this.message.channelID, + messageID: this.message.messageID, + message: this.message.message, + color: this.message.color }); }, contentDoubleClickEvent(event) { @@ -235,7 +214,7 @@ export default { return { width: srcWidth * ratio, height: srcHeight * ratio }; }, imageSize() { - const files = this.$props.files; + const files = this.message.files; if (!files || files.length === 0 || !files[0].dimensions) return undefined; @@ -250,7 +229,7 @@ export default { minHeight = h / 1.7; } - const dimensions = this.$props.files[0].dimensions; + const dimensions = this.message.files[0].dimensions; const srcWidth = dimensions.width; const srcHeight = dimensions.height; @@ -276,8 +255,8 @@ export default { }, checkMentioned() { if ( - this.mentions && - this.mentions.find(u => u.uniqueID === this.user.uniqueID) + this.message.mentions && + this.message.mentions.find(u => u.uniqueID === this.user.uniqueID) ) { this.mentioned = true; } else { @@ -289,7 +268,7 @@ export default { getWindowWidth(dimentions) { this.onResize(dimentions); }, - mentions() { + message() { this.checkMentioned(); } }, @@ -303,9 +282,9 @@ export default { computed: { ...mapState("settingsModule", ["apperance"]), getImage() { - if (!this.$props.files || this.$props.files.length === 0) + if (!this.message.files || this.message.files.length === 0) return undefined; - const file = this.$props.files[0]; + const file = this.message.files[0]; if (!file.fileID) return undefined; const filetypes = /jpeg|jpg|gif|png/; const extname = filetypes.test(path.extname(file.fileName).toLowerCase()); @@ -313,9 +292,9 @@ export default { return config.domain + "/media/" + file.fileID + "/" + file.fileName; }, getFile() { - if (!this.$props.files || this.$props.files.length === 0) + if (!this.message.files || this.message.files.length === 0) return undefined; - let file = this.$props.files[0]; + let file = this.message.files[0]; if (!file.fileID) return undefined; const filetypes = /jpeg|jpg|gif|png/; const extname = filetypes.test(path.extname(file.fileName).toLowerCase()); @@ -325,18 +304,18 @@ export default { }, getDate() { return friendlyDate( - this.$props.date, + this.message.created, this.apperance && this.apperance["12h_time"] ? "12h" : false ); }, getEditedDate() { return friendlyDate( - this.timeEdited, + this.message.timeEdited, this.apperance && this.apperance["12h_time"] ? "12h" : false ); }, userAvatar() { - return config.domain + "/avatars/" + this.$props.avatar; + return config.domain + "/avatars/" + this.creator.avatar; }, user() { return this.$store.getters.user; @@ -354,7 +333,7 @@ export default { const serverMembers = this.$store.getters["servers/serverMembers"]; return serverMembers.find( m => - m.uniqueID === this.uniqueID && + m.uniqueID === this.creator.uniqueID && m.server_id === this.$store.getters["servers/selectedServerID"] ); }, @@ -374,6 +353,25 @@ export default { } else { return this.roles.find(r => r.default).color + " !important"; } + }, + messageType() { + switch (this.message.type) { + case 1: + return ["joined the server!", "join"]; + break; + case 2: + return ["left the server.", "leave"]; + break; + case 3: + return ["has been kicked.", "kick"]; + break; + case 4: + return ["has been banned.", "ban"]; + break; + default: + return null; + break; + } } } }; @@ -435,19 +433,19 @@ $message-color: rgba(0, 0, 0, 0.3); color: #d92121; } -.ownMessageLeft { +.ownMessageRight { flex-direction: row-reverse; } -.ownMessageLeft .triangle-inner { +.ownMessageRight .triangle-inner { border-left: 8px solid $self-message-color; border-right: none !important; } -.ownMessageLeft .avatar { +.ownMessageRight .avatar { margin-right: 0px; } -.ownMessageLeft .sending-status { +.ownMessageRight .sending-status { margin-left: auto !important; margin-right: 4px !important; } @@ -546,7 +544,7 @@ $message-color: rgba(0, 0, 0, 0.3); border-radius: 4px; border-bottom-left-radius: 0; } -.ownMessageLeft .content { +.ownMessageRight .content { border-radius: 4px; border-bottom-right-radius: 0; }