Updated what to cache, and updated offline-page

This commit is contained in:
Kasper Rynning-Tønnesen
2016-08-15 16:05:21 +02:00
parent 3f152acc57
commit 85081497aa
16 changed files with 88 additions and 110 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -97,4 +97,4 @@ var Chat = {
}, 1000);
}
}
};

View File

@@ -17,8 +17,8 @@ var Crypt = {
Crypt.conf_pass = Crypt.decrypt(Crypt.create_cookie(chan.toLowerCase()), chan.toLowerCase());
}
Hostcontroller.change_enabled(conf_arr.remote);
if(conf_arr["width"] != 100) Player.set_width(conf_arr["width"]);
if(conf_arr["name"] != undefined && conf_arr["name"] != "") Chat.namechange(conf_arr["name"]);
if(conf_arr.width != 100) Player.set_width(conf_arr.width);
if(conf_arr.name !== undefined && conf_arr.name !== "") Chat.namechange(conf_arr.name);
},
decrypt: function(cookie, name){
@@ -60,8 +60,8 @@ var Crypt = {
padding: CryptoJS.pad.Pkcs7
}
);
var CookieDate = new Date;
var CookieDate = new Date();
CookieDate.setFullYear(CookieDate.getFullYear( ) +1);
document.cookie = cookie+"="+encrypted.toString()+";expires="+CookieDate.toGMTString()+";path=/;";
},
@@ -103,7 +103,7 @@ var Crypt = {
}
);
var CookieDate = new Date;
var CookieDate = new Date();
CookieDate.setFullYear(CookieDate.getFullYear( ) +1);
document.cookie = name+"="+encrypted.toString()+";expires="+CookieDate.toGMTString()+";path=/;";
@@ -133,7 +133,7 @@ var Crypt = {
},
get_pass: function(chan){
if(Crypt.conf_pass != undefined) return Crypt.conf_pass.passwords[chan];
if(Crypt.conf_pass !== undefined) return Crypt.conf_pass.passwords[chan];
return undefined;
},
@@ -159,11 +159,11 @@ var Crypt = {
},
get_width: function(){
return conf_arr["width"];
return conf_arr.width;
},
set_width: function(val){
conf_arr["width"] = val;
conf_arr.width = val;
Crypt.encrypt(conf_arr, "_opt");
},
@@ -172,4 +172,4 @@ var Crypt = {
var parts = value.split("; " + name + "=");
if (parts.length == 2) return parts.pop().split(";").shift();
}
}
};

View File

@@ -22,7 +22,7 @@ var autoplay = false;
var connection_options = {
'sync disconnect on unload':true,
'secure': true,
'force new connection': true
'force new connection': true
};
$(document).ready(function(){
@@ -40,7 +40,7 @@ $(document).ready(function(){
socket = io.connect(''+add+':8880', connection_options);
socket.on("get_list", function(){
setTimeout(function(){socket.emit('list', chan.toLowerCase())},1000);
setTimeout(function(){socket.emit('list', chan.toLowerCase());},1000);
});
socket.on("viewers", function(view)
@@ -85,4 +85,4 @@ $(document).on( "click", "#zoffbutton", function(e){
$(document).on( "click", ".vote-container", function(e){
var id = $(this).attr("data-video-id");
List.vote(id, "pos");
});
});

View File

@@ -7,7 +7,7 @@ var Helper = {
mobilecheck: function() {
var check = false;
(function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check = true;})(navigator.userAgent||navigator.vendor||window.opera);
return check;
return check;
},
predicate: function() {
@@ -110,7 +110,7 @@ var Helper = {
sample: function() {
if (Date.now() - lastSample >= SAMPLE_RATE * 2) {
socket.removeAllListeners()
socket.removeAllListeners();
socket.disconnect();
socket.connect();
Player.setup_all_listeners();
@@ -146,8 +146,12 @@ var Helper = {
},
rgbToHsl: function(arr, light){
r = arr[0], g = arr[1], b = arr[2];
r /= 255, g /= 255, b /= 255;
r = arr[0];
g = arr[1];
b = arr[2];
r /= 255;
g /= 255;
b /= 255;
var max = Math.max(r, g, b), min = Math.min(r, g, b);
var h, s, l = (max + min) / 2;
@@ -191,8 +195,8 @@ var Helper = {
send_mail: function(from, message){
if(from != "" && message != ""){
if(from !== "" && message !== ""){
$("#submit-contact-form").addClass("hide");
$("#send-loader").removeClass("hide");
@@ -214,16 +218,16 @@ var Helper = {
}
}
});*/
var from = $("#contact-form-from").val();
var message = $("#contact-form-message").val();
from = $("#contact-form-from").val();
message = $("#contact-form-message").val();
$("#contact-container").empty();
newWindow = window.open("mailto:contact@zoff.no?Subject=Contact%20Zoff&Body=" + message, "_blank");
$("#contact-container").html("Something went wrong, sorry about that. You could instead try with your own mail-client: <a title='Open in client' href='mailto:contact@zoff.no?Subject=Contact%20Zoff&Body=" + message + "'>contact@zoff.no</a>");
setTimeout(function(){newWindow.close()},500);
setTimeout(function(){newWindow.close();},500);
}
}
}
};
$(document).on('submit', '#contact-form', function(e){
e.preventDefault();
@@ -237,7 +241,7 @@ $(document).on('submit', '#contact-form', function(e){
Element.prototype.remove = function() {
this.parentElement.removeChild(this);
}
};
NodeList.prototype.remove = HTMLCollection.prototype.remove = function() {
for(var i = 0, len = this.length; i < len; i++) {
@@ -245,10 +249,10 @@ NodeList.prototype.remove = HTMLCollection.prototype.remove = function() {
this[i].parentElement.removeChild(this[i]);
}
}
}
};
String.prototype.startsWith = function(searchString, position) {
position = position || 0;
return this.indexOf(searchString, position) === position;
}
};

View File

@@ -6,7 +6,7 @@ var Hostcontroller = {
host_listener: function(id) {
if(Hostcontroller.old_id == null) Hostcontroller.old_id = id;
if(Hostcontroller.old_id === null) Hostcontroller.old_id = id;
else
{
socket.removeAllListeners(id);
@@ -14,7 +14,7 @@ var Hostcontroller = {
Hostcontroller.old_id = id;
}
var codeURL = "https://remote."+window.location.hostname+"/"+id;
$("#code-text").text(id)
$("#code-text").text(id);
$("#code-qr").attr("src", "https://chart.googleapis.com/chart?chs=221x221&cht=qr&choe=UTF-8&chld=L|1&chl="+codeURL);
$("#code-link").attr("href", codeURL);
if(!began)
@@ -48,7 +48,7 @@ var Hostcontroller = {
window.history.pushState("object or string", "Title", "/"+chan.toLowerCase());
}else if(arr[0] == "pause")
Player.ytplayer.pauseVideo()
Player.ytplayer.pauseVideo();
else if(arr[0] == "play")
Player.ytplayer.playVideo();
else if(arr[0] == "skip")
@@ -60,4 +60,4 @@ var Hostcontroller = {
enabled = val;
document.getElementsByName("remote_switch")[0].checked = enabled;
}
}
};

View File

@@ -34,7 +34,7 @@ var List = {
if(!song_info.now_playing){
var add = List.generateSong(song_info, transition, false, true, false);
if(i == 0) {
if(i === 0) {
$("#wrapper").prepend(add);
} else {
$("#wrapper > div:nth-child(" + (i) + ")").after(add);
@@ -314,4 +314,4 @@ var List = {
scrollBottom: function(){
$("#wrapper").scrollTop($("#wrapper")[0].scrollHeight);
}
}
};

View File

@@ -2,7 +2,7 @@ var Mobile_remote = {
id: "",
get_input: function(value) {
if(Mobile_remote.id == "") {
if(Mobile_remote.id === "") {
Mobile_remote.set_id(value.toLowerCase());
} else {
Mobile_remote.set_channel(value.toLowerCase());
@@ -56,4 +56,4 @@ var Mobile_remote = {
});
}
}
};

View File

@@ -22,7 +22,7 @@ var Player = {
console.log("video_id variable: " + video_id);
console.log("---------------------------------");
}
if(obj.length == 0){
if(obj.length === 0){
document.getElementById('song-title').innerHTML = "Empty channel. Add some songs!";
$("#player_overlay").height($("#player").height());
@@ -35,19 +35,19 @@ var Player = {
}
else{
//console.log("gotten new song");
if(previous_video_id == undefined)
previous_video_id = obj[0][0]["id"];
if(previous_video_id === undefined)
previous_video_id = obj[0][0].id;
else if(previous_video_id != video_id)
previous_video_id = video_id;
video_id = obj[0][0]["id"];
video_id = obj[0][0].id;
conf = obj[1][0];
time = obj[2];
seekTo = time - conf["startTime"];
song_title = obj[0][0]["title"];
duration = obj[0][0]["duration"];
seekTo = time - conf.startTime;
song_title = obj[0][0].title;
duration = obj[0][0].duration;
if(mobile_beginning && Helper.mobilecheck() && seekTo == 0)
if(mobile_beginning && Helper.mobilecheck() && seekTo === 0)
seekTo = 1;
try{
@@ -56,13 +56,13 @@ var Player = {
}
Suggestions.fetchYoutubeSuggests(video_id);
}catch(e){}
Player.getTitle(song_title, viewers);
Player.setBGimage(video_id);
//if(player_ready && !Helper.mobilecheck())
if(player_ready && !window.MSStream)
{
try{
if(Player.ytplayer.getVideoUrl().split('v=')[1] != video_id)
{
@@ -79,7 +79,7 @@ var Player = {
if(!durationBegun)
Player.durationSetter();
}
if(Player.ytplayer.getDuration() > seekTo || Player.ytplayer.getDuration() == 0)
if(Player.ytplayer.getDuration() > seekTo || Player.ytplayer.getDuration() === 0)
Player.ytplayer.seekTo(seekTo);
Player.after_load = video_id;
@@ -170,8 +170,8 @@ var Player = {
errorHandler: function(newState)
{
if(newState.data == 5 || newState.data == 100
|| newState.data == 101 || newState.data == 150)
if(newState.data == 5 || newState.data == 100 ||
newState.data == 101 || newState.data == 150)
{
/*if(Player.count == 2){
Player.count = 0;*/
@@ -181,10 +181,10 @@ var Player = {
console.log(Player.before_load == Player.ytplayer.getVideoUrl);*/
curr_playing = Player.ytplayer.getVideoUrl().replace("https://www.youtube.com/watch?v=", "");
socket.emit("skip", {error: newState.data, id: video_id, pass: adminpass, channel: chan.toLowerCase});
//console.log(video_id, Player.ytplayer.getVideoUrl(), Player.ytplayer.getPlayerState());
/*}else{
setTimeout(function(){
Player.ytplayer.loadVideoById(video_id);
@@ -298,12 +298,12 @@ var Player = {
/*try{
//duration = Player.ytplayer.getDuration();
}catch(e){};*/
if(duration != undefined){
if(duration !== undefined){
try{
if(!Player.stopInterval) durationBegun = true;
dMinutes = Math.floor(duration / 60);
dSeconds = duration - dMinutes * 60;
currDurr = Player.ytplayer.getCurrentTime() != undefined ? Math.floor(Player.ytplayer.getCurrentTime()) : seekTo;
currDurr = Player.ytplayer.getCurrentTime() !== undefined ? Math.floor(Player.ytplayer.getCurrentTime()) : seekTo;
if(currDurr > duration)
currDurr = duration;
minutes = Math.floor(currDurr / 60);
@@ -312,18 +312,18 @@ var Player = {
per = (100 / duration) * currDurr;
if(per >= 100)
per = 100;
else if(duration == 0)
else if(duration === 0)
per = 0;
$("#bar").width(per+"%");
}catch(e){
}
}
if(!Player.stopInterval) setTimeout(Player.durationSetter, 1000);
},
loadPlayer: function() {
if($("script[src='https://www.youtube.com/iframe_api']")["length"] == 1){
if($("script[src='https://www.youtube.com/iframe_api']").length == 1){
Player.onYouTubeIframeAPIReady();
}else{
tag = document.createElement('script');
@@ -333,4 +333,4 @@ var Player = {
}
}
}
};

View File

@@ -60,7 +60,7 @@ var Playercontrols = {
$(".video-container").toggleClass("click-through");
$(".page-footer").toggleClass("padding-bottom-extra");
}
}else if(Player.ytplayer.getPlayerState() == 2 || Player.ytplayer.getPlayerState() == 0)
} else if(Player.ytplayer.getPlayerState() == 2 || Player.ytplayer.getPlayerState() === 0)
{
Player.ytplayer.playVideo();
if(Helper.mobilecheck() && !/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream){
@@ -116,7 +116,7 @@ var Playercontrols = {
},
choose_button: function(vol, mute)
{
{
if(!mute){
if(vol >= 0 && vol <= 33){
if(document.getElementById("v-full").className.split(" ").length == 1)
@@ -193,4 +193,4 @@ var Playercontrols = {
}
}
};

View File

@@ -3,7 +3,7 @@ var start = true;
mobilecheck = function() {
var check = false;
(function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check = true;})(navigator.userAgent||navigator.vendor||window.opera);
return check;
return check;
};
$(document).ready(function (){
@@ -29,16 +29,16 @@ $(document).ready(function (){
}).responseText;
git_info = $.parseJSON(git_info);
$("#latest-commit").html("Latest Commit: <br>"
+ git_info[0].commit.author.date.substring(0,10)
+ ": " + git_info[0].committer.login
+ "<br><a href='"+git_info[0].html_url+"'>"
+ git_info[0].sha.substring(0,10) + "</a>: "
+ git_info[0].commit.message+"<br");
$("#latest-commit").html("Latest Commit: <br>" +
git_info[0].commit.author.date.substring(0,10) +
": " + git_info[0].committer.login +
"<br><a href='"+git_info[0].html_url+"'>" +
git_info[0].sha.substring(0,10) + "</a>: " +
git_info[0].commit.message+"<br");
/*var _isChrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
setTimeout(function(){
if (_isChrome && !document.getElementById('extension-is-installed') && !mobilecheck())
if (_isChrome && !document.getElementById('extension-is-installed') && !mobilecheck())
Materialize.toast("<a href='#' onclick='installRemote();' style='pointer-events:all;color:white;'>Install the extension!</a>", 100000);
}, 5);
window.installRemote = installRemote;
@@ -104,7 +104,7 @@ var Remotecontroller = {
$(".rc").css("display", "block");
//document.getElementById("base").setAttribute("onsubmit", "control(); return false;");
$("#remote-text").text("Controlling "+ id.toUpperCase())
$("#remote-text").text("Controlling "+ id.toUpperCase());
document.getElementById("search").setAttribute("length", "18");
document.getElementById("search").setAttribute("maxlength", "18");
$("#forsearch").html("Type new channel name to change to");
@@ -133,4 +133,4 @@ var Remotecontroller = {
}
}
};

View File

@@ -4,7 +4,7 @@ var Suggestions = {
if(single){
Suggestions.createSuggested(params);
}else{
for(x in params){
for(var x in params){
Suggestions.createSuggested(params[x]);
}
}
@@ -54,7 +54,7 @@ var Suggestions = {
var video_id = song.id;
var video_title = song.snippet.title;
duration = duration.replace("PT","").replace("H","h ").replace("M","m ").replace("S","s")
duration = duration.replace("PT","").replace("H","h ").replace("M","m ").replace("S","s");
$("#suggest-song-html").append(List.generateSong({id: video_id, title: video_title, length: secs, duration: duration}, false, false, false));
});
@@ -65,8 +65,8 @@ var Suggestions = {
},
checkUserEmpty: function(){
var length = $("#user-suggest-html").children().length
if(length == 0){
var length = $("#user-suggest-html").children().length;
if(length === 0){
if(!Helper.contains($("#user_suggests").attr("class").split(" "), "hide"))
$("#user_suggests").addClass("hide");
}else{
@@ -74,4 +74,4 @@ var Suggestions = {
}
},
}
};