socket event for drag and drop, fixed some bugs

This commit is contained in:
supertiger1234 2019-11-12 11:46:44 +00:00
parent c32fa3bfe3
commit e94620a60d
3 changed files with 38 additions and 3 deletions

View file

@ -128,7 +128,10 @@ export default {
)[serverID];
const defaultChannelID = server.default_channel_id;
const channels = this.$store.getters.channels;
const channel = channels[lastSelectedChannel || defaultChannelID];
let channel = channels[lastSelectedChannel || defaultChannelID];
if (!channel) {
channel = channels[defaultChannelID];
}
this.dismissNotification(channel.channelID);
this.$store.dispatch("servers/setSelectedServerID", serverID);

View file

@ -118,6 +118,7 @@ const actions = {
s.channels = [...sortedServerChannels, ...tempServerChannels];
tempServerChannels = null;
sortedServerChannels = null;
delete s.channel_position;
return s;
})
@ -190,6 +191,11 @@ const actions = {
context.commit("removeFriend", uniqueID);
},
socket_receiveMessage(context, data) {
if (data.message.type === 1) {
if (context.getters.user.uniqueID === data.message.creator.uniqueID){
return;
}
}
if (context.getters.channels[data.message.channelID]) {
context.dispatch("updateChannelLastMessage", data.message.channelID);
}
@ -318,7 +324,28 @@ const actions = {
["socket_server:joined"](context, server) {
context.dispatch("servers/setServer", server);
const channels = server.channels;
let channels = server.channels;
// sort server channels by order
if(server.channel_position) {
let tempServerChannels = [...channels];
let sortedServerChannels = [];
for (let index = 0; index < server.channel_position.length; index++) {
const channelID = server.channel_position[index];
const findIndex = tempServerChannels.findIndex((c) => c.channelID == channelID );
if (tempServerChannels[findIndex]) {
sortedServerChannels = [...sortedServerChannels, ...[tempServerChannels[findIndex]]];
tempServerChannels.splice(findIndex, 1)
}
}
channels = [...sortedServerChannels, ...tempServerChannels];
tempServerChannels = null;
sortedServerChannels = null;
delete server.channel_position;
}
for (let index = 0; index < channels.length; index++) {
const element = channels[index];
@ -358,6 +385,7 @@ const actions = {
const selectedChannelID = context.rootState.channelModule.selectedChannelID;
const serverChannelID = context.rootState.channelModule.serverChannelID;
const serverID = context.rootState.servers.selectedServerID;
if (serverChannelIDs.includes(selectedChannelID)) {
context.dispatch("selectedChannelID", null);
@ -365,6 +393,9 @@ const actions = {
if (serverChannelIDs.includes(serverChannelID)) {
context.dispatch("setServerChannelID", null);
}
if (serverID === server_id) {
context.dispatch("servers/setSelectedServerID", null);
}
context.dispatch("servers/removePresences", server_id);
context.dispatch("servers/removeServer", server_id);
context.dispatch("servers/removeNotifications", server_id);

View file

@ -19,7 +19,8 @@ const config = [
"You can now move channels to make it more organized."
],
fix: [
"Fixed a bug where the notification sound would sometimes not work."
"Fixed a bug where the notification sound would sometimes not work.",
"Fixed a bug where join message would send twice."
],
},
{