|
@@ -14,16 +14,16 @@
|
|
|
|
|
|
<v-divider class="mx-4"></v-divider>
|
|
|
|
|
|
- <v-list dense v-if="meetingListFiltered(lobby.meetings).length">
|
|
|
+ <v-list dense v-if="meetingListFiltered(lobby).length">
|
|
|
<v-container class="overflow-y-auto px-0 pt-0">
|
|
|
<v-subheader class="d-flex flex-row justify-content-between">
|
|
|
- <span>Meetings ({{meetingListFiltered(lobby.meetings).length}})</span>
|
|
|
+ <span>Meetings ({{meetingListFiltered(lobby).length}})</span>
|
|
|
</v-subheader>
|
|
|
</v-container>
|
|
|
<v-container style="height: 210px" class="overflow-y-auto">
|
|
|
<v-row>
|
|
|
<v-list-item-group class="w-100" v-model="lobby.selected_meeting" color="primary">
|
|
|
- <v-list-item v-for="(item, i) in meetingListFiltered(lobby.meetings)" :key="i" :value="item">
|
|
|
+ <v-list-item v-for="(item, i) in meetingListFiltered(lobby)" :key="i" :value="item">
|
|
|
<v-list-item-icon>
|
|
|
<v-icon v-text="'mdi-clock'"></v-icon>
|
|
|
</v-list-item-icon>
|
|
@@ -51,7 +51,7 @@
|
|
|
|
|
|
<v-list v-else>
|
|
|
<v-subheader class="d-flex flex-row justify-content-between">
|
|
|
- <span>Meetings ({{meetingListFiltered(lobby.meetings).length}})</span>
|
|
|
+ <span>Meetings ({{meetingListFiltered(lobby).length}})</span>
|
|
|
</v-subheader>
|
|
|
<v-container style="height: 210px" class="overflow-y-auto">
|
|
|
<v-row>
|
|
@@ -96,8 +96,22 @@ export default {
|
|
|
...mapState(["lobbies", "user", "meeting"])
|
|
|
},
|
|
|
methods: {
|
|
|
- meetingListFiltered(meetings) {
|
|
|
- return meetings.filter(x => x.active_members.length > 0 && (x.pros_online.length == 0 || x.pros_online.findIndex(y => y.uid == this.user.uid) !== -1));
|
|
|
+ meetingListFiltered(lobby) {
|
|
|
+ let visibilityLevel = lobby.lobbyProAccessLevel
|
|
|
+ let meetings = lobby.meetings
|
|
|
+
|
|
|
+ if(!visibilityLevel){
|
|
|
+ return []
|
|
|
+ }
|
|
|
+
|
|
|
+ switch(visibilityLevel){
|
|
|
+ case 'FREE_FOR_ALL':
|
|
|
+ return meetings.filter(x => x.active_members.length > 0)
|
|
|
+ case 'VISIBLE_IF_UNATTENDED':
|
|
|
+ return meetings.filter(x => x.active_members.length > 0 && (x.pros_online.length == 0 || x.pros_online.findIndex(y => y.uid == this.user.uid) !== -1))
|
|
|
+ case 'SYSTEM_CONTROLLED_BY_LOBBY_CALL':
|
|
|
+ return []
|
|
|
+ }
|
|
|
},
|
|
|
joinMeeting(lobby) {
|
|
|
this.loading = true;
|