mirror of
https://github.com/KevinMidboe/zoff.git
synced 2025-12-29 21:41:00 +00:00
Cleaned up a bunch of code, and reimplemented navigating through results with arrowkeys
This commit is contained in:
@@ -739,10 +739,11 @@ function contains(a, obj) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
function rndName(seed, endlen) {
|
function rndName(seed, len) {
|
||||||
var vowels = ['a', 'e', 'i', 'o', 'u'];
|
var vowels = ['a', 'e', 'i', 'o', 'u'];
|
||||||
consts = ['b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'r', 's', 't', 'v', 'w', 'x', 'y', 'z', 'tt', 'ch', 'sh'];
|
consts = ['b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'r', 's', 't', 'v', 'w', 'x', 'y', 'z', 'tt', 'ch', 'sh'];
|
||||||
len = 8;
|
//len = 8;
|
||||||
|
len = Math.floor(len);
|
||||||
word = '';
|
word = '';
|
||||||
is_vowel = false;
|
is_vowel = false;
|
||||||
var arr;
|
var arr;
|
||||||
@@ -752,7 +753,7 @@ function rndName(seed, endlen) {
|
|||||||
is_vowel = !is_vowel;
|
is_vowel = !is_vowel;
|
||||||
word += arr[(seed[i%seed.length].charCodeAt()+i) % arr.length-1];
|
word += arr[(seed[i%seed.length].charCodeAt()+i) % arr.length-1];
|
||||||
}
|
}
|
||||||
return word.substring(0, Math.ceil(endlen))
|
return word
|
||||||
}
|
}
|
||||||
|
|
||||||
function uniqueID(seed, minlen){
|
function uniqueID(seed, minlen){
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
|
|
||||||
#toast-container{
|
#toast-container{
|
||||||
left:2% !important;
|
left:2% !important;
|
||||||
|
pointer-events:none;
|
||||||
}
|
}
|
||||||
|
|
||||||
::-webkit-scrollbar-track
|
::-webkit-scrollbar-track
|
||||||
@@ -563,9 +564,10 @@ ul #chat-log{
|
|||||||
max-height: 600px;
|
max-height: 600px;
|
||||||
overflow: overlay;
|
overflow: overlay;
|
||||||
}
|
}
|
||||||
.result:hover {
|
.result:hover, .hoverResults {
|
||||||
background-color: rgba(0,0,0,0.4);
|
background-color: rgba(0,0,0,0.4);
|
||||||
}
|
}
|
||||||
|
|
||||||
.search-title{
|
.search-title{
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
|
|||||||
3
static/dist/main.min.js
vendored
3
static/dist/main.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -59,23 +59,25 @@ var Admin = {
|
|||||||
|
|
||||||
socket.on("pw", function(msg)
|
socket.on("pw", function(msg)
|
||||||
{
|
{
|
||||||
console.log("fuck");
|
w_p = false;
|
||||||
w_p = false;
|
|
||||||
adminpass = msg;
|
adminpass = msg;
|
||||||
names=["vote","addsongs","longsongs","frontpage", "allvideos", "removeplay", "skip", "shuffle"];
|
names = ["vote","addsongs","longsongs","frontpage", "allvideos",
|
||||||
|
"removeplay", "skip", "shuffle"];
|
||||||
|
|
||||||
|
localStorage.setItem(chan.toLowerCase(), msg);
|
||||||
|
|
||||||
for (var i = 0; i < names.length; i++) {
|
for (var i = 0; i < names.length; i++) {
|
||||||
$("input[name="+names[i]+"]").attr("disabled", false);
|
$("input[name="+names[i]+"]").attr("disabled", false);
|
||||||
}
|
}
|
||||||
$(".card-action").removeClass("hide");
|
|
||||||
|
|
||||||
|
$(".card-action").removeClass("hide");
|
||||||
$("#admin-lock").removeClass("mdi-action-lock");
|
$("#admin-lock").removeClass("mdi-action-lock");
|
||||||
if(!Helper.contains($("#admin-lock").attr("class").split(" "), "mdi-action-lock-open"))
|
|
||||||
$("#admin-lock").addClass("mdi-action-lock-open clickable");
|
|
||||||
localStorage.setItem(chan.toLowerCase(), msg);
|
|
||||||
$("#password").val("");
|
$("#password").val("");
|
||||||
$("#password").attr("placeholder", "Change channel password")
|
$("#password").attr("placeholder", "Change channel password")
|
||||||
//Materialize.toast("Correct password. You now have access to the sacred realm of The Admin.", 4000);
|
|
||||||
});
|
if(!Helper.contains($("#admin-lock").attr("class").split(" "), "mdi-action-lock-open"))
|
||||||
|
$("#admin-lock").addClass("mdi-action-lock-open clickable");
|
||||||
|
});
|
||||||
|
|
||||||
socket.on("conf", function(msg)
|
socket.on("conf", function(msg)
|
||||||
{
|
{
|
||||||
@@ -103,18 +105,27 @@ var Admin = {
|
|||||||
|
|
||||||
display_logged_out: function()
|
display_logged_out: function()
|
||||||
{
|
{
|
||||||
w_p = true;
|
w_p = true;
|
||||||
names=["vote","addsongs","longsongs","frontpage", "allvideos", "removeplay", "skip", "shuffle"];
|
adminpass = "";
|
||||||
for (var i = 0; i < names.length; i++) {
|
names = ["vote","addsongs","longsongs","frontpage", "allvideos",
|
||||||
$("input[name="+names[i]+"]").attr("disabled", true);
|
"removeplay", "skip", "shuffle"];
|
||||||
|
|
||||||
|
document.getElementById("password").value = "";
|
||||||
|
|
||||||
|
for (i = 0; i < names.length; i++) {
|
||||||
|
$("input[name="+names[i]+"]").attr("disabled", true);
|
||||||
}
|
}
|
||||||
if(!Helper.contains($("#admin-lock").attr("class").split(" "), "mdi-action-lock"))
|
|
||||||
|
if(!Helper.contains($("#admin-lock").attr("class").split(" "), "mdi-action-lock")){
|
||||||
$("#admin-lock").addClass("mdi-action-lock");
|
$("#admin-lock").addClass("mdi-action-lock");
|
||||||
$("#admin-lock").removeClass("mdi-action-lock-open clickable");
|
}
|
||||||
if($(".card-action").length != 0 && !Helper.contains($(".card-action").attr("class").split(" "), "hide"))
|
|
||||||
|
if($(".card-action").length != 0 &&
|
||||||
|
!Helper.contains($(".card-action").attr("class").split(" "), "hide")){
|
||||||
$(".card-action").addClass("hide");
|
$(".card-action").addClass("hide");
|
||||||
adminpass = "";
|
}
|
||||||
document.getElementById("password").value = "";
|
|
||||||
|
$("#admin-lock").removeClass("mdi-action-lock-open clickable");
|
||||||
$("#password").attr("placeholder", "Enter channel password")
|
$("#password").attr("placeholder", "Enter channel password")
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -125,29 +136,24 @@ var Admin = {
|
|||||||
|
|
||||||
set_conf: function(conf_array)
|
set_conf: function(conf_array)
|
||||||
{
|
{
|
||||||
if(conf_array['adminpass'] == "" || !w_p) hasadmin = false;
|
music = conf_array["allvideos"];
|
||||||
else hasadmin = true;
|
|
||||||
music = conf_array["allvideos"];
|
|
||||||
longsongs = conf_array["longsongs"];
|
longsongs = conf_array["longsongs"];
|
||||||
names=["vote","addsongs","longsongs","frontpage", "allvideos", "removeplay", "skip", "shuffle"];
|
names = ["vote","addsongs","longsongs","frontpage", "allvideos",
|
||||||
for (var i = 0; i < names.length; i++) {
|
"removeplay", "skip", "shuffle"];
|
||||||
|
|
||||||
|
if(conf_array['adminpass'] == "" || !w_p)
|
||||||
|
hasadmin = false;
|
||||||
|
else hasadmin = true;
|
||||||
|
|
||||||
|
for (var i = 0; i < names.length; i++)
|
||||||
|
{
|
||||||
document.getElementsByName(names[i])[0].checked = (conf_array[names[i]] === true);
|
document.getElementsByName(names[i])[0].checked = (conf_array[names[i]] === true);
|
||||||
$("input[name="+names[i]+"]").attr("disabled", hasadmin);
|
$("input[name="+names[i]+"]").attr("disabled", hasadmin);
|
||||||
}
|
}
|
||||||
if(hasadmin && !localStorage[chan.toLowerCase()])
|
|
||||||
{
|
|
||||||
$("#password").attr("placeholder", "Enter channel password");
|
|
||||||
Admin.display_logged_out();
|
|
||||||
if(!Helper.contains($("#admin-lock").attr("class").split(" "), "mdi-action-lock"))
|
|
||||||
$("#admin-lock").addClass("mdi-action-lock");
|
|
||||||
$("#admin-lock").removeClass("mdi-action-lock-open clickable");
|
|
||||||
}else if(!hasadmin && !localStorage[chan.toLowerCase()])
|
|
||||||
{
|
|
||||||
$("#password").attr("placeholder", "Enter channel password");
|
|
||||||
|
|
||||||
if(!Helper.contains($("#admin-lock").attr("class").split(" "), "mdi-action-lock"))
|
if((hasadmin && !localStorage[chan.toLowerCase()]) ||
|
||||||
$("#admin-lock").addClass("mdi-action-lock");
|
(!hasadmin && !localStorage[chan.toLowerCase()])){
|
||||||
$("#admin-lock").removeClass("mdi-action-lock-open clickable");
|
Admin.display_logged_out();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*if(conf_array.desc !== undefined)
|
/*if(conf_array.desc !== undefined)
|
||||||
@@ -158,17 +164,17 @@ var Admin = {
|
|||||||
|
|
||||||
submitAdmin: function(form)
|
submitAdmin: function(form)
|
||||||
{
|
{
|
||||||
voting = form.vote.checked;
|
voting = form.vote.checked;
|
||||||
addsongs = form.addsongs.checked;
|
addsongs = form.addsongs.checked;
|
||||||
longsongs = form.longsongs.checked;
|
longsongs = form.longsongs.checked;
|
||||||
frontpage = form.frontpage.checked;
|
frontpage = form.frontpage.checked;
|
||||||
allvideos = form.allvideos.checked;
|
allvideos = form.allvideos.checked;
|
||||||
removeplay = form.removeplay.checked;
|
removeplay = form.removeplay.checked;
|
||||||
//adminpass = document.getElementById("password").value;
|
skipping = form.skip.checked;
|
||||||
skipping = form.skip.checked;
|
shuffling = form.shuffle.checked;
|
||||||
shuffling = form.shuffle.checked;
|
configs = [voting, addsongs, longsongs, frontpage, allvideos,
|
||||||
|
removeplay, adminpass, skipping, shuffling];
|
||||||
|
|
||||||
configs = [voting, addsongs, longsongs, frontpage, allvideos, removeplay, adminpass, skipping, shuffling];
|
|
||||||
socket.emit("conf", configs);
|
socket.emit("conf", configs);
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -176,24 +182,9 @@ var Admin = {
|
|||||||
$('#settings').sideNav('hide');
|
$('#settings').sideNav('hide');
|
||||||
},
|
},
|
||||||
|
|
||||||
remove_bar: function()
|
|
||||||
{
|
|
||||||
setTimeout(function(){
|
|
||||||
$("#adminPanel").removeClass("success");
|
|
||||||
$("#adminPanel").removeClass("fadeerror");
|
|
||||||
$("#eBar").removeClass("opacityFull");
|
|
||||||
$("#sBar").removeClass("opacityFull");
|
|
||||||
},1500);
|
|
||||||
},
|
|
||||||
|
|
||||||
shuffle: function()
|
shuffle: function()
|
||||||
{
|
{
|
||||||
socket.emit('shuffle', adminpass !== undefined ? adminpass : "");
|
socket.emit('shuffle', adminpass !== undefined ? adminpass : "");
|
||||||
},
|
},
|
||||||
|
|
||||||
get_wp: function()
|
|
||||||
{
|
|
||||||
return w_p;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -9,75 +9,24 @@ var List = {
|
|||||||
|
|
||||||
channel_function: function(msg)
|
channel_function: function(msg)
|
||||||
{
|
{
|
||||||
if(msg[0] == "list")
|
switch(msg[0])
|
||||||
{
|
{
|
||||||
full_playlist = msg[1];
|
case "list":
|
||||||
full_playlist.sort(Helper.predicate({
|
List.populate_list(msg[1]);
|
||||||
name: 'votes',
|
break;
|
||||||
reverse: true
|
case "added":
|
||||||
}, 'added'));
|
List.added_song(msg[1]);
|
||||||
List.populate_list(full_playlist);
|
break;
|
||||||
}else if(msg[0] == "added")
|
case "deleted":
|
||||||
{
|
List.deleted_song(msg[1]);
|
||||||
full_playlist.push(msg[1]);
|
break;
|
||||||
full_playlist.sort(Helper.predicate({
|
case "vote":
|
||||||
name: 'votes',
|
List.voted_song(msg[1], msg[2]);
|
||||||
reverse: true
|
break;
|
||||||
}, 'added'));
|
case "song_change":
|
||||||
|
List.song_change(msg[1]);
|
||||||
var index = List.getIndexOfSong(msg[1].id);
|
break;
|
||||||
|
}
|
||||||
List.insertAtIndex(index, msg[1], true);
|
|
||||||
var test = $("#wrapper").children()[index];
|
|
||||||
setTimeout(function(){
|
|
||||||
$(test).css("height", 66);
|
|
||||||
},5);
|
|
||||||
|
|
||||||
}else if(msg[0] == "deleted")
|
|
||||||
{
|
|
||||||
var to_delete = $("#wrapper").children()[List.getIndexOfSong(msg[1])];
|
|
||||||
to_delete.style.height = 0;
|
|
||||||
setTimeout(function()
|
|
||||||
{
|
|
||||||
$("#"+msg[1]).remove();
|
|
||||||
full_playlist.splice(List.getIndexOfSong(msg[1]), 1);
|
|
||||||
}, 305);
|
|
||||||
document.getElementById('wrapper').scrollTop += 1;
|
|
||||||
document.getElementById('wrapper').scrollTop += -1;
|
|
||||||
}else if(msg[0] == "vote")
|
|
||||||
{
|
|
||||||
var index_of_song = List.getIndexOfSong(msg[1]);
|
|
||||||
var song_voted_on = full_playlist[index_of_song];
|
|
||||||
full_playlist[index_of_song].votes += 1;
|
|
||||||
full_playlist[index_of_song].added = msg[2];
|
|
||||||
full_playlist.sort(Helper.predicate({
|
|
||||||
name: 'votes',
|
|
||||||
reverse: true
|
|
||||||
}, 'added'));
|
|
||||||
$("#"+msg[1]).remove();
|
|
||||||
List.insertAtIndex(List.getIndexOfSong(msg[1]), song_voted_on, false);
|
|
||||||
|
|
||||||
//List.populate_list(full_playlist, false);
|
|
||||||
}else if(msg[0] == "song_change")
|
|
||||||
{
|
|
||||||
|
|
||||||
full_playlist[0].now_playing = true;
|
|
||||||
full_playlist[0].votes = 0;
|
|
||||||
full_playlist[0].guids = [];
|
|
||||||
full_playlist[0].added = msg[1];
|
|
||||||
full_playlist[full_playlist.length-1].now_playing = false;
|
|
||||||
/*full_playlist.sort(predicate({
|
|
||||||
name: 'votes',
|
|
||||||
reverse: true
|
|
||||||
}, 'added'));
|
|
||||||
*/
|
|
||||||
full_playlist.push(full_playlist.shift());
|
|
||||||
$("#wrapper").children()[0].remove();
|
|
||||||
List.insertAtIndex($("#wrapper").children().length, full_playlist[full_playlist.length-2], false);
|
|
||||||
document.getElementById('wrapper').scrollTop += 1;
|
|
||||||
document.getElementById('wrapper').scrollTop += -1;
|
|
||||||
//populate_list(full_playlist);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
skipping_listener: function(){
|
skipping_listener: function(){
|
||||||
@@ -93,27 +42,14 @@ var List = {
|
|||||||
|
|
||||||
populate_list: function(msg)
|
populate_list: function(msg)
|
||||||
{
|
{
|
||||||
|
full_playlist = msg;
|
||||||
|
|
||||||
|
List.sortList();
|
||||||
$("#wrapper").empty();
|
$("#wrapper").empty();
|
||||||
|
|
||||||
$.each(msg, function(j, listeID){
|
$.each(full_playlist, function(j, current_song){
|
||||||
if(!listeID.now_playing){ //check that the song isnt playing
|
if(!current_song.now_playing){ //check that the song isnt playing
|
||||||
|
$("#wrapper").append(List.generateSong(current_song, false));
|
||||||
var video_title=decodeURIComponent(listeID.title);
|
|
||||||
var video_id = listeID.id;
|
|
||||||
var video_thumb = "//img.youtube.com/vi/"+video_id+"/mqdefault.jpg";
|
|
||||||
//var delsong = ""; if(pass_corr=="correct");
|
|
||||||
var video_votes = listeID.votes;
|
|
||||||
$("#wrapper").append(list_html);
|
|
||||||
var song = $("#list-song");
|
|
||||||
song.find(".list-title").text(video_title);
|
|
||||||
song.find(".list-title").attr("title", video_title);
|
|
||||||
song.find(".list-votes").text(video_votes);
|
|
||||||
song.find(".vote-container").attr("onclick", "vote('"+video_id+"','pos')");
|
|
||||||
song.find(".list-image").attr("data-original",video_thumb);
|
|
||||||
song.attr("id",video_id);
|
|
||||||
song.find("#del").attr("onclick", "vote('"+video_id+"', 'del')");
|
|
||||||
if(!w_p) $(".card-action").removeClass("hide");
|
|
||||||
if(video_votes==1)song.find(".vote-text").text("vote");
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -125,6 +61,56 @@ var List = {
|
|||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
added_song: function(added){
|
||||||
|
full_playlist.push(added);
|
||||||
|
List.sortList();
|
||||||
|
List.insertAtIndex(added, true);
|
||||||
|
},
|
||||||
|
|
||||||
|
deleted_song: function(deleted){
|
||||||
|
var index = List.getIndexOfSong(deleted);
|
||||||
|
var to_delete = $("#wrapper").children()[index];
|
||||||
|
to_delete.style.height = 0;
|
||||||
|
|
||||||
|
setTimeout(function()
|
||||||
|
{
|
||||||
|
$("#"+deleted).remove();
|
||||||
|
full_playlist.splice(List.getIndexOfSong(deleted), 1);
|
||||||
|
}, 305);
|
||||||
|
|
||||||
|
document.getElementById('wrapper').scrollTop += 1;
|
||||||
|
document.getElementById('wrapper').scrollTop += -1;
|
||||||
|
},
|
||||||
|
|
||||||
|
voted_song: function(voted, time){
|
||||||
|
var index_of_song = List.getIndexOfSong(voted);
|
||||||
|
var song_voted_on = full_playlist[index_of_song];
|
||||||
|
|
||||||
|
full_playlist[index_of_song].votes += 1;
|
||||||
|
full_playlist[index_of_song].added = time;
|
||||||
|
|
||||||
|
List.sortList();
|
||||||
|
$("#"+voted).remove();
|
||||||
|
List.insertAtIndex(song_voted_on, false);
|
||||||
|
},
|
||||||
|
|
||||||
|
song_change: function(time){
|
||||||
|
var length = full_playlist.length-1;
|
||||||
|
|
||||||
|
full_playlist[0].now_playing = true;
|
||||||
|
full_playlist[0].votes = 0;
|
||||||
|
full_playlist[0].guids = [];
|
||||||
|
full_playlist[0].added = time;
|
||||||
|
full_playlist[length].now_playing = false;
|
||||||
|
|
||||||
|
full_playlist.push(full_playlist.shift());
|
||||||
|
$("#wrapper").children()[0].remove();
|
||||||
|
|
||||||
|
List.insertAtIndex(full_playlist[length-1], false);
|
||||||
|
document.getElementById('wrapper').scrollTop += 1;
|
||||||
|
document.getElementById('wrapper').scrollTop += -1;
|
||||||
|
},
|
||||||
|
|
||||||
vote: function(id, vote){
|
vote: function(id, vote){
|
||||||
socket.emit('vote', [chan, id, vote, adminpass]);
|
socket.emit('vote', [chan, id, vote, adminpass]);
|
||||||
return true;
|
return true;
|
||||||
@@ -136,23 +122,26 @@ var List = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
importOldList: function(chan){
|
importOldList: function(chan){
|
||||||
|
var ids="";
|
||||||
|
var num=0;
|
||||||
|
|
||||||
playlist_url = "lists/"+chan+".json";
|
playlist_url = "lists/"+chan+".json";
|
||||||
|
|
||||||
list = $.ajax({
|
list = $.parseJSON($.ajax({
|
||||||
type: "GET",
|
type: "GET",
|
||||||
url: playlist_url,
|
url: playlist_url,
|
||||||
async: false
|
async: false
|
||||||
}).responseText;
|
}).responseText);
|
||||||
list = $.parseJSON(list);
|
|
||||||
var ids="";
|
|
||||||
var num=0;
|
|
||||||
$.each(list.songs, function(i,data)
|
$.each(list.songs, function(i,data)
|
||||||
{
|
{
|
||||||
ids+=data.id+",";
|
ids+=data.id+",";
|
||||||
|
|
||||||
if(num>45){
|
if(num>45){
|
||||||
Search.addVideos(ids);
|
Search.addVideos(ids);
|
||||||
ids="";
|
|
||||||
num=0;
|
ids = "";
|
||||||
|
num = 0;
|
||||||
}
|
}
|
||||||
num++;
|
num++;
|
||||||
});
|
});
|
||||||
@@ -161,6 +150,14 @@ var List = {
|
|||||||
document.getElementById("search").value = "";
|
document.getElementById("search").value = "";
|
||||||
},
|
},
|
||||||
|
|
||||||
|
sortList: function()
|
||||||
|
{
|
||||||
|
full_playlist.sort(Helper.predicate({
|
||||||
|
name: 'votes',
|
||||||
|
reverse: true
|
||||||
|
}, 'added'));
|
||||||
|
},
|
||||||
|
|
||||||
show: function(){
|
show: function(){
|
||||||
if(!window.mobilecheck())
|
if(!window.mobilecheck())
|
||||||
{
|
{
|
||||||
@@ -179,23 +176,35 @@ var List = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
insertAtIndex: function(i, song_info, transition) {
|
insertAtIndex: function(song_info, transition) {
|
||||||
if(i === 0) {
|
i = List.getIndexOfSong(song_info.id);
|
||||||
|
|
||||||
|
if(i === 0)
|
||||||
$("#wrapper").prepend(List.generateSong(song_info, transition));
|
$("#wrapper").prepend(List.generateSong(song_info, transition));
|
||||||
return;
|
else
|
||||||
|
$("#wrapper > div:nth-child(" + (i) + ")").after(List.generateSong(song_info, transition));
|
||||||
|
|
||||||
|
if(transition)
|
||||||
|
{
|
||||||
|
setTimeout(function(){
|
||||||
|
var added = $("#wrapper").children()[i];
|
||||||
|
$(added).css("height", 66);
|
||||||
|
},5);
|
||||||
}
|
}
|
||||||
$("#wrapper > div:nth-child(" + (i) + ")").after(List.generateSong(song_info, transition));
|
|
||||||
},
|
},
|
||||||
|
|
||||||
generateSong: function(song_info, transition)
|
generateSong: function(song_info, transition)
|
||||||
{
|
{
|
||||||
var video_id = song_info.id;
|
var video_id = song_info.id;
|
||||||
var video_title = song_info.title;
|
var video_title = song_info.title;
|
||||||
var video_votes = song_info.votes;
|
var video_votes = song_info.votes;
|
||||||
var video_thumb = "background-image:url('//img.youtube.com/vi/"+video_id+"/mqdefault.jpg');";
|
var video_thumb = "background-image:url('//img.youtube.com/vi/"+video_id+"/mqdefault.jpg');";
|
||||||
|
var song = $("<div>"+list_html+"</div>");
|
||||||
|
|
||||||
|
if(transition) song.find("#list-song").css("height", 0);
|
||||||
|
if(!w_p) song.find(".card-action").removeClass("hide");
|
||||||
|
if(video_votes == 1)song.find(".vote-text").text("vote");
|
||||||
|
|
||||||
var song = $("<div>"+list_html+"</div>");
|
|
||||||
if(transition) song.find("#list-song").css("height", 0);
|
|
||||||
song.find(".list-title").text(video_title);
|
song.find(".list-title").text(video_title);
|
||||||
song.find(".list-title").attr("title", video_title);
|
song.find(".list-title").attr("title", video_title);
|
||||||
song.find(".list-votes").text(video_votes);
|
song.find(".list-votes").text(video_votes);
|
||||||
@@ -203,14 +212,6 @@ var List = {
|
|||||||
song.find(".list-image").attr("style",video_thumb);
|
song.find(".list-image").attr("style",video_thumb);
|
||||||
song.find("#list-song").attr("id", video_id);
|
song.find("#list-song").attr("id", video_id);
|
||||||
song.find("#del").attr("onclick", "vote('"+video_id+"', 'del')");
|
song.find("#del").attr("onclick", "vote('"+video_id+"', 'del')");
|
||||||
if(!w_p) song.find(".card-action").removeClass("hide");
|
|
||||||
if(video_votes == 1)song.find(".vote-text").text("vote");
|
|
||||||
|
|
||||||
/*
|
|
||||||
$(".lazy").lazyload({
|
|
||||||
container: $("#wrapper")
|
|
||||||
}).removeClass("lazy");
|
|
||||||
*/
|
|
||||||
|
|
||||||
return song.html();
|
return song.html();
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,41 +1,43 @@
|
|||||||
var chan = $("#chan").html();
|
var chan = $("#chan").html();
|
||||||
var w_p = true;
|
var w_p = true;
|
||||||
var hasadmin=0;
|
var hasadmin = 0;
|
||||||
var list;
|
var showToggle = true;
|
||||||
var showToggle =true;
|
var list_html = $("#list-song-html").html();
|
||||||
var list_html = $("#list-song-html").html();
|
var blink_interval_exists = false;
|
||||||
|
var unseen = false;
|
||||||
|
var timer = 0;
|
||||||
|
var api_key = "***REMOVED***";
|
||||||
|
var result_html = $("#temp-results-container");
|
||||||
|
var empty_results_html = $("#empty-results-container").html();
|
||||||
|
var searching = false
|
||||||
|
var time_regex = /P((([0-9]*\.?[0-9]*)Y)?(([0-9]*\.?[0-9]*)M)?(([0-9]*\.?[0-9]*)W)?(([0-9]*\.?[0-9]*)D)?)?(T(([0-9]*\.?[0-9]*)H)?(([0-9]*\.?[0-9]*)M)?(([0-9]*\.?[0-9]*)S)?)?/
|
||||||
|
var conf = [];
|
||||||
|
var music = 0;
|
||||||
|
var frontpage = 1;
|
||||||
|
var adminpass = "";
|
||||||
|
var filesadded = "";
|
||||||
|
var player_ready = false;
|
||||||
|
var viewers = 1;
|
||||||
|
var paused = false;
|
||||||
|
var playing = false;
|
||||||
|
var SAMPLE_RATE = 6000; // 6 seconds
|
||||||
|
var lastSample = Date.now();
|
||||||
|
var began = false;
|
||||||
|
var i = -1;
|
||||||
|
|
||||||
|
var id;
|
||||||
var full_playlist;
|
var full_playlist;
|
||||||
var conf;
|
var conf;
|
||||||
var blink_interval;
|
var blink_interval;
|
||||||
var blink_interval_exists = false;
|
|
||||||
var unseen = false;
|
|
||||||
var timer = 0;
|
|
||||||
var api_key = "***REMOVED***";
|
|
||||||
var result_html = $("#temp-results-container");
|
|
||||||
var empty_results_html = $("#empty-results-container").html();
|
|
||||||
var searching = false
|
|
||||||
var time_regex = /P((([0-9]*\.?[0-9]*)Y)?(([0-9]*\.?[0-9]*)M)?(([0-9]*\.?[0-9]*)W)?(([0-9]*\.?[0-9]*)D)?)?(T(([0-9]*\.?[0-9]*)H)?(([0-9]*\.?[0-9]*)M)?(([0-9]*\.?[0-9]*)S)?)?/
|
|
||||||
var tag;
|
var tag;
|
||||||
var firstScriptTag;
|
var firstScriptTag;
|
||||||
var ytplayer;
|
var ytplayer;
|
||||||
var title;
|
var title;
|
||||||
var viewers;
|
var viewers;
|
||||||
var video_id;
|
var video_id;
|
||||||
var conf = [];
|
var list;
|
||||||
var music = 0;
|
|
||||||
var frontpage = 1;
|
|
||||||
var adminpass = "";
|
|
||||||
var filesadded="";
|
|
||||||
var player_ready = false;
|
|
||||||
var seekTo;
|
var seekTo;
|
||||||
var song_title;
|
var song_title;
|
||||||
var viewers = 1;
|
|
||||||
var paused = false;
|
|
||||||
var playing = false;
|
|
||||||
var SAMPLE_RATE = 6000; // 6 seconds
|
|
||||||
var lastSample = Date.now();
|
|
||||||
var began = false;
|
|
||||||
var id;
|
|
||||||
|
|
||||||
var connection_options = {
|
var connection_options = {
|
||||||
'sync disconnect on unload':true
|
'sync disconnect on unload':true
|
||||||
@@ -48,8 +50,8 @@ socket.on("get_list", function(){
|
|||||||
|
|
||||||
$(document).ready(function()
|
$(document).ready(function()
|
||||||
{
|
{
|
||||||
window.vote = List.vote;
|
window.vote = List.vote;
|
||||||
window.submit = Search.submit;
|
window.submit = Search.submit;
|
||||||
window.submitAndClose = Search.submitAndClose;
|
window.submitAndClose = Search.submitAndClose;
|
||||||
|
|
||||||
if(!localStorage["list_update"] || localStorage["list_update"] != "13.06.15")
|
if(!localStorage["list_update"] || localStorage["list_update"] != "13.06.15")
|
||||||
@@ -68,32 +70,8 @@ $(document).ready(function()
|
|||||||
closeOnClick: false // Closes side-nav on <a> clicks, useful for Angular/Meteor
|
closeOnClick: false // Closes side-nav on <a> clicks, useful for Angular/Meteor
|
||||||
});
|
});
|
||||||
|
|
||||||
if(!window.mobilecheck())
|
|
||||||
{
|
|
||||||
Chat.setup_chat_listener(chan);
|
|
||||||
Chat.allchat_listener();
|
|
||||||
Hostcontroller.host_listener();
|
|
||||||
$("#chat-btn").sideNav({
|
|
||||||
menuWidth: 272, // Default is 240
|
|
||||||
edge: 'left', // Choose the horizontal origin
|
|
||||||
closeOnClick: false // Closes side-nav on <a> clicks, useful for Angular/Meteor
|
|
||||||
});
|
|
||||||
|
|
||||||
$(".drag-target")[1].remove();
|
|
||||||
}
|
|
||||||
|
|
||||||
//Materialize.toast("Passwords have been reset. If anything is not right, please send us a mail @ contact@zoff.no", 10000);
|
|
||||||
|
|
||||||
//$('#settings-close').sideNav('hide');
|
|
||||||
|
|
||||||
if(!window.mobilecheck() && !Helper.msieversion())
|
|
||||||
{
|
|
||||||
Notification.requestPermission();
|
|
||||||
}
|
|
||||||
|
|
||||||
if(localStorage[chan.toLowerCase()])
|
if(localStorage[chan.toLowerCase()])
|
||||||
{
|
{
|
||||||
//localStorage.removeItem(chan.toLowerCase());
|
|
||||||
if(localStorage[chan.toLowerCase()].length != 64)
|
if(localStorage[chan.toLowerCase()].length != 64)
|
||||||
localStorage.removeItem(chan.toLowerCase());
|
localStorage.removeItem(chan.toLowerCase());
|
||||||
else
|
else
|
||||||
@@ -104,9 +82,22 @@ $(document).ready(function()
|
|||||||
document.getElementById("search").blur();
|
document.getElementById("search").blur();
|
||||||
Youtube.readyLooks();
|
Youtube.readyLooks();
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
|
Chat.setup_chat_listener(chan);
|
||||||
|
Chat.allchat_listener();
|
||||||
|
Hostcontroller.host_listener();
|
||||||
Youtube.loadPlayer();
|
Youtube.loadPlayer();
|
||||||
window.onYouTubeIframeAPIReady = Youtube.onYouTubeIframeAPIReady;
|
window.onYouTubeIframeAPIReady = Youtube.onYouTubeIframeAPIReady;
|
||||||
|
|
||||||
|
$("#chat-btn").sideNav({
|
||||||
|
menuWidth: 272, // Default is 240
|
||||||
|
edge: 'left', // Choose the horizontal origin
|
||||||
|
closeOnClick: false // Closes side-nav on <a> clicks, useful for Angular/Meteor
|
||||||
|
});
|
||||||
|
|
||||||
|
$(".drag-target")[1].remove();
|
||||||
|
|
||||||
|
if(!Helper.msieversion()) Notification.requestPermission();
|
||||||
if(navigator.userAgent.toLowerCase().indexOf("firefox") > -1) //quickdickfix for firefoxs weird percent handling
|
if(navigator.userAgent.toLowerCase().indexOf("firefox") > -1) //quickdickfix for firefoxs weird percent handling
|
||||||
$(".main").height(window.innerHeight-64);
|
$(".main").height(window.innerHeight-64);
|
||||||
|
|
||||||
@@ -163,50 +154,41 @@ $(document).ready(function()
|
|||||||
});
|
});
|
||||||
|
|
||||||
$(document).keyup(function(e) {
|
$(document).keyup(function(e) {
|
||||||
if(event.keyCode == 27){
|
if(event.keyCode == 27){
|
||||||
$("#results").html("");
|
$("#results").html("");
|
||||||
$(".main").removeClass("blurT");
|
if(!Helper.contains($("#search-wrapper").attr("class").split(" "), "hide"))
|
||||||
$("#controls").removeClass("blurT");
|
$("#search-wrapper").toggleClass("hide");
|
||||||
$(".main").removeClass("clickthrough");
|
if(Helper.contains($("#song-title").attr("class").split(" "), "hide"))
|
||||||
if(!Helper.contains($("#search-wrapper").attr("class").split(" "), "hide"))
|
$("#song-title").toggleClass("hide");
|
||||||
$("#search-wrapper").toggleClass("hide");
|
|
||||||
if(Helper.contains($("#song-title").attr("class").split(" "), "hide"))
|
|
||||||
$("#song-title").toggleClass("hide");
|
|
||||||
|
|
||||||
if($("#search-btn i").attr('class') == "mdi-navigation-close")
|
if($("#search-btn i").attr('class') == "mdi-navigation-close")
|
||||||
{
|
{
|
||||||
$("#search-btn i").toggleClass("mdi-navigation-close");
|
$("#search-btn i").toggleClass("mdi-navigation-close");
|
||||||
$("#search-btn i").toggleClass("mdi-action-search");
|
$("#search-btn i").toggleClass("mdi-action-search");
|
||||||
}
|
}
|
||||||
$("#results").toggleClass("hide");
|
$("#results").toggleClass("hide");
|
||||||
}
|
}else if ($("div.result").length > 2){
|
||||||
|
if (e.keyCode == 40) {
|
||||||
else if ($("div.result").length > 2){
|
$(children[i-1]).removeClass("hoverResults");
|
||||||
|
$(children[i]).addClass("hoverResults");
|
||||||
if (e.keyCode == 40) {
|
if(i < children.length -2)
|
||||||
if(i < $("div.result").length -2)
|
i++;
|
||||||
i++;
|
} else if (e.keyCode == 38) {
|
||||||
$("div.result:nth-child("+(i-1)+")").removeClass("hoverResults");
|
if(i > 1)
|
||||||
$("div.result:nth-child("+i+")").addClass("hoverResults");
|
i--;
|
||||||
} else if (e.keyCode == 38) {
|
$(children[i]).removeClass("hoverResults");
|
||||||
$("div.result:nth-child("+i+")").removeClass("hoverResults");
|
$(children[i-1]).addClass("hoverResults");
|
||||||
$("div.result:nth-child("+(i-1)+")").addClass("hoverResults");
|
} else if(e.keyCode == 13) {
|
||||||
if(i > 1)
|
i = 0;
|
||||||
i--;
|
var elem = document.getElementsByClassName("hoverResults")[0];
|
||||||
} else if(e.keyCode == 13) {
|
if (typeof elem.onclick == "function") {
|
||||||
i = 0;
|
elem.onclick.apply(elem);
|
||||||
var elem = document.getElementsByClassName("hoverResults")[0];
|
}
|
||||||
if (typeof elem.onclick == "function") {
|
$("div.hoverResults").removeClass("hoverResults");
|
||||||
elem.onclick.apply(elem);
|
$("#results").html('');
|
||||||
}
|
document.getElementById("search").value = "";
|
||||||
$("div.hoverResults").removeClass("hoverResults");
|
}
|
||||||
$("#results").html('');
|
}
|
||||||
document.getElementById("search").value = "";
|
|
||||||
$(".main").removeClass("blurT");
|
|
||||||
$("#controls").removeClass("blurT");
|
|
||||||
$(".main").removeClass("clickthrough");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
$('input[class=conf]').change(function()
|
$('input[class=conf]').change(function()
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ var Youtube = {
|
|||||||
|
|
||||||
document.getElementById('song-title').innerHTML = "Empty channel. Add some songs!";
|
document.getElementById('song-title').innerHTML = "Empty channel. Add some songs!";
|
||||||
$("#player_overlay").height($("#player").height());
|
$("#player_overlay").height($("#player").height());
|
||||||
|
|
||||||
if(!window.mobilecheck()) $("#player_overlay").toggleClass("hide");
|
if(!window.mobilecheck()) $("#player_overlay").toggleClass("hide");
|
||||||
try{
|
try{
|
||||||
ytplayer.stopVideo();
|
ytplayer.stopVideo();
|
||||||
@@ -16,12 +17,13 @@ var Youtube = {
|
|||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
//console.log("gotten new song");
|
//console.log("gotten new song");
|
||||||
|
video_id = obj[0][0]["id"];
|
||||||
|
conf = obj[1][0];
|
||||||
|
time = obj[2];
|
||||||
|
seekTo = time - conf["startTime"];
|
||||||
|
song_title = obj[0][0]["title"];
|
||||||
|
|
||||||
$("#player_overlay").addClass("hide");
|
$("#player_overlay").addClass("hide");
|
||||||
video_id = obj[0][0]["id"];
|
|
||||||
conf = obj[1][0];
|
|
||||||
time = obj[2];
|
|
||||||
seekTo = time - conf["startTime"];
|
|
||||||
song_title = obj[0][0]["title"];
|
|
||||||
|
|
||||||
Youtube.getTitle(song_title, viewers);
|
Youtube.getTitle(song_title, viewers);
|
||||||
Youtube.setBGimage(video_id);
|
Youtube.setBGimage(video_id);
|
||||||
@@ -48,6 +50,7 @@ var Youtube = {
|
|||||||
socket.on("viewers", function(view)
|
socket.on("viewers", function(view)
|
||||||
{
|
{
|
||||||
viewers = view;
|
viewers = view;
|
||||||
|
|
||||||
if(song_title !== undefined)
|
if(song_title !== undefined)
|
||||||
Youtube.getTitle(song_title, viewers);
|
Youtube.getTitle(song_title, viewers);
|
||||||
});
|
});
|
||||||
@@ -59,12 +62,14 @@ var Youtube = {
|
|||||||
case -1:
|
case -1:
|
||||||
break;
|
break;
|
||||||
case 0:
|
case 0:
|
||||||
|
playing = false;
|
||||||
|
paused = false;
|
||||||
|
|
||||||
socket.emit("end", video_id);
|
socket.emit("end", video_id);
|
||||||
playing = false;
|
|
||||||
paused = false;
|
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
playing = true;
|
playing = true;
|
||||||
|
|
||||||
if(document.getElementById("play").className.split(" ").length == 1)
|
if(document.getElementById("play").className.split(" ").length == 1)
|
||||||
$("#play").toggleClass("hide");
|
$("#play").toggleClass("hide");
|
||||||
if(document.getElementById("pause").className.split(" ").length == 2)
|
if(document.getElementById("pause").className.split(" ").length == 2)
|
||||||
@@ -77,6 +82,7 @@ var Youtube = {
|
|||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
paused = true;
|
paused = true;
|
||||||
|
|
||||||
if(document.getElementById("pause").className.split(" ").length == 1)
|
if(document.getElementById("pause").className.split(" ").length == 1)
|
||||||
$("#pause").toggleClass("hide");
|
$("#pause").toggleClass("hide");
|
||||||
if(document.getElementById("play").className.split(" ").length == 2)
|
if(document.getElementById("play").className.split(" ").length == 2)
|
||||||
@@ -89,21 +95,23 @@ var Youtube = {
|
|||||||
|
|
||||||
getTitle: function(titt, v)
|
getTitle: function(titt, v)
|
||||||
{
|
{
|
||||||
var outPutWord = v > 1 ? "viewers" : "viewer";
|
var outPutWord = v > 1 ? "viewers" : "viewer";
|
||||||
var title= decodeURIComponent(titt);
|
var title = decodeURIComponent(titt);
|
||||||
var elem = document.getElementById('song-title');
|
var elem = document.getElementById('song-title');
|
||||||
|
var viewers = document.getElementById('viewers');
|
||||||
|
|
||||||
document.title = title + " • Zöff / "+chan;
|
document.title = title + " • Zöff / "+chan;
|
||||||
elem.innerHTML = title;
|
elem.innerHTML = title;
|
||||||
document.getElementById('viewers').innerHTML = v + " " + outPutWord;
|
viewers.innerHTML = v + " " + outPutWord;
|
||||||
elem.title = title + " • " + v + " " + outPutWord;
|
elem.title = title + " • " + v + " " + outPutWord;
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
errorHandler: function(newState)
|
errorHandler: function(newState)
|
||||||
{
|
{
|
||||||
if(newState.data == 5 || newState.data == 100 || newState.data == 101 || newState.data == 150)
|
if(newState.data == 5 || newState.data == 100
|
||||||
socket.emit("skip", newState.data);
|
|| newState.data == 101 || newState.data == 150)
|
||||||
|
socket.emit("skip", newState.data);
|
||||||
else if(video_id !== undefined)
|
else if(video_id !== undefined)
|
||||||
ytplayer.loadVideoById(video_id);
|
ytplayer.loadVideoById(video_id);
|
||||||
},
|
},
|
||||||
@@ -133,21 +141,20 @@ var Youtube = {
|
|||||||
setBGimage: function(id){
|
setBGimage: function(id){
|
||||||
if(id !== undefined)
|
if(id !== undefined)
|
||||||
{
|
{
|
||||||
var img = new Image();
|
var img = new Image();
|
||||||
img.onload = function () {
|
img.onload = function ()
|
||||||
var colorThief = new ColorThief();
|
{
|
||||||
//console.log(rgbToHsl(colorThief.getColor(img)));
|
var colorThief = new ColorThief();
|
||||||
document.getElementsByTagName("body")[0].style.backgroundColor = Helper.rgbToHsl(colorThief.getColor(img))
|
document.getElementsByTagName("body")[0].style.backgroundColor = Helper.rgbToHsl(colorThief.getColor(img));
|
||||||
//$("body").css("background-color", rgbToHsl(colorThief.getColor(img)));
|
|
||||||
//$("body").css("background-color", colorThief.getColor(img));
|
|
||||||
};
|
};
|
||||||
|
|
||||||
img.crossOrigin = 'Anonymous';
|
img.crossOrigin = 'Anonymous';
|
||||||
img.src = '//zoff.no:8080/http://img.youtube.com/vi/'+id+'/mqdefault.jpg';
|
img.src = '//zoff.no:8080/http://img.youtube.com/vi/'+id+'/mqdefault.jpg';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
notifyUser: function(id, title) {
|
notifyUser: function(id, title) {
|
||||||
title= title.replace(/\\\'/g, "'").replace(/"/g,"'").replace(/&/g,"&");
|
title = title.replace(/\\\'/g, "'").replace(/"/g,"'").replace(/&/g,"&");
|
||||||
if (Notification.permission === "granted" && document.hidden && id != "30H2Z8Lr-4c" && !window.mobilecheck()) {
|
if (Notification.permission === "granted" && document.hidden && id != "30H2Z8Lr-4c" && !window.mobilecheck()) {
|
||||||
var notification = new Notification("Now Playing", {body: title, icon: "http://i.ytimg.com/vi/"+id+"/mqdefault.jpg", iconUrl: "http://i.ytimg.com/vi/"+id+"/mqdefault.jpg"});
|
var notification = new Notification("Now Playing", {body: title, icon: "http://i.ytimg.com/vi/"+id+"/mqdefault.jpg", iconUrl: "http://i.ytimg.com/vi/"+id+"/mqdefault.jpg"});
|
||||||
notification.onclick = function(x) { window.focus(); this.cancel(); };
|
notification.onclick = function(x) { window.focus(); this.cancel(); };
|
||||||
@@ -183,8 +190,8 @@ var Youtube = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
loadPlayer: function() {
|
loadPlayer: function() {
|
||||||
tag = document.createElement('script');
|
tag = document.createElement('script');
|
||||||
tag.src = "https://www.youtube.com/iframe_api";
|
tag.src = "https://www.youtube.com/iframe_api";
|
||||||
firstScriptTag = document.getElementsByTagName('script')[0];
|
firstScriptTag = document.getElementsByTagName('script')[0];
|
||||||
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
|
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user