diff --git a/src/components/app/MemberTemplate.vue b/src/components/app/MemberTemplate.vue
index 82c0d55..cb7791d 100644
--- a/src/components/app/MemberTemplate.vue
+++ b/src/components/app/MemberTemplate.vue
@@ -54,9 +54,9 @@ export default {
const roles = this.$store.getters["servers/selectedServerRoles"];
if (!roles) return undefined;
- const filter = roles.filter(r => this.member.roles.includes(r.id));
+ let filter = roles.filter(r => this.member.roles.includes(r.id));
if (!filter.length) {
- return null;
+ filter = [roles.find(r => r.default)];
}
return filter[0].color;
}
diff --git a/src/components/app/MembersList.vue b/src/components/app/MembersList.vue
index 9af9a1d..093a87c 100644
--- a/src/components/app/MembersList.vue
+++ b/src/components/app/MembersList.vue
@@ -22,8 +22,12 @@
/>
-
- Online ({{ noneRoleOnlineMembers.length }})
+
+ {{ defaultRole.name }} ({{ noneRoleOnlineMembers.length }})
r.default);
+ },
offlineMembers() {
return this.members.filter(sm => sm.presense == 0);
}
diff --git a/src/components/app/Popouts/Popouts/ServerMemberContext.vue b/src/components/app/Popouts/Popouts/ServerMemberContext.vue
index 4b329aa..f9b0746 100644
--- a/src/components/app/Popouts/Popouts/ServerMemberContext.vue
+++ b/src/components/app/Popouts/Popouts/ServerMemberContext.vue
@@ -139,13 +139,17 @@ export default {
const roles = this.$store.getters["servers/roles"][
this.contextDetails.serverID
];
-
- const map = roles.map(r => {
- if (this.serverMember.roles && this.serverMember.roles.includes(r.id)) {
- return Object.assign({}, r, { hasRole: true });
- }
- return r;
- });
+ const map = roles
+ .filter(r => !r.default)
+ .map(r => {
+ if (
+ this.serverMember.roles &&
+ this.serverMember.roles.includes(r.id)
+ ) {
+ return Object.assign({}, r, { hasRole: true });
+ }
+ return r;
+ });
return map;
}
diff --git a/src/components/app/Popouts/Popouts/ServerSettingsPanels/ManageRoles.vue b/src/components/app/Popouts/Popouts/ServerSettingsPanels/ManageRoles.vue
index 74fd706..da8db9e 100644
--- a/src/components/app/Popouts/Popouts/ServerSettingsPanels/ManageRoles.vue
+++ b/src/components/app/Popouts/Popouts/ServerSettingsPanels/ManageRoles.vue
@@ -69,27 +69,40 @@
:key="index"
>
- {{ perm.name }}
+
+
{{ perm.name }}
+
{{ perm.info }}
+
Save Changes
- Cannot delete this role.
+ {{
+ roles[selectedRoleIndex].default
+ ? "Cannot delete default role."
+ : "Cannot delete this role."
+ }}
{{ deleteButtonConfirmed ? "ARE YOU SURE?" : "Delete Role" }}
@@ -222,7 +235,13 @@ export default {
const roles = this.$store.getters["servers/roles"][
this.server.server_id
];
+ if (!roles) {
+ return [];
+ }
return [...roles].sort((a, b) => {
+ if (b.default) {
+ return -1;
+ }
return a.order - b.order;
});
},
@@ -425,15 +444,20 @@ export default {
user-select: none;
cursor: pointer;
.box {
- height: 20px;
- width: 20px;
+ height: 30px;
+ width: 30px;
flex-shrink: 0;
- background-color: rgb(255, 31, 31);
+ background-color: rgb(95, 95, 95);
margin-right: 5px;
border-radius: 2px;
&.checked {
background-color: rgb(31, 154, 255);
}
}
+ .info {
+ color: rgb(255, 255, 255);
+ opacity: 0.7;
+ font-size: 15px;
+ }
}
diff --git a/src/components/app/Tabs/Explore/serverTemplate.vue b/src/components/app/Tabs/Explore/serverTemplate.vue
index 071e9a5..76845b7 100644
--- a/src/components/app/Tabs/Explore/serverTemplate.vue
+++ b/src/components/app/Tabs/Explore/serverTemplate.vue
@@ -168,6 +168,7 @@ export default {
flex: 1;
height: 100%;
flex-shrink: 0;
+ overflow: auto;
.description {
margin: 10px;
diff --git a/src/components/app/Tabs/Explore/themesTemplate.vue b/src/components/app/Tabs/Explore/themesTemplate.vue
index 639e49c..881aedd 100644
--- a/src/components/app/Tabs/Explore/themesTemplate.vue
+++ b/src/components/app/Tabs/Explore/themesTemplate.vue
@@ -145,6 +145,7 @@ export default {
background: #04333f;
flex: 1;
height: 100%;
+ overflow: auto;
flex-shrink: 0;
.name {
margin-top: 9px;
diff --git a/src/store/modules/serversModule.js b/src/store/modules/serversModule.js
index 98048a3..b8a2887 100644
--- a/src/store/modules/serversModule.js
+++ b/src/store/modules/serversModule.js
@@ -85,6 +85,12 @@ const actions = {
server_id: server_id
});
},
+ removeAllRoles({ commit }, server_id) {
+ commit("UPDATE_SERVER_ROLES", {
+ roles: [],
+ server_id: server_id
+ });
+ },
updateRole({ commit, state }, roleUpdates) {
const updatedRoles = state.roles[roleUpdates.server_id].map(r => {
if (r.id === roleUpdates.id) {
diff --git a/src/store/modules/socketIOModule.js b/src/store/modules/socketIOModule.js
index e4c636d..f09d661 100644
--- a/src/store/modules/socketIOModule.js
+++ b/src/store/modules/socketIOModule.js
@@ -392,6 +392,7 @@ const actions = {
context.dispatch("servers/removePresences", server_id);
context.dispatch("servers/removeServer", server_id);
context.dispatch("servers/removeNotifications", server_id);
+ context.dispatch("servers/removeAllRoles", server_id);
context.dispatch("servers/removeAllServerChannels", server_id);
context.dispatch("deleteAllMessages", serverChannelIDs);
},
@@ -502,6 +503,9 @@ const actions = {
["socket_server:updateRoles"](context, { roles }) {
// eslint-disable-next-line prettier/prettier
context.dispatch("servers/setServerRoles", roles);
+ },
+ ["socket_server:roles"](context, { roles }) {
+ context.dispatch("servers/setServerRoles", roles);
}
};
diff --git a/src/utils/RolePermissions.js b/src/utils/RolePermissions.js
index 0a7745d..69eace4 100644
--- a/src/utils/RolePermissions.js
+++ b/src/utils/RolePermissions.js
@@ -1,11 +1,13 @@
export const permissions = {
ADMIN: {
name: "Admin",
- value: 1
+ value: 1,
+ info: "Enables ALL permissions"
},
- SEND_MESSAGE: {
- name: "Send Message",
- value: 2
+ SEND_MESSAGES: {
+ name: "Send Messages",
+ value: 2,
+ info: "Send messages to server channels"
}
};