90 lines
2.4 KiB
JavaScript
90 lines
2.4 KiB
JavaScript
const loginDiv = document.querySelector('#loginDiv')
|
|
const loginInput = document.querySelector('#loginInput')
|
|
const loginBt = document.querySelector('#loginBt')
|
|
|
|
const connectDiv = document.querySelector('#connectDiv')
|
|
const callInput = document.querySelector('#callInput')
|
|
const callDatalist = document.querySelector('#callDatalist')
|
|
const callBt = document.querySelector('#callBt')
|
|
const videoInput = document.querySelector('#videoInput')
|
|
|
|
const videoDiv = document.querySelector('#videoDiv')
|
|
const videoTitle = document.querySelector('#videoTitle')
|
|
const remoteVideo = document.querySelector('#video')
|
|
const disconnectBt = document.querySelector('#disconnectBt')
|
|
|
|
const loadDiv = document.querySelector('#loadDiv')
|
|
const titleDiv = document.querySelector('#titleDiv')
|
|
|
|
var stream
|
|
var users
|
|
|
|
loginDiv.style.display = 'block'
|
|
|
|
loginBt.addEventListener('click', function (event) {
|
|
name = loginInput.value
|
|
|
|
if (name.length > 0) {
|
|
send({
|
|
type: 'login',
|
|
name: name
|
|
})
|
|
}
|
|
})
|
|
|
|
callBt.addEventListener('click', function () {
|
|
var callToUsername = callInput.value;
|
|
|
|
if (callToUsername.length > 0) {
|
|
makeOffer(callToUsername)
|
|
loadDiv.style.display = 'block'
|
|
titleDiv.style.display = 'none'
|
|
connectDiv.style.display = 'none'
|
|
}
|
|
})
|
|
|
|
disconnectBt.addEventListener('click', function () {
|
|
send({
|
|
type: 'leave',
|
|
name: name
|
|
})
|
|
handleLeave()
|
|
videoDiv.style.display = 'none'
|
|
loginDiv.style.display = 'block'
|
|
titleDiv.style.display = 'block'
|
|
})
|
|
|
|
videoInput.addEventListener('change', function (event) {
|
|
remoteVideo.src = URL.createObjectURL(this.files[0])
|
|
|
|
videoDiv.style.display = 'block'
|
|
connectDiv.style.display = 'none'
|
|
titleDiv.style.display = 'none'
|
|
videoTitle.innerHTML = name + ' | ' + connections.size + ' users connected'
|
|
})
|
|
|
|
remoteVideo.onplay = function () {
|
|
console.log('ADD STREAM')
|
|
if (remoteVideo.mozCaptureStream()) stream = remoteVideo.mozCaptureStream()
|
|
else stream = remoteVideo.captureStream()
|
|
}
|
|
|
|
function handleUserlist(list) {
|
|
console.log('GOT USER LIST '+list)
|
|
users = Array.from(list)
|
|
console.log(' users '+users)
|
|
console.log(typeof users)
|
|
console.log(' users '+users)
|
|
callDatalist.innerHTML = ''
|
|
users.forEach(user => {
|
|
if(user != name) callDatalist.innerHTML += '<option value="'+user+'"/>'
|
|
})
|
|
}
|
|
|
|
function handleError(message) {
|
|
console.log('Error '+message)
|
|
alert(
|
|
'AWWW FUCK \n\n'
|
|
+message
|
|
+'\n\nYou should probably reload the page')
|
|
} |