Files
LilStreamy/client/scripts/script.js

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')
}