summaryrefslogtreecommitdiff
path: root/bairadio.js
diff options
context:
space:
mode:
Diffstat (limited to 'bairadio.js')
-rw-r--r--bairadio.js42
1 files changed, 26 insertions, 16 deletions
diff --git a/bairadio.js b/bairadio.js
index 74b9b4e..685eaff 100644
--- a/bairadio.js
+++ b/bairadio.js
@@ -61,6 +61,9 @@ function update(first) {
}
resp = resp[selectedPos];
+ var currentListen = document.getElementById("current_server");
+ currentListen.value = resp.server_name;
+
var audio = document.getElementById("stream");
resp.listenurl = "https://bienvenidoainternet.org:8443" + resp.listenurl;
if (audio.src != resp.listenurl) {
@@ -204,7 +207,7 @@ function changeVolume(e) {
}
}
-function collapseWindow(e) {
+function collapsePanel(e) {
var box = this.parentElement.parentElement;
var cont = box.getElementsByClassName("content")[0];
if (box.classList.contains("collapse")) {
@@ -218,15 +221,16 @@ function collapseWindow(e) {
removeSel();
}
-function resizeChat(e) {
+function resizePanel(e) {
var mousepos = e.y;
+ var id = this.dataset.id;
document.addEventListener("mousemove", calcResize);
document.addEventListener("mouseup", function() {
document.removeEventListener("mousemove", calcResize);
});
function calcResize(e) {
- var chat = document.getElementById("chat-all");
+ var chat = document.getElementById(id);
var dx = mousepos - e.y;
mousepos = e.y;
chat.style.height = (parseInt(getComputedStyle(chat, "").height) - dx) + "px";
@@ -247,8 +251,8 @@ const chatFloodTime = 1100;
function connect() {
sock = new WebSocket("wss://radio.bienvenidoainternet.org/daemon/");
sock.addEventListener("open", function(e) {
- addMsg("Conectado al chat.");
chatConnected = true;
+ sock.send("HISTORY:10");
enableChat();
});
sock.addEventListener("message", function(e) {
@@ -273,10 +277,13 @@ function interpretNewMsg(info) {
var arg = info.split(":");
if (arg[0] == "MSG") {
- var msg = unescapeColon(arg[2]);
- addMsg(msg);
+ addMsg(unescapeColon(arg[2]), arg[1]);
} else if (arg[0] == "COUNT") {
document.getElementById("chat-count").textContent = arg[1];
+ } else if (arg[0] == "HMSG") {
+ addMsg(unescapeColon(arg[3]), unescapeColon(arg[2]), arg[1]);
+ } else if (arg[0] == "HISTORY_OK") {
+ addMsg("Conectado al chat.");
}
}
@@ -290,7 +297,7 @@ function checkSend(e) {
if (!msg) { return; }
if (chatConnected) {
- sendMsg("MSG:0:" + escapeColon(msg));
+ sendMsg("MSG:" + escapeColon(document.getElementById("current_server").value) + ":" + escapeColon(msg));
addMsg(msg);
} else { return; }
@@ -312,35 +319,38 @@ function sendMsg(msg) {
sock.send(msg);
}
-function addMsg(msg) {
+function addMsg(msg, stream, time) {
+ var time = time || false;
+ var stream = stream || false;
var chat = document.getElementById("chat-all");
-
+
var line = document.createElement("div");
- line.className = "msg";
- var presentTime = new Date();
+ line.className = (time ? "msg history" : "msg");
+ var presentTime = (time ? new Date(Number(time)) : new Date());
var hh = presentTime.getHours();
hh = (hh < 10) ? ("0" + hh) : hh;
var mm = presentTime.getMinutes();
mm = (mm < 10) ? ("0" + mm) : mm;
line.textContent = "[" + hh + ":" + mm + "] ";
+ if (stream) { line.textContent += "(" + stream + ") "; }
line.textContent += msg;
chat.appendChild(line);
chat.scrollTop = chat.scrollHeight;
}
-
document.addEventListener("DOMContentLoaded", function() {
document.getElementById("control").addEventListener("click", playPause);
document.getElementById("volume").addEventListener("mousedown", changeVolume);
document.getElementById("server_name").addEventListener("change", function(e) { selected = this.value; });
var boxt = document.getElementsByClassName("boxtitle");
for (var i = -1; ++i < boxt.length;) {
- boxt[i].addEventListener("click", collapseWindow);
+ boxt[i].addEventListener("click", collapsePanel);
+ }
+ var resize = document.getElementsByClassName("resize");
+ for (var i = -1; ++i < resize.length;) {
+ resize[i].addEventListener("mousedown", resizePanel);
}
- document.getElementById("resize").addEventListener("mousedown", resizeChat);
- document.getElementById("resize").addEventListener("mousedown", resizeChat);
- //return;
update(true);
startVisualization();
setInterval(update, 2000);