diff --git a/src/components/app/MessagePanel.vue b/src/components/app/MessagePanel.vue
index b51d403..9191a31 100644
--- a/src/components/app/MessagePanel.vue
+++ b/src/components/app/MessagePanel.vue
@@ -20,6 +20,7 @@
:uniqueID="msg.creator.uniqueID"
:avatar="msg.creator.avatar"
:message="msg.message"
+ :embed="msg.embed"
:files="msg.files"
:status="msg.status"
:type="msg.type"
diff --git a/src/components/app/MessageTemplate.vue b/src/components/app/MessageTemplate.vue
index 3c8667f..8b9483f 100644
--- a/src/components/app/MessageTemplate.vue
+++ b/src/components/app/MessageTemplate.vue
@@ -62,6 +62,7 @@
@click="imageClicked"
>
+
import ProfilePicture from "@/components/ProfilePictureTemplate.vue";
+import messageEmbedTemplate from "./messageEmbedTemplate";
import messageFormatter from "@/utils/messageFormatter.js";
import config from "@/config.js";
import friendlyDate from "@/utils/date";
@@ -103,7 +105,8 @@ import { mapState } from "vuex";
export default {
components: {
- ProfilePicture
+ ProfilePicture,
+ messageEmbedTemplate
},
props: [
"message",
@@ -114,7 +117,8 @@ export default {
"uniqueID",
"files",
"admin",
- "type"
+ "type",
+ "embed"
],
methods: {
openUserInformation() {
@@ -126,12 +130,6 @@ export default {
},
computed: {
...mapState("settingsModule", ["apperance"]),
- getLinks(){
- const message = this.$props['message']
- if (!message) return [];
- console.log(message.match(/(https?:\/\/[^\s]+)/g) || [])
- return "LOL"
- },
getImage() {
if (!this.$props.files || this.$props.files.length === 0)
return undefined;
@@ -381,7 +379,7 @@ export default {
+
diff --git a/src/store/modules/messageModule.js b/src/store/modules/messageModule.js
index e6ad869..bc79594 100644
--- a/src/store/modules/messageModule.js
+++ b/src/store/modules/messageModule.js
@@ -61,7 +61,6 @@ const actions = {
},
-
messages(context, data) {
context.commit("messages", data);
},
@@ -77,6 +76,17 @@ const actions = {
},
replaceMessage(context, data) {
context.commit("replaceMessage", data);
+ },
+ updateMessage(context, {channelID, messageID, message}) {
+ console.log(message)
+ const messages = context.state.messages[channelID];
+ messages.find((obj, index) => {
+ if (obj.messageID === messageID){
+ const newObj = Object.assign({}, obj, message);
+ context.commit('updateMessage', {message: newObj, index});
+ return true;
+ }
+ })
}
};
@@ -101,6 +111,10 @@ async function getMessages(context, channelID, isServerChannel) {
const mutations = {
+ updateMessage(state, {message, index}) {
+ console.log(message);
+ Vue.set(state.messages[message.channelID], index, message);
+ },
messages(state, data) {
Vue.set(state.messages, data.channelID, data.messages);
},
@@ -112,7 +126,6 @@ const mutations = {
data.message
);
},
-
replaceMessage(state, data) {
const { tempID, message } = data;
diff --git a/src/store/modules/socketIOModule.js b/src/store/modules/socketIOModule.js
index 6c1eb00..e5eee0e 100644
--- a/src/store/modules/socketIOModule.js
+++ b/src/store/modules/socketIOModule.js
@@ -266,11 +266,13 @@ const actions = {
},
['socket_server:removeChannel'](context, {server_id, channelID}) {
context.dispatch('servers/removeServerChannel', {server_id, channelID});
- // context.dispatch('removeChannel', {channelID});
+
},
['socket_server:updateServer'](context, data) {
context.dispatch('servers/updateServer', {server_id: data.server_id, server: data});
- // context.dispatch('removeChannel', {channelID});
+ },
+ ['socket_updateMessage'](context, data) {
+ context.dispatch('updateMessage', {channelID: data.channelID, messageID: data.messageID, message: data});
},
}