Files
zoff/server/public/assets/js/hostcontroller.js
Kasper Rynning-Tønnesen bcb5641f90 Somewhat prettier css
2019-07-26 10:23:55 +02:00

119 lines
3.4 KiB
JavaScript
Executable File

var Hostcontroller = {
enabled: true,
old_id: null,
host_listener: function(id) {
if (client) return;
Helper.log(["Host-listener triggered", "Host-listener id:" + id]);
if (Hostcontroller.old_id === null) Hostcontroller.old_id = id;
else {
socket.removeAllListeners(id);
began = false;
Hostcontroller.old_id = id;
}
var codeURL =
window.location.protocol +
"//remote." +
window.location.hostname +
"/" +
id;
if (embed) {
if (window.parentWindow && window.parentOrigin) {
window.parentWindow.postMessage(
{ type: "controller", id: id },
window.parentOrigin
);
}
} else if (!embed) {
if (window.location.pathname == "/") return;
document.querySelector("#code-text").innerText = id;
document
.querySelector("#code-qr")
.setAttribute(
"src",
"https://chart.googleapis.com/chart?chs=221x221&cht=qr&choe=UTF-8&chld=L|1&chl=" +
codeURL
);
document.querySelector("#code-link").setAttribute("href", codeURL);
}
if (!began) {
began = true;
setup_host_listener(id);
}
},
host_on_action: function(arr) {
if (client) return;
if (Hostcontroller.enabled) {
if (arr.type == "volume") {
try {
Playercontrols.visualVolume(arr.value);
Player.setVolume(arr.value);
if (scUsingWidget) Player.soundcloud_player.setVolume(arr.value);
else Player.soundcloud_player.setVolume(arr.value / 100);
try {
localStorage.setItem("volume", arr.value);
} catch (e) {}
Playercontrols.choose_button(arr.value, false);
} catch (e) {}
} else if (arr.type == "channel") {
if (window.location.pathname == "/") return;
socket.emit("change_channel");
Admin.beginning = true;
chan = arr.value.toLowerCase();
Helper.setHtml("#chan", Helper.upperFirst(chan));
var shareCodeUrl =
window.location.protocol +
"//client." +
window.location.hostname +
"/r/" +
btoa(encodeURIComponent(chan.toLowerCase()));
document
.getElementById("share-join-qr")
.setAttribute(
"src",
"https://chart.googleapis.com/chart?chs=221x221&cht=qr&choe=UTF-8&chld=L|1&chl=" +
shareCodeUrl
);
Helper.setHtml(
"#channel-name-join",
"client." +
window.location.hostname +
"/" +
encodeURIComponent(chan.toLowerCase())
);
w_p = true;
var add = "";
//if(private_channel) add = Crypt.getCookie("_uI") + "_";
socket.emit("list", {
version: parseInt(_VERSION),
channel: add + chan.toLowerCase()
});
window.history.pushState(
"object or string",
"Title",
"/" + chan.toLowerCase()
);
} else if (arr.type == "pause") {
Player.pauseVideo();
} else if (arr.type == "play") {
Player.playVideo();
} else if (arr.type == "skip") {
List.skip();
}
}
},
change_enabled: function(val) {
if (client) return;
Hostcontroller.enabled = val;
try {
document.querySelector(".remote_switch_class").checked =
Hostcontroller.enabled;
} catch (e) {}
}
};