- Online ({{ onlineMembers.length }})
+
+
+ {{ role.name }} ({{ role.members.length }})
+
+
+
+
+
+ Online ({{ noneRoleOnlineMembers.length }})
+
Offline ({{ offlineMembers.length }})
-
sm.server_id === selectedServerID
+ sm => sm.server_id === this.selectedServerID
);
let getMember = filteredSM.map(sm => {
@@ -73,6 +94,45 @@ export default {
onlineMembers() {
return this.members.filter(sm => sm.presense >= 1);
},
+ roleMembers() {
+ let roleMembers = this.onlineMembers.filter(
+ sm => sm.roles && sm.roles.length
+ );
+ return roleMembers;
+ },
+ noneRoleOnlineMembers() {
+ const roles = this.$store.getters["servers/roles"][this.selectedServerID];
+ return this.onlineMembers.filter(sm => {
+ if (!sm.roles || !sm.roles.length) {
+ return sm;
+ }
+ if (!roles.find(r => sm.roles.includes(r.id))) {
+ return sm;
+ }
+ return false;
+ });
+ },
+ serverRoles() {
+ const roles = this.$store.getters["servers/roles"][this.selectedServerID];
+ let newRolesWithMembers = [];
+
+ // loop through server roles
+ for (let index = 0; index < roles.length; index++) {
+ const role = { ...roles[index] };
+
+ // filter role members
+ const members = this.roleMembers.filter(rm => {
+ const filteredRoles = roles.filter(r => rm.roles.includes(r.id));
+ return filteredRoles.length && filteredRoles[0].id === role.id;
+ });
+
+ if (members.length) {
+ role.members = members;
+ newRolesWithMembers.push(role);
+ }
+ }
+ return newRolesWithMembers;
+ },
offlineMembers() {
return this.members.filter(sm => sm.presense == 0);
}
@@ -111,6 +171,6 @@ export default {
cursor: default;
color: #b5c4ca;
font-size: 15px;
- margin-left: 10px;
+ margin-left: 5px;
}