|
@@ -1,33 +1,33 @@
|
|
|
<template>
|
|
|
<v-app>
|
|
|
<v-expansion-panels v-model="active_panel" tile hover multiple>
|
|
|
- <v-expansion-panel>
|
|
|
- <v-expansion-panel-header>Lobby List</v-expansion-panel-header>
|
|
|
- <v-expansion-panel-content>
|
|
|
- <lobby-list></lobby-list>
|
|
|
- </v-expansion-panel-content>
|
|
|
- </v-expansion-panel>
|
|
|
-
|
|
|
- <v-expansion-panel>
|
|
|
- <v-expansion-panel-header>Meeting Room</v-expansion-panel-header>
|
|
|
- <v-expansion-panel-content>
|
|
|
- <meeting-room></meeting-room>
|
|
|
- </v-expansion-panel-content>
|
|
|
- </v-expansion-panel>
|
|
|
-
|
|
|
- <v-expansion-panel>
|
|
|
- <v-expansion-panel-header>Messenger</v-expansion-panel-header>
|
|
|
- <v-expansion-panel-content>
|
|
|
- <messenger></messenger>
|
|
|
- </v-expansion-panel-content>
|
|
|
- </v-expansion-panel>
|
|
|
-
|
|
|
- <v-expansion-panel>
|
|
|
- <v-expansion-panel-header>Settings</v-expansion-panel-header>
|
|
|
- <v-expansion-panel-content>
|
|
|
- <settings></settings>
|
|
|
- </v-expansion-panel-content>
|
|
|
- </v-expansion-panel>
|
|
|
+ <v-expansion-panel>
|
|
|
+ <v-expansion-panel-header>Lobby List</v-expansion-panel-header>
|
|
|
+ <v-expansion-panel-content>
|
|
|
+ <lobby-list></lobby-list>
|
|
|
+ </v-expansion-panel-content>
|
|
|
+ </v-expansion-panel>
|
|
|
+
|
|
|
+ <v-expansion-panel>
|
|
|
+ <v-expansion-panel-header>Meeting Room</v-expansion-panel-header>
|
|
|
+ <v-expansion-panel-content>
|
|
|
+ <meeting-room></meeting-room>
|
|
|
+ </v-expansion-panel-content>
|
|
|
+ </v-expansion-panel>
|
|
|
+
|
|
|
+ <v-expansion-panel>
|
|
|
+ <v-expansion-panel-header>Messenger</v-expansion-panel-header>
|
|
|
+ <v-expansion-panel-content>
|
|
|
+ <messenger></messenger>
|
|
|
+ </v-expansion-panel-content>
|
|
|
+ </v-expansion-panel>
|
|
|
+
|
|
|
+ <v-expansion-panel>
|
|
|
+ <v-expansion-panel-header>Settings</v-expansion-panel-header>
|
|
|
+ <v-expansion-panel-content>
|
|
|
+ <settings></settings>
|
|
|
+ </v-expansion-panel-content>
|
|
|
+ </v-expansion-panel>
|
|
|
</v-expansion-panels>
|
|
|
<call-bubble :call="incomingCallDetails"></call-bubble>
|
|
|
</v-app>
|
|
@@ -35,94 +35,96 @@
|
|
|
|
|
|
<script>
|
|
|
import { mapState } from "vuex";
|
|
|
-import VueSocketIO from "vue-socket.io"
|
|
|
-import SocketIO from "socket.io-client"
|
|
|
+import VueSocketIO from "vue-socket.io";
|
|
|
+import SocketIO from "socket.io-client";
|
|
|
|
|
|
Vue.use(
|
|
|
new VueSocketIO({
|
|
|
debug: true,
|
|
|
connection: SocketIO(process.env.MIX_SOCKET_SERVICE_URL)
|
|
|
})
|
|
|
-)
|
|
|
+);
|
|
|
|
|
|
export default {
|
|
|
props: {
|
|
|
- //lobbies:
|
|
|
+ userProp: {
|
|
|
+ type: Object,
|
|
|
+ required: true
|
|
|
+ }
|
|
|
},
|
|
|
- data(){
|
|
|
+ data() {
|
|
|
return {
|
|
|
- active_panel: [0,1,2],
|
|
|
+ active_panel: [0, 1, 2],
|
|
|
incomingCallDetails: null,
|
|
|
lobbies: [
|
|
|
{
|
|
|
- lobbyUid: '1',
|
|
|
- name: 'Test Lobby',
|
|
|
+ lobbyUid: "1",
|
|
|
+ name: "Test Lobby",
|
|
|
description: null,
|
|
|
isStrangerAccessible: true,
|
|
|
isClientAccessible: true
|
|
|
}
|
|
|
]
|
|
|
- }
|
|
|
+ };
|
|
|
},
|
|
|
computed: {
|
|
|
- ...mapState(['user'])
|
|
|
+ ...mapState(["user"])
|
|
|
},
|
|
|
sockets: {
|
|
|
incomingCall: function(data) {
|
|
|
- let self = this
|
|
|
+ let self = this;
|
|
|
|
|
|
- if(!data.time_limit){
|
|
|
- data.time_limit = 10
|
|
|
+ if (!data.time_limit) {
|
|
|
+ data.time_limit = 10;
|
|
|
}
|
|
|
|
|
|
- self.incomingCallDetails = data
|
|
|
+ self.incomingCallDetails = data;
|
|
|
|
|
|
let timer = setInterval(() => {
|
|
|
- if(self.incomingCallDetails.time_limit > 0){
|
|
|
- self.incomingCallDetails.time_limit--
|
|
|
+ if (self.incomingCallDetails.time_limit > 0) {
|
|
|
+ self.incomingCallDetails.time_limit--;
|
|
|
|
|
|
- if(self.incomingCallDetails.time_limit == 0){
|
|
|
- clearInterval(timer)
|
|
|
- console.log('TIME IS OUT!')
|
|
|
+ if (self.incomingCallDetails.time_limit == 0) {
|
|
|
+ clearInterval(timer);
|
|
|
+ console.log("TIME IS OUT!");
|
|
|
}
|
|
|
}
|
|
|
- }, 1000)
|
|
|
+ }, 1000);
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
//
|
|
|
},
|
|
|
- mounted(){
|
|
|
- let user = {}
|
|
|
+ mounted() {
|
|
|
+ let lobbies = this.userProp.lobbies;
|
|
|
+ delete this.userProp.lobbies;
|
|
|
|
|
|
- this.$socket.emit("userData", { user: this.user })
|
|
|
+ this.$socket.emit("userData", { user: this.userProp });
|
|
|
|
|
|
- let lobbies = this.lobbies
|
|
|
+ lobbies.map(x => {
|
|
|
+ (x.selected_meeting = null), (x.meetings = []);
|
|
|
+ });
|
|
|
|
|
|
- lobbies.map((x) => {
|
|
|
- x.selected_meeting = null,
|
|
|
- x.meetings = []
|
|
|
- })
|
|
|
+ this.$store.commit("setInitialUser", this.userProp);
|
|
|
+ this.$store.commit("setLobbies", lobbies);
|
|
|
|
|
|
- this.$store.commit('setLobbies', lobbies)
|
|
|
+ this.$socket.emit("lobbyDataRequest", lobbies);
|
|
|
|
|
|
- this.$socket.emit("lobbyDataRequest", lobbies)
|
|
|
-
|
|
|
- this.sockets.subscribe('lobby-data', data => {
|
|
|
+ this.sockets.subscribe("lobby-data", data => {
|
|
|
for (let meeting of data.meetings) {
|
|
|
this.$store.commit("setLobbyActivity", meeting);
|
|
|
}
|
|
|
- })
|
|
|
+ });
|
|
|
}
|
|
|
-}
|
|
|
+};
|
|
|
</script>
|
|
|
|
|
|
<style>
|
|
|
- .v-expansion-panel--active {
|
|
|
- height: 100%;
|
|
|
- }
|
|
|
+.v-expansion-panel--active {
|
|
|
+ height: 100%;
|
|
|
+}
|
|
|
|
|
|
- .v-expansion-panel-content__wrap {
|
|
|
- padding: 24px 16px;
|
|
|
- }
|
|
|
+.v-expansion-panel-content__wrap {
|
|
|
+ padding: 24px 16px;
|
|
|
+}
|
|
|
</style>
|