From b4521456916f8999f1406407547398c30ac2b868 Mon Sep 17 00:00:00 2001 From: supertiger1234 Date: Wed, 10 Jul 2019 16:20:36 +0100 Subject: [PATCH] fix bugs and preparing to make server settings. --- public/index.html | 4 +- src/components/app/MessagePanel.vue | 5 +- src/components/app/Popouts/Popouts.vue | 5 +- .../ServerSettingsPanels/DeleteServer.vue | 59 ++++++++ .../Popouts/ServerSettingsPanels/General.vue | 47 ++++++ .../ServerSettingsPanels/ManageChannels.vue | 104 +++++++++++++ .../ServerSettingsPanels/ServerSettings.vue | 139 ++++++++++++++++++ .../app/ServerTemplate/ChannelsList.vue | 2 +- .../app/ServerTemplate/ServerTemplate.vue | 11 +- src/components/app/Tabs/Servers.vue | 2 + src/services/ServerService.js | 3 + .../modules/popoutsModule/popoutsModule.js | 11 ++ src/utils/changelog.js | 3 +- src/views/App.vue | 4 + 14 files changed, 390 insertions(+), 9 deletions(-) create mode 100644 src/components/app/Popouts/Popouts/ServerSettingsPanels/DeleteServer.vue create mode 100644 src/components/app/Popouts/Popouts/ServerSettingsPanels/General.vue create mode 100644 src/components/app/Popouts/Popouts/ServerSettingsPanels/ManageChannels.vue create mode 100644 src/components/app/Popouts/Popouts/ServerSettingsPanels/ServerSettings.vue diff --git a/public/index.html b/public/index.html index 0cd3ad2..519a81a 100644 --- a/public/index.html +++ b/public/index.html @@ -29,7 +29,7 @@ - + @@ -37,7 +37,7 @@ - + diff --git a/src/components/app/MessagePanel.vue b/src/components/app/MessagePanel.vue index 8d2a090..73ebeef 100644 --- a/src/components/app/MessagePanel.vue +++ b/src/components/app/MessagePanel.vue @@ -490,6 +490,7 @@ export default { userStatusColor() { const selectedChannel = this.$store.getters.selectedChannelID; const channel = this.$store.getters.channels[selectedChannel]; + const presences = this.$store.getters['members/presences']; let status = 0; if (!channel || !channel.recipients || !channel.recipients.length) { @@ -497,9 +498,7 @@ export default { } else if ( this.$store.getters.user.friends[channel.recipients[0].uniqueID] ) { - status = - this.$store.getters.user.friends[channel.recipients[0].uniqueID] - .recipient.status || 0; + status = presences[channel.recipients[0].uniqueID] || 0; } return statuses[status].color; } diff --git a/src/components/app/Popouts/Popouts.vue b/src/components/app/Popouts/Popouts.vue index 76afa20..94b3400 100644 --- a/src/components/app/Popouts/Popouts.vue +++ b/src/components/app/Popouts/Popouts.vue @@ -10,6 +10,7 @@ + @@ -26,6 +27,7 @@ const imageLargePreview = () => import('./Popouts/imageLargePreview.vue'); const DragDropFileUploadDialog = () => import('./Popouts/DragDropFileUploadDialog.vue'); const ServerInvitePopout = () => import('./Popouts/ServerInvitePopout.vue'); + const ServerSettings = () => import('./Popouts/ServerSettingsPanels/ServerSettings.vue'); @@ -39,7 +41,8 @@ export default { imageLargePreview, TakeSurveyPopout, AddServer, - ServerInvite: ServerInvitePopout + ServerInvite: ServerInvitePopout, + ServerSettings }, data() { return { diff --git a/src/components/app/Popouts/Popouts/ServerSettingsPanels/DeleteServer.vue b/src/components/app/Popouts/Popouts/ServerSettingsPanels/DeleteServer.vue new file mode 100644 index 0000000..4a81db0 --- /dev/null +++ b/src/components/app/Popouts/Popouts/ServerSettingsPanels/DeleteServer.vue @@ -0,0 +1,59 @@ + + + + + + + + diff --git a/src/components/app/Popouts/Popouts/ServerSettingsPanels/General.vue b/src/components/app/Popouts/Popouts/ServerSettingsPanels/General.vue new file mode 100644 index 0000000..b3d01e0 --- /dev/null +++ b/src/components/app/Popouts/Popouts/ServerSettingsPanels/General.vue @@ -0,0 +1,47 @@ + + + + + + + + diff --git a/src/components/app/Popouts/Popouts/ServerSettingsPanels/ManageChannels.vue b/src/components/app/Popouts/Popouts/ServerSettingsPanels/ManageChannels.vue new file mode 100644 index 0000000..ec34307 --- /dev/null +++ b/src/components/app/Popouts/Popouts/ServerSettingsPanels/ManageChannels.vue @@ -0,0 +1,104 @@ + + + + + + + + diff --git a/src/components/app/Popouts/Popouts/ServerSettingsPanels/ServerSettings.vue b/src/components/app/Popouts/Popouts/ServerSettingsPanels/ServerSettings.vue new file mode 100644 index 0000000..9b1f021 --- /dev/null +++ b/src/components/app/Popouts/Popouts/ServerSettingsPanels/ServerSettings.vue @@ -0,0 +1,139 @@ + + + + + + diff --git a/src/components/app/ServerTemplate/ChannelsList.vue b/src/components/app/ServerTemplate/ChannelsList.vue index 635dc86..3628da0 100644 --- a/src/components/app/ServerTemplate/ChannelsList.vue +++ b/src/components/app/ServerTemplate/ChannelsList.vue @@ -2,7 +2,7 @@
- +
diff --git a/src/components/app/ServerTemplate/ServerTemplate.vue b/src/components/app/ServerTemplate/ServerTemplate.vue index 70ec5a8..e2da7aa 100644 --- a/src/components/app/ServerTemplate/ServerTemplate.vue +++ b/src/components/app/ServerTemplate/ServerTemplate.vue @@ -22,10 +22,15 @@ v-if="ServerData.creator.uniqueID !== user.uniqueID" >Leave Server +
@@ -53,6 +58,10 @@ export default { }; }, methods: { + showSettings() { + this.showContextMenu = false; + this.$store.dispatch('setServerSettings', {serverID: this.ServerData.server_id}) + }, createInvite(serverID) { this.showContextMenu = false; this.$store.dispatch("setServerIDContextMenu", serverID); diff --git a/src/components/app/Tabs/Servers.vue b/src/components/app/Tabs/Servers.vue index 3963b72..f0bc833 100644 --- a/src/components/app/Tabs/Servers.vue +++ b/src/components/app/Tabs/Servers.vue @@ -94,6 +94,8 @@ export default { position: absolute; background-color: rgba(39, 39, 39, 0.97); right: 0; + bottom: 0; + height: calc(100% - 40px); } } diff --git a/src/services/ServerService.js b/src/services/ServerService.js index 04a1a78..0fc3319 100644 --- a/src/services/ServerService.js +++ b/src/services/ServerService.js @@ -7,6 +7,9 @@ export default { getChannels(serverID) { return wrapper(instance().get(`/server/channels/${serverID}`)); }, + createChannel(serverID, name) { + return wrapper(instance().put(`/server/${serverID}/channel`, {name})); + }, postInvite (serverID) { return wrapper (instance().post(`/server/${serverID}/invite`)) }, diff --git a/src/store/modules/popoutsModule/popoutsModule.js b/src/store/modules/popoutsModule/popoutsModule.js index b481acf..58abb5c 100644 --- a/src/store/modules/popoutsModule/popoutsModule.js +++ b/src/store/modules/popoutsModule/popoutsModule.js @@ -21,6 +21,11 @@ const state = { settings: false, GDLinkMenu: false, addServer: false, + + serverSettings:{ + serverID: null, + index: null + } } const getters = { @@ -30,6 +35,9 @@ const getters = { } const actions = { + setServerSettings({commit}, {serverID, index}){ + commit('setServerSettings', {serverID, index}) + }, setUserInformationPopout({commit}, id){ commit('setUserInformationPopout', id) }, @@ -48,6 +56,9 @@ const actions = { } const mutations = { + setServerSettings(state, {serverID, index}){ + Vue.set(state, 'serverSettings', {serverID, index}); + }, setUserInformationPopout(state, id) { Vue.set(state, 'userInformationPopoutID', id) }, diff --git a/src/utils/changelog.js b/src/utils/changelog.js index 47da6fd..acca08d 100644 --- a/src/utils/changelog.js +++ b/src/utils/changelog.js @@ -17,13 +17,14 @@ const config = [ version: 4.8, title: "Server Members Status and new Logo!", shortTitle: "", - date: "1/06/2019", + date: "08/07/2019", headColor: "rgba(0, 156, 170, 0.77)", new: [ "Nertivia has a new cat logo! (Thanks to Fullipsp for the design!)", "You can now see online status of server members!", "You can now click on links that start with 'http'", ], + fix: ['Fixed a bug where when creating a server, a reload is required to show yourself in the server members list.'], next: ["Create multiple channels in a server."], msg: `You might be wondering, where did the official Nertivia server go? Well, I accidentally deleted it :/ sorry. Here's the new one though! http://nertivia.supertiger.tk/invites/Db3p5n` }, diff --git a/src/views/App.vue b/src/views/App.vue index 7e0266c..af01749 100644 --- a/src/views/App.vue +++ b/src/views/App.vue @@ -25,6 +25,10 @@ rss_feed Server Browser
+