mirror of
https://github.com/KevinMidboe/zoff.git
synced 2025-10-29 18:00:23 +00:00
Refactored to have more files, but less long files
This commit is contained in:
597
server/public/assets/js/channel.js
Normal file
597
server/public/assets/js/channel.js
Normal file
@@ -0,0 +1,597 @@
|
|||||||
|
var Channel = {
|
||||||
|
init: function() {
|
||||||
|
|
||||||
|
number_suggested = 0;
|
||||||
|
var no_socket = true;
|
||||||
|
|
||||||
|
chan = $("#chan").html();
|
||||||
|
mobile_beginning = Helper.mobilecheck();
|
||||||
|
var side = Helper.mobilecheck() ? "left" : "right";
|
||||||
|
|
||||||
|
ga('send', 'pageview');
|
||||||
|
|
||||||
|
window.onpopstate = function(e){
|
||||||
|
Channel.onepage_load();
|
||||||
|
};
|
||||||
|
|
||||||
|
if(window.location.hostname == "fb.zoff.me") {
|
||||||
|
$("footer").addClass("hide");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(window.location.hostname != "fb.zoff.me") Channel.share_link_modifier();
|
||||||
|
if(window.location.hostname == "zoff.me" || window.location.hostname == "fb.zoff.me") add = "https://zoff.me";
|
||||||
|
else add = window.location.hostname;
|
||||||
|
|
||||||
|
if(Player !== undefined) Player.stopInterval= false;
|
||||||
|
|
||||||
|
$('ul.playlist-tabs').tabs();
|
||||||
|
$('ul.playlist-tabs-loggedIn').tabs();
|
||||||
|
$('ul.chatTabs').tabs();
|
||||||
|
$("#settings").sideNav({
|
||||||
|
menuWidth: 310,
|
||||||
|
edge: side,
|
||||||
|
closeOnClick: false,
|
||||||
|
onOpen: function(el) {
|
||||||
|
if(!$(".hamburger-sidenav").hasClass("open")) {
|
||||||
|
$(".hamburger-sidenav").addClass("open");
|
||||||
|
}
|
||||||
|
$('*[id*=sidenav-overlay]:visible').each(function(i) {
|
||||||
|
if(i > 0) {
|
||||||
|
this.remove();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
onClose: function(el) {
|
||||||
|
$(".hamburger-sidenav").removeClass("open");
|
||||||
|
$('*[id*=sidenav-overlay]:visible').each(function(i) {
|
||||||
|
if(i > 0) {
|
||||||
|
this.remove();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
});
|
||||||
|
$('.collapsible').collapsible({
|
||||||
|
accordion : true
|
||||||
|
});
|
||||||
|
$("#help").modal();
|
||||||
|
$("#contact").modal();
|
||||||
|
$("#embed").modal();
|
||||||
|
$("#delete_song_alert").modal({
|
||||||
|
dismissible: false
|
||||||
|
});
|
||||||
|
$("#user_password").modal({
|
||||||
|
dismissible: false
|
||||||
|
});
|
||||||
|
|
||||||
|
Channel.spotify_is_authenticated(spotify_authenticated);
|
||||||
|
|
||||||
|
result_html = $("#temp-results-container");
|
||||||
|
pagination_buttons_html = $("<div>").append($(".pagination-results").clone()).html();
|
||||||
|
empty_results_html = $("#empty-results-container").html();
|
||||||
|
not_import_html = $(".not-imported-container").html();
|
||||||
|
not_export_html = $(".not-exported-container").html();
|
||||||
|
$(".not-imported-container").empty();
|
||||||
|
$(".not-exported-container").empty();
|
||||||
|
|
||||||
|
$(".video-container").resizable({
|
||||||
|
start: function(event, ui) {
|
||||||
|
$('iframe').css('pointer-events','none');
|
||||||
|
},
|
||||||
|
stop: function(event, ui) {
|
||||||
|
$('iframe').css('pointer-events','auto');
|
||||||
|
Crypt.set_width($(this).width());
|
||||||
|
Channel.set_title_width();
|
||||||
|
},
|
||||||
|
handles: "e",
|
||||||
|
minWidth: 350,
|
||||||
|
maxWidth: $(window).width()-241
|
||||||
|
});
|
||||||
|
|
||||||
|
if(socket === undefined || Helper.mobilecheck()){
|
||||||
|
no_socket = false;
|
||||||
|
socket = io.connect(''+add+':8080', connection_options);
|
||||||
|
socket.on('update_required', function() {
|
||||||
|
window.location.reload(true);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
Crypt.init();
|
||||||
|
setup_auth_listener();
|
||||||
|
|
||||||
|
if(Crypt.get_offline()){
|
||||||
|
$(".offline_switch_class")[0].checked = true;
|
||||||
|
change_offline(true, offline);
|
||||||
|
}
|
||||||
|
|
||||||
|
if($("#alreadychannel").length === 0 || Helper.mobilecheck()){
|
||||||
|
setup_youtube_listener();
|
||||||
|
get_list_listener();
|
||||||
|
setup_suggested_listener();
|
||||||
|
setup_viewers_listener();
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$("#channel-load").css("display", "none");
|
||||||
|
$("#player").css("opacity", "1");
|
||||||
|
$("#controls").css("opacity", "1");
|
||||||
|
$(".playlist").css("opacity", "1");
|
||||||
|
Player.readyLooks();
|
||||||
|
Playercontrols.initYoutubeControls(Player.player);
|
||||||
|
Playercontrols.initSlider();
|
||||||
|
Player.player.setVolume(Crypt.get_volume());
|
||||||
|
$(".video-container").removeClass("no-opacity");
|
||||||
|
|
||||||
|
var codeURL = "https://remote."+window.location.hostname+"/"+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(no_socket){
|
||||||
|
var add = "";
|
||||||
|
if(private_channel) add = Crypt.getCookie("_uI") + "_";
|
||||||
|
socket.emit("list", {version: parseInt(localStorage.getItem("VERSION")), channel: add + chan.toLowerCase(), pass: embed ? '' : Crypt.crypt_pass(Crypt.get_userpass(chan.toLowerCase()))});
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!Helper.mobilecheck()) {
|
||||||
|
$("#viewers").tooltip({
|
||||||
|
delay: 5,
|
||||||
|
position: "top",
|
||||||
|
tooltip: "Viewers"
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#fullscreen").tooltip({
|
||||||
|
delay: 5,
|
||||||
|
position: "top",
|
||||||
|
tooltip: "Fullscreen"
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#search-btn").tooltip({
|
||||||
|
delay: 5,
|
||||||
|
position: "bottom",
|
||||||
|
tooltip: "Search"
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
$("#shuffle").tooltip({
|
||||||
|
delay: 5,
|
||||||
|
position: "bottom",
|
||||||
|
tooltip: "Shuffle",
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#settings").tooltip({
|
||||||
|
delay: 5,
|
||||||
|
position: "bottom",
|
||||||
|
tooltip: "Settings",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
window.onYouTubeIframeAPIReady = Player.onYouTubeIframeAPIReady;
|
||||||
|
if(Player.player === "" || Player.player === undefined || Helper.mobilecheck()) Player.loadPlayer();
|
||||||
|
//}
|
||||||
|
|
||||||
|
if(Helper.mobilecheck()) {
|
||||||
|
Mobile_remote.initiate_volume();
|
||||||
|
$(".close-settings").addClass("hide");
|
||||||
|
} else {
|
||||||
|
$('input#chan_description').characterCounter();
|
||||||
|
Channel.window_width_volume_slider();
|
||||||
|
}
|
||||||
|
|
||||||
|
setup_admin_listener();
|
||||||
|
setup_list_listener();
|
||||||
|
setup_chat_listener();
|
||||||
|
|
||||||
|
socket.emit("get_history", {channel: chan.toLowerCase(), all: false});
|
||||||
|
socket.emit("get_history", {channel: chan.toLowerCase(), all: true});
|
||||||
|
|
||||||
|
if(!Helper.mobilecheck() && $("#alreadychannel").length === 0) setup_host_initialization();
|
||||||
|
|
||||||
|
if(!Helper.msieversion() && !Helper.mobilecheck()) Notification.requestPermission();
|
||||||
|
|
||||||
|
$(".search_input").focus();
|
||||||
|
|
||||||
|
Helper.sample();
|
||||||
|
if(!Helper.mobilecheck()) {
|
||||||
|
$('.castButton').tooltip({
|
||||||
|
delay: 5,
|
||||||
|
position: "top",
|
||||||
|
tooltip: "Cast Zoff to TV"
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#color_embed").spectrum({
|
||||||
|
color: "#808080",
|
||||||
|
change: function(c) {
|
||||||
|
color = c.toHexString().substring(1); // #ff0000
|
||||||
|
$("#embed-area").val(embed_code(embed_autoplay, embed_width, embed_height, color));
|
||||||
|
},
|
||||||
|
appendTo: "#embed",
|
||||||
|
containerClassName: 'polyfill-color z-depth-4',
|
||||||
|
show: function(color) {
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
$(".sp-choose").addClass("hide");
|
||||||
|
$(".sp-cancel").addClass("btn-flat waves-effect waves-red");
|
||||||
|
$(".sp-cancel").removeClass("sp-cancel");
|
||||||
|
$(".sp-button-container").append("<a href='#' class='btn-flat waves-effect waves-green sp-choose-link'>CHOOSE</a>");
|
||||||
|
}
|
||||||
|
|
||||||
|
$(".sp-choose-link").on("click", function(e) {
|
||||||
|
e.preventDefault();
|
||||||
|
$(".sp-choose").trigger("click");
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#results" ).hover( function() { $("div.result").removeClass("hoverResults"); i = 0; }, function(){ });
|
||||||
|
$("#search").focus();
|
||||||
|
$("#embed-button").css("display", "inline-block");
|
||||||
|
$("#embed-area").val(embed_code(embed_autoplay, embed_width, embed_height, color));
|
||||||
|
$("#search").attr("placeholder", "Find song on YouTube...");
|
||||||
|
|
||||||
|
if(!$("footer").hasClass("padding-bottom-novideo")) {
|
||||||
|
$("footer").addClass("padding-bottom-novideo");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!/chrom(e|ium)/.test(navigator.userAgent.toLowerCase()) && !Helper.mobilecheck()){
|
||||||
|
$(".castButton").css("display", "none");
|
||||||
|
}
|
||||||
|
|
||||||
|
Helper.log("chromecastAvailable" + chromecastAvailable);
|
||||||
|
Helper.log("chromecastAvailable" + chromecastReady);
|
||||||
|
|
||||||
|
if(chromecastAvailable){
|
||||||
|
hide_native(1);
|
||||||
|
} else if(chromecastReady) {
|
||||||
|
initializeCastApi();
|
||||||
|
} else {
|
||||||
|
window['__onGCastApiAvailable'] = function(loaded, errorInfo) {
|
||||||
|
if (loaded) {
|
||||||
|
setTimeout(function(){
|
||||||
|
chromecastReady = true;
|
||||||
|
initializeCastApi();
|
||||||
|
}, 1000);
|
||||||
|
} else {
|
||||||
|
chromecastReady = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Channel.listeners(true);
|
||||||
|
Channel.add_context_menu();
|
||||||
|
|
||||||
|
if(!Helper.mobilecheck() && navigator.userAgent.match(/iPad/i) == null){
|
||||||
|
setTimeout(function(){Channel.set_title_width();}, 100);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
seekToClick: function(e){
|
||||||
|
var acceptable = ["bar", "controls", "duration"];
|
||||||
|
|
||||||
|
if(acceptable.indexOf($(e.target).attr("id")) >= 0) {
|
||||||
|
var total = full_playlist[full_playlist.length - 1].duration / $("#controls").width();
|
||||||
|
total = total * e.clientX;
|
||||||
|
|
||||||
|
Helper.log(total);
|
||||||
|
if(!chromecastAvailable){
|
||||||
|
Player.player.seekTo(total + Player.np.start);
|
||||||
|
|
||||||
|
dMinutes = Math.floor(duration / 60);
|
||||||
|
dSeconds = duration - dMinutes * 60;
|
||||||
|
currDurr = total;
|
||||||
|
if(currDurr - Player.np.start > duration) {
|
||||||
|
currDurr = duration - Player.np.start;
|
||||||
|
}
|
||||||
|
currDurr = currDurr - Player.np.start;
|
||||||
|
minutes = Math.floor(currDurr / 60);
|
||||||
|
seconds = currDurr - (minutes * 60);
|
||||||
|
document.getElementById("duration").innerHTML = Helper.pad(minutes)+":"+Helper.pad(seconds)+" <span id='dash'>/</span> "+Helper.pad(dMinutes)+":"+Helper.pad(dSeconds);
|
||||||
|
per = (100 / duration) * currDurr;
|
||||||
|
if(per >= 100)
|
||||||
|
per = 100;
|
||||||
|
else if(duration === 0)
|
||||||
|
per = 0;
|
||||||
|
$("#bar").width(per+"%");
|
||||||
|
} else {
|
||||||
|
castSession.sendMessage("urn:x-cast:zoff.me", {type: "seekTo", seekTo: total});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
seekToMove: function(e){
|
||||||
|
var pos_x = e.clientX - Math.ceil($("#seekToDuration").width() / 2) - 8;
|
||||||
|
if(pos_x < 0) pos_x = 0;
|
||||||
|
else if(pos_x + $("#seekToDuration").width() > $("#controls").width()) {
|
||||||
|
pos_x = $("#controls").width() - $("#seekToDuration").width();
|
||||||
|
}
|
||||||
|
$("#seekToDuration").css("left", pos_x);
|
||||||
|
try{
|
||||||
|
var total = full_playlist[full_playlist.length - 1].duration / $("#controls").width();
|
||||||
|
total = total * e.clientX;
|
||||||
|
var _time = Helper.secondsToOther(total);
|
||||||
|
var _minutes = Helper.pad(_time[0]);
|
||||||
|
var _seconds = Helper.pad(Math.ceil(_time[1]));
|
||||||
|
$("#seekToDuration").text(_minutes + ":" + _seconds);
|
||||||
|
|
||||||
|
var acceptable = ["bar", "controls", "duration"];
|
||||||
|
if(acceptable.indexOf($(e.target).attr("id")) >= 0 && dragging) {
|
||||||
|
$("#bar").width(((100 / duration) * total) + "%");
|
||||||
|
}
|
||||||
|
} catch(e){}
|
||||||
|
},
|
||||||
|
|
||||||
|
set_title_width: function(start){
|
||||||
|
if($(window).width() > 760){
|
||||||
|
var add_width = $(".brand-logo").outerWidth()
|
||||||
|
if(start){
|
||||||
|
add_width = $(window).width()*0.15;
|
||||||
|
}
|
||||||
|
var test_against_width = $(window).width() - $(".control-list").width() - add_width - 33;
|
||||||
|
title_width = test_against_width;
|
||||||
|
$(".title-container").width(title_width);
|
||||||
|
} else {
|
||||||
|
$(".title-container").width("100%");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
spotify_is_authenticated: function(bool){
|
||||||
|
if(bool){
|
||||||
|
Helper.log("------------------------");
|
||||||
|
Helper.log("Spotify is authenticated");
|
||||||
|
Helper.log("access_token: " + access_token_data.access_token);
|
||||||
|
Helper.log("token_type:" + access_token_data.token_type);
|
||||||
|
Helper.log("expires_in: " + access_token_data.expires_in);
|
||||||
|
Helper.log("------------------------");
|
||||||
|
$(".spotify_authenticated").css("display", "block");
|
||||||
|
$(".spotify_unauthenticated").css("display", "none");
|
||||||
|
} else {
|
||||||
|
Helper.log("----------------------------");
|
||||||
|
Helper.log("Spotify is not authenticated");
|
||||||
|
Helper.log("----------------------------");
|
||||||
|
$(".spotify_authenticated").css("display", "none");
|
||||||
|
$(".spotify_unauthenticated").css("display", "block");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
add_context_menu: function() {
|
||||||
|
$.contextMenu({
|
||||||
|
selector: '.playlist-element',
|
||||||
|
reposition: true,
|
||||||
|
autoHide: true,
|
||||||
|
items: {
|
||||||
|
copy: {
|
||||||
|
name: "Copy link",
|
||||||
|
callback: function(key, opt){
|
||||||
|
var this_id = $(this[0]).attr("data-video-id");
|
||||||
|
var this_url = "https://www.youtube.com/watch?v=" + this_id;
|
||||||
|
$(".copy_video_id").css("display", "block");
|
||||||
|
$(".copy_video_id").text(this_url);
|
||||||
|
var copyTextarea = document.querySelector('.copy_video_id');
|
||||||
|
copyTextarea.select();
|
||||||
|
var successful = document.execCommand('copy');
|
||||||
|
if(successful) {
|
||||||
|
Materialize.toast("Copied!", 2000, "green lighten");
|
||||||
|
} else {
|
||||||
|
Materialize.toast("Error copying..", 2000, "red lighten");
|
||||||
|
}
|
||||||
|
$(".copy_video_id").css("display", "none");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
similar: {
|
||||||
|
name: "Find Similar",
|
||||||
|
callback: function(key, opt) {
|
||||||
|
var this_id = $(this[0]).attr("data-video-id");
|
||||||
|
Search.search(this_id, false, true);
|
||||||
|
if(Helper.contains($(".search-container").attr("class").split(" "), "hide")) {
|
||||||
|
Search.showSearch();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sep1": "---------",
|
||||||
|
delete: {
|
||||||
|
name: "Delete",
|
||||||
|
callback: function(key, opt) {
|
||||||
|
var this_id = $(this[0]).attr("data-video-id");
|
||||||
|
var this_type = $(this[0]).attr("data-video-type");
|
||||||
|
|
||||||
|
if(this_type == "suggested") {
|
||||||
|
number_suggested = number_suggested - 1;
|
||||||
|
if(number_suggested < 0) number_suggested = 0;
|
||||||
|
|
||||||
|
var to_display = number_suggested > 9 ? "9+" : number_suggested;
|
||||||
|
if(!$(".suggested-link span.badge.new.white").hasClass("hide") && to_display == 0){
|
||||||
|
$(".suggested-link span.badge.new.white").addClass("hide");
|
||||||
|
}
|
||||||
|
|
||||||
|
$(".suggested-link span.badge.new.white").text(to_display);
|
||||||
|
}
|
||||||
|
|
||||||
|
List.vote(this_id, "del");
|
||||||
|
},
|
||||||
|
disabled: function(key, opt) {
|
||||||
|
return w_p;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
share_link_modifier: function(){
|
||||||
|
$("#facebook-code-link").attr("href", "https://www.facebook.com/sharer/sharer.php?u=https://zoff.me/" + chan.toLowerCase());
|
||||||
|
$("#facebook-code-link").attr("onclick", "window.open('https://www.facebook.com/sharer/sharer.php?u=https://zoff.me/" + chan.toLowerCase() + "', 'Share Playlist','width=600,height=300'); return false;");
|
||||||
|
$("#twitter-code-link").attr("href", "https://twitter.com/intent/tweet?url=https://zoff.me/" + chan.toLowerCase() + "&text=Check%20out%20this%20playlist%20" + chan.toLowerCase() + "%20on%20Zoff!&via=zoffmusic");
|
||||||
|
$("#twitter-code-link").attr("onclick", "window.open('https://twitter.com/intent/tweet?url=https://zoff.me/" + chan.toLowerCase() + "/&text=Check%20out%20this%20playlist%20" + chan.toLowerCase() + "%20on%20Zoff!&via=zoffmusic','Share Playlist','width=600,height=300'); return false;");
|
||||||
|
//$("#qr-code-image-link").attr("src", "//chart.googleapis.com/chart?chs=150x150&cht=qr&chl=https://zoff.me/" + chan.toLowerCase() + "&choe=UTF-8&chld=L%7C1");
|
||||||
|
},
|
||||||
|
|
||||||
|
window_width_volume_slider: function() {
|
||||||
|
if(window.innerWidth <= 600 && slider_type == "horizontal") {
|
||||||
|
slider_type = "vertical";
|
||||||
|
Playercontrols.initSlider();
|
||||||
|
} else if(window.innerWidth > 600 && slider_type == "vertical") {
|
||||||
|
slider_type = "horizontal";
|
||||||
|
Playercontrols.initSlider();
|
||||||
|
$(".volume-container").removeClass("hide");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
listeners: function(on) {
|
||||||
|
if(on) {
|
||||||
|
$("#chatchannel").scroll(function(e) {
|
||||||
|
if(!programscroll) {
|
||||||
|
userscroll = true;
|
||||||
|
if($("#chatchannel").scrollTop() + $("#chatchannel").innerHeight() >= $("#chatchannel")[0].scrollHeight) {
|
||||||
|
userscroll = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$("#chatall").scroll(function(e) {
|
||||||
|
if(!programscroll) {
|
||||||
|
userscroll = true;
|
||||||
|
if($("#chatall").scrollTop() + $("#chatall").innerHeight() >= $("#chatall")[0].scrollHeight) {
|
||||||
|
userscroll = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
$("#chatchannel").off("scroll");
|
||||||
|
$("#chatall").off("scroll");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
onepage_load: function(){
|
||||||
|
|
||||||
|
var url_split = window.location.href.split("/");
|
||||||
|
if(url_split[3].substr(0,1) != "#!" && url_split[3] !== "" && !(url_split.length == 5 && url_split[4].substr(0,1) == "#")){
|
||||||
|
|
||||||
|
socket.emit("change_channel");
|
||||||
|
Admin.beginning = true;
|
||||||
|
|
||||||
|
chan = url_split[3].replace("#", "");
|
||||||
|
$("#chan").html(Helper.upperFirst(chan));
|
||||||
|
var add = "";
|
||||||
|
w_p = true;
|
||||||
|
if(private_channel) add = Crypt.getCookie("_uI") + "_";
|
||||||
|
socket.emit("list", {version: parseInt(localStorage.getItem("VERSION")), channel: add + chan.toLowerCase(), pass: embed ? '' : Crypt.crypt_pass(Crypt.get_userpass(chan.toLowerCase()))});
|
||||||
|
} else if(url_split[3] === "") {
|
||||||
|
clearTimeout(timed_remove_check);
|
||||||
|
changing_to_frontpage = true;
|
||||||
|
$.contextMenu( 'destroy', ".playlist-element" );
|
||||||
|
user_change_password = false;
|
||||||
|
clearTimeout(width_timeout);
|
||||||
|
if(fireplace_initiated){
|
||||||
|
fireplace_initiated = false;
|
||||||
|
Player.fireplace.destroy();
|
||||||
|
$("#fireplace_player").css("display", "none");
|
||||||
|
}
|
||||||
|
$("#channel-load").css("display", "block");
|
||||||
|
window.scrollTo(0, 0);
|
||||||
|
|
||||||
|
Player.stopInterval = true;
|
||||||
|
Admin.display_logged_out();
|
||||||
|
Admin.beginning = true;
|
||||||
|
began = false;
|
||||||
|
durationBegun = false;
|
||||||
|
|
||||||
|
$("#embed-button").css("display", "none");
|
||||||
|
if(!Helper.mobilecheck()) {
|
||||||
|
$('.castButton').tooltip("remove");
|
||||||
|
$("#viewers").tooltip("remove");
|
||||||
|
//$('.castButton-unactive').tooltip("remove");
|
||||||
|
$("#offline-mode").tooltip("remove");
|
||||||
|
$('#chan_thumbnail').tooltip("remove");
|
||||||
|
$('#fullscreen').tooltip("remove");
|
||||||
|
$('#admin-lock').tooltip("remove");
|
||||||
|
$("#search-btn").tooltip("remove");
|
||||||
|
$("#shuffle").tooltip("remove");
|
||||||
|
$("#settings").tooltip("remove");
|
||||||
|
}
|
||||||
|
$("#seekToDuration").remove();
|
||||||
|
$("#settings").sideNav("destroy");
|
||||||
|
$('.tap-target').tapTarget('close');
|
||||||
|
clearTimeout(tap_target_timeout);
|
||||||
|
before_toast();
|
||||||
|
$.ajax({
|
||||||
|
url: "/",
|
||||||
|
success: function(e){
|
||||||
|
if(Helper.mobilecheck() || user_auth_avoid) {
|
||||||
|
Helper.log("Removing all listeners");
|
||||||
|
socket.removeAllListeners();
|
||||||
|
socket.disconnect();
|
||||||
|
} else {
|
||||||
|
socket.removeEventListener("chat.all");
|
||||||
|
socket.removeEventListener("chat");
|
||||||
|
socket.removeEventListener("conf");
|
||||||
|
socket.removeEventListener("pw");
|
||||||
|
socket.removeEventListener("toast");
|
||||||
|
//socket.removeEventListener("id");
|
||||||
|
socket.removeEventListener("channel");
|
||||||
|
//socket.removeEventListener(id);
|
||||||
|
}
|
||||||
|
document.getElementById("volume-button").removeEventListener("click", Playercontrols.mute_video);
|
||||||
|
document.getElementById("playpause").removeEventListener("click", Playercontrols.play_pause);
|
||||||
|
document.getElementById("fullscreen").removeEventListener("click", Playercontrols.fullscreen);
|
||||||
|
Channel.listeners(false);
|
||||||
|
if(Helper.mobilecheck() || user_auth_avoid) {
|
||||||
|
video_id = "";
|
||||||
|
song_title = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
$("meta[name=theme-color]").attr("content", "#2D2D2D");
|
||||||
|
|
||||||
|
if(!Helper.mobilecheck() && !user_auth_avoid){
|
||||||
|
$(".video-container").resizable("destroy");
|
||||||
|
$("main").append("<a id='closePlayer' title='Close Player'>X</a>");
|
||||||
|
$("#playbar").remove();
|
||||||
|
$(".ui-resizable-handle").remove();
|
||||||
|
$("#main_components").remove();
|
||||||
|
$("#player").addClass("player_bottom");
|
||||||
|
$("#main-row").addClass("frontpage_modified_heights");
|
||||||
|
$("#player").css("opacity", "1");
|
||||||
|
$("#video-container").removeClass("no-opacity");
|
||||||
|
$("#main-row").prepend("<div id='player_bottom_overlay' title='To Channel' class='player player_bottom'></div>");
|
||||||
|
$("#playlist").remove();
|
||||||
|
} else {
|
||||||
|
try{
|
||||||
|
Player.player.destroy();
|
||||||
|
} catch(error){}
|
||||||
|
Player.player = "";
|
||||||
|
document.title = "Zoff";
|
||||||
|
}
|
||||||
|
|
||||||
|
var response = $("<div>" + e + "</div>");
|
||||||
|
|
||||||
|
//$(".drag-target").remove();
|
||||||
|
$("#sidenav-overlay").remove();
|
||||||
|
$("main").attr("class", "center-align container");
|
||||||
|
$("#main-container").removeClass("channelpage");
|
||||||
|
$("#main-container").attr("style", "");
|
||||||
|
$("header").html($(response.find("header")).html());
|
||||||
|
$($(response.find(".section.mega"))).insertAfter("header");
|
||||||
|
$($(response.find(".section.mobile-search"))).insertAfter(".mega");
|
||||||
|
if(Helper.mobilecheck() || user_auth_avoid) $("main").html($(response.find("main")).html());
|
||||||
|
else $("main").append($(response.find("#main_section_frontpage")).wrap("<div>").parent().html());
|
||||||
|
$(".page-footer").removeClass("padding-bottom-extra");
|
||||||
|
$(".page-footer").removeClass("padding-bottom-novideo");
|
||||||
|
$("#favicon").attr("href", "/assets/images/favicon-32x32.png");
|
||||||
|
|
||||||
|
$(".context-menu-list").remove();
|
||||||
|
Helper.log(socket);
|
||||||
|
if($("#alreadyfp").length == 1){
|
||||||
|
Frontpage.init();
|
||||||
|
}else {
|
||||||
|
fromChannel = true;
|
||||||
|
frontpage = true;
|
||||||
|
Frontpage.init();
|
||||||
|
}
|
||||||
|
changing_to_frontpage = false;
|
||||||
|
|
||||||
|
if($("#alreadychannel").length === 0 && !user_auth_avoid){
|
||||||
|
$("head").append("<div id='alreadychannel'></div");
|
||||||
|
} else if(user_auth_avoid) {
|
||||||
|
$("#alreadychannel").remove();
|
||||||
|
}
|
||||||
|
$("#channel-load").css("display", "none");
|
||||||
|
user_auth_avoid = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -351,32 +351,18 @@ var Frontpage = {
|
|||||||
$(".page-footer").addClass("padding-bottom-novideo");
|
$(".page-footer").addClass("padding-bottom-novideo");
|
||||||
from_frontpage = true;
|
from_frontpage = true;
|
||||||
if($("#alreadychannel").length == 1){
|
if($("#alreadychannel").length == 1){
|
||||||
init();
|
Channel.init();
|
||||||
}else{
|
}else{
|
||||||
fromFront = true;
|
fromFront = true;
|
||||||
init();
|
Channel.init();
|
||||||
}
|
}
|
||||||
if($("#alreadyfp").length === 0) $("head").append("<div id='alreadyfp'></div>");
|
if($("#alreadyfp").length === 0) $("head").append("<div id='alreadyfp'></div>");
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
};
|
|
||||||
|
|
||||||
String.prototype.capitalizeFirstLetter = function() {
|
init: function() {
|
||||||
return this.charAt(0).toUpperCase() + this.slice(1);
|
|
||||||
};
|
|
||||||
|
|
||||||
function share_link_modifier_frontpage() {
|
|
||||||
$("#facebook-code-link").attr("href", "https://www.facebook.com/sharer/sharer.php?u=https://zoff.me/");
|
|
||||||
$("#facebook-code-link").attr("onclick", "window.open('https://www.facebook.com/sharer/sharer.php?u=https://zoff.me/', 'Share Zoff','width=600,height=300'); return false;");
|
|
||||||
$("#twitter-code-link").attr("href", "https://twitter.com/intent/tweet?url=https://zoff.me/&text=Check%20out%20Zoff!&via=zoffmusic");
|
|
||||||
$("#twitter-code-link").attr("onclick", "window.open('https://twitter.com/intent/tweet?url=https://zoff.me/&text=Check%20out%20Zoff!&via=zoffmusic','Share Playlist','width=600,height=300'); return false;");
|
|
||||||
//$("#qr-code-link").attr("href", "//chart.googleapis.com/chart?chs=500x500&cht=qr&chl=https://zoff.me/&choe=UTF-8&chld=L%7C1");
|
|
||||||
//$("#qr-code-image-link").attr("src", "//chart.googleapis.com/chart?chs=150x150&cht=qr&chl=https://zoff.me/&choe=UTF-8&chld=L%7C1");
|
|
||||||
}
|
|
||||||
|
|
||||||
function initfp() {
|
|
||||||
|
|
||||||
var date = new Date();
|
var date = new Date();
|
||||||
Frontpage.blob_list = [];
|
Frontpage.blob_list = [];
|
||||||
@@ -402,7 +388,7 @@ function initfp() {
|
|||||||
|
|
||||||
channel_list = $("#channel-list-container").clone().html();
|
channel_list = $("#channel-list-container").clone().html();
|
||||||
|
|
||||||
if(window.location.hostname != "fb.zoff.me") share_link_modifier_frontpage();
|
if(window.location.hostname != "fb.zoff.me") Frontpage.share_link_modifier();
|
||||||
|
|
||||||
if(window.location.hostname == "zoff.me" || window.location.hostname == "fb.zoff.me") add = "https://zoff.me";
|
if(window.location.hostname == "zoff.me" || window.location.hostname == "fb.zoff.me") add = "https://zoff.me";
|
||||||
else add = window.location.hostname;
|
else add = window.location.hostname;
|
||||||
@@ -485,4 +471,18 @@ function initfp() {
|
|||||||
} else {
|
} else {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
share_link_modifier: function() {
|
||||||
|
$("#facebook-code-link").attr("href", "https://www.facebook.com/sharer/sharer.php?u=https://zoff.me/");
|
||||||
|
$("#facebook-code-link").attr("onclick", "window.open('https://www.facebook.com/sharer/sharer.php?u=https://zoff.me/', 'Share Zoff','width=600,height=300'); return false;");
|
||||||
|
$("#twitter-code-link").attr("href", "https://twitter.com/intent/tweet?url=https://zoff.me/&text=Check%20out%20Zoff!&via=zoffmusic");
|
||||||
|
$("#twitter-code-link").attr("onclick", "window.open('https://twitter.com/intent/tweet?url=https://zoff.me/&text=Check%20out%20Zoff!&via=zoffmusic','Share Playlist','width=600,height=300'); return false;");
|
||||||
|
//$("#qr-code-link").attr("href", "//chart.googleapis.com/chart?chs=500x500&cht=qr&chl=https://zoff.me/&choe=UTF-8&chld=L%7C1");
|
||||||
|
//$("#qr-code-image-link").attr("src", "//chart.googleapis.com/chart?chs=150x150&cht=qr&chl=https://zoff.me/&choe=UTF-8&chld=L%7C1");
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
String.prototype.capitalizeFirstLetter = function() {
|
||||||
|
return this.charAt(0).toUpperCase() + this.slice(1);
|
||||||
|
};
|
||||||
|
|||||||
366
server/public/assets/js/functions.js
Normal file
366
server/public/assets/js/functions.js
Normal file
@@ -0,0 +1,366 @@
|
|||||||
|
|
||||||
|
function hide_native(way) {
|
||||||
|
if(way == 1){
|
||||||
|
if(!$('.castButton').hasClass('castButton-white-active')) {
|
||||||
|
$('.castButton').addClass('castButton-white-active');
|
||||||
|
}
|
||||||
|
if(!Helper.mobilecheck()) {
|
||||||
|
$('.castButton').tooltip('remove');
|
||||||
|
$('.castButton').tooltip({
|
||||||
|
delay: 5,
|
||||||
|
position: "top",
|
||||||
|
tooltip: "Stop casting"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
$("#duration").toggleClass("hide");
|
||||||
|
$("#fullscreen").toggleClass("hide");
|
||||||
|
try{
|
||||||
|
Player.player.stopVideo();
|
||||||
|
} catch(e){}
|
||||||
|
Player.stopInterval = true;
|
||||||
|
$("#player_overlay").removeClass("hide");
|
||||||
|
$("#player_overlay").css("display", "block");
|
||||||
|
if(Helper.mobilecheck()){
|
||||||
|
if($("#pause").hasClass("hide")){
|
||||||
|
$("#play").toggleClass("hide");
|
||||||
|
$("#pause").toggleClass("hide");
|
||||||
|
} else if($("#play").hasClass("hide")){
|
||||||
|
$("#play").toggleClass("hide");
|
||||||
|
$("#pause").toggleClass("hide");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$("#volume").slider("value", 100);
|
||||||
|
}
|
||||||
|
$("#player_overlay").css("background", "url(https://i.ytimg.com/vi/" + video_id + "/maxresdefault.jpg)");
|
||||||
|
$("#player_overlay").css("background-position", "center");
|
||||||
|
$("#player_overlay").css("background-size", "100%");
|
||||||
|
$("#player_overlay").css("background-color", "black");
|
||||||
|
$("#player_overlay").css("background-repeat", "no-repeat");
|
||||||
|
$("#playing_on").css("display", "flex");
|
||||||
|
$("#chromecast_text").html("Playing on<br>" + castSession.La.friendlyName);
|
||||||
|
Player.player.setVolume(100);
|
||||||
|
|
||||||
|
$("#player_overlay_text").toggleClass("hide");
|
||||||
|
} else if(way == 0){
|
||||||
|
if(!Helper.mobilecheck()) {
|
||||||
|
$('.castButton').tooltip('remove');
|
||||||
|
$('.castButton').tooltip({
|
||||||
|
delay: 5,
|
||||||
|
position: "top",
|
||||||
|
tooltip: "Cast Zoff to TV"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
$('.castButton').removeClass('castButton-white-active');
|
||||||
|
|
||||||
|
$("#duration").toggleClass("hide");
|
||||||
|
$("#fullscreen").toggleClass("hide");
|
||||||
|
Player.player.playVideo();
|
||||||
|
Player.stopInterval = false;
|
||||||
|
duration = Player.player.getDuration();
|
||||||
|
Player.durationSetter();
|
||||||
|
if(!Helper.mobilecheck()){
|
||||||
|
Player.player.setVolume(Crypt.get_volume());
|
||||||
|
$("#volume").slider("value", Crypt.get_volume());
|
||||||
|
}
|
||||||
|
$("#player_overlay").addClass("hide");
|
||||||
|
$("#player_overlay_text").toggleClass("hide");
|
||||||
|
$("#chromecast_text").html("");
|
||||||
|
$("#playing_on").css("display", "none");
|
||||||
|
if(!offline){
|
||||||
|
socket.emit('pos', {channel: chan.toLowerCase(), pass: embed ? '' : Crypt.crypt_pass(Crypt.get_userpass(chan.toLowerCase()))});
|
||||||
|
} else {
|
||||||
|
Player.loadVideoById(video_id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function chromecastListener(evt, data) {
|
||||||
|
var json_parsed = JSON.parse(data);
|
||||||
|
switch(json_parsed.type){
|
||||||
|
case -1:
|
||||||
|
if(offline){
|
||||||
|
Player.playNext();
|
||||||
|
} else {
|
||||||
|
socket.emit("end", {id: json_parsed.videoId, channel: chan.toLowerCase(), pass: embed ? '' : Crypt.crypt_pass(Crypt.get_userpass(chan.toLowerCase()))});
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 0:
|
||||||
|
if(offline){
|
||||||
|
Player.playNext();
|
||||||
|
} else {
|
||||||
|
socket.emit("skip", {error: json_parsed.data_code, id: json_parsed.videoId, pass: adminpass == "" ? "" : Crypt.crypt_pass(adminpass), channel: chan.toLowerCase(), userpass: embed ? '' : Crypt.crypt_pass(Crypt.get_userpass(chan.toLowerCase()))});
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function setup_auth_listener() {
|
||||||
|
socket.on('auth_required', function() {
|
||||||
|
user_auth_started = true;
|
||||||
|
$("#player_overlay").removeClass("hide");
|
||||||
|
$("#player_overlay").css("display", "block");
|
||||||
|
$("#user_password").modal("open");
|
||||||
|
Crypt.remove_userpass(chan.toLowerCase());
|
||||||
|
before_toast();
|
||||||
|
Materialize.toast("That is not the correct password, try again..", 4000);
|
||||||
|
});
|
||||||
|
|
||||||
|
socket.on('auth_accepted', function(msg) {
|
||||||
|
if(msg.hasOwnProperty("value") && msg.value) {
|
||||||
|
if(temp_user_pass != "") {
|
||||||
|
userpass = temp_user_pass;
|
||||||
|
Crypt.set_userpass(chan.toLowerCase(), userpass);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function setup_no_connection_listener(){
|
||||||
|
socket.on('connect_failed', function(){
|
||||||
|
Helper.log('Connection Failed');
|
||||||
|
if(!connect_error){
|
||||||
|
connect_error = true;
|
||||||
|
Materialize.toast("Error connecting to server, please wait..", 100000000, "red lighten connect_error");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
socket.on("connect_error", function(){
|
||||||
|
Helper.log("Connection Failed.");
|
||||||
|
if(!connect_error){
|
||||||
|
connect_error = true;
|
||||||
|
Materialize.toast("Error connecting to server, please wait..", 100000000, "red lighten connect_error");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function setup_youtube_listener(){
|
||||||
|
socket.on("np", Player.youtube_listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_list_listener(){
|
||||||
|
socket.on("get_list", function(){
|
||||||
|
var add = "";
|
||||||
|
if(private_channel) add = Crypt.getCookie("_uI") + "_";
|
||||||
|
socket.emit("list", { offline: offline, version: parseInt(localStorage.getItem("VERSION")), channel: add + chan.toLowerCase(), pass: embed ? '' : Crypt.crypt_pass(Crypt.get_userpass(chan.toLowerCase()))});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function setup_suggested_listener(){
|
||||||
|
socket.on("suggested", function(params){
|
||||||
|
var single = true;
|
||||||
|
if(params.id === undefined)
|
||||||
|
single = false;
|
||||||
|
Suggestions.catchUserSuggests(params, single);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function setup_viewers_listener(){
|
||||||
|
socket.on("viewers", function(view){
|
||||||
|
viewers = view;
|
||||||
|
var outPutWord = "<i class='material-icons'>visibility</i>"//v > 1 ? "viewers" : "viewer";
|
||||||
|
|
||||||
|
$("#viewers").html(outPutWord + " " + view);
|
||||||
|
|
||||||
|
if(song_title !== undefined)
|
||||||
|
Player.getTitle(song_title, viewers);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function setup_admin_listener(){
|
||||||
|
socket.on("toast", Admin.toast);
|
||||||
|
socket.on("pw", Admin.pw);
|
||||||
|
socket.on("conf", Admin.conf);
|
||||||
|
}
|
||||||
|
|
||||||
|
function setup_chat_listener(){
|
||||||
|
socket.on("chat_history", function(msg) {
|
||||||
|
var data = msg.data;
|
||||||
|
for(var i = 0; i < data.length; i++) {
|
||||||
|
if(msg.all) {
|
||||||
|
Chat.allchat(data[i], data[i].createdAt, true);
|
||||||
|
document.getElementById("chatall").scrollTop = document.getElementById("chatall").scrollHeight;
|
||||||
|
} else {
|
||||||
|
Chat.channelchat(data[i], data[i].createdAt, true);
|
||||||
|
document.getElementById("chatchannel").scrollTop = document.getElementById("chatchannel").scrollHeight;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
socket.on("chat.all", Chat.allchat);
|
||||||
|
socket.on("chat", Chat.channelchat);
|
||||||
|
}
|
||||||
|
|
||||||
|
function setup_list_listener(){
|
||||||
|
socket.on("channel", List.channel_function);
|
||||||
|
}
|
||||||
|
|
||||||
|
function setup_playlist_listener(){
|
||||||
|
Helper.log("Setting up playlist_listener");
|
||||||
|
socket.on('playlists', Frontpage.frontpage_function);
|
||||||
|
}
|
||||||
|
|
||||||
|
function setup_host_initialization(){
|
||||||
|
socket.on("id", Hostcontroller.host_listener);
|
||||||
|
}
|
||||||
|
|
||||||
|
function setup_host_listener(id){
|
||||||
|
socket.on(id, Hostcontroller.host_on_action);
|
||||||
|
}
|
||||||
|
|
||||||
|
function enable_debug(){
|
||||||
|
localStorage.debug = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function disable_debug(){
|
||||||
|
localStorage.debug = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function embed_code(autoplay, width, height, color){
|
||||||
|
return '<iframe src="https://zoff.me/_embed#' + chan.toLowerCase() + '&' + color + autoplay + '" width="' + width + 'px" height="' + height + 'px"></iframe>';
|
||||||
|
}
|
||||||
|
|
||||||
|
function change_offline(enabled, already_offline){
|
||||||
|
Crypt.set_offline(enabled);
|
||||||
|
offline = enabled;
|
||||||
|
socket.emit("offline", {status: enabled, channel: chan != undefined ? chan.toLowerCase() : ""});
|
||||||
|
if(!Helper.mobilecheck()) {
|
||||||
|
$("#offline-mode").tooltip('remove');
|
||||||
|
}
|
||||||
|
if(enabled){
|
||||||
|
if(list_html){
|
||||||
|
list_html = $("<div>" + list_html + "</div>");
|
||||||
|
//list_html.find(".list-remove").removeClass("hide");
|
||||||
|
list_html = list_html.html();
|
||||||
|
}
|
||||||
|
//$(".list-remove").removeClass("hide");
|
||||||
|
$("#viewers").addClass("hide");
|
||||||
|
$(".margin-playbar").removeClass("margin-playbar");
|
||||||
|
$(".prev.playbar").addClass("margin-playbar");
|
||||||
|
$(".prev.playbar").removeClass("hide");
|
||||||
|
$("#offline-mode").removeClass("waves-cyan");
|
||||||
|
$("#offline-mode").addClass("cyan");
|
||||||
|
if(!Helper.mobilecheck()) {
|
||||||
|
$("#offline-mode").tooltip({
|
||||||
|
delay: 5,
|
||||||
|
position: "bottom",
|
||||||
|
tooltip: "Disable local mode"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if(window.location.pathname != "/"){
|
||||||
|
$("#controls").on("mouseenter", function(e){
|
||||||
|
if($("#seekToDuration").hasClass("hide")){
|
||||||
|
$("#seekToDuration").removeClass("hide");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#controls").on("mouseleave", function(e){
|
||||||
|
dragging = false;
|
||||||
|
if(!$("#seekToDuration").hasClass("hide")){
|
||||||
|
$("#seekToDuration").addClass("hide");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#controls").on("mousedown", function(e) {
|
||||||
|
var acceptable = ["bar", "controls", "duration"];
|
||||||
|
if(acceptable.indexOf($(e.target).attr("id")) >= 0) {
|
||||||
|
dragging = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$("#controls").on("mouseup", function(e) {
|
||||||
|
dragging = false;
|
||||||
|
});
|
||||||
|
$("#controls").on("mousemove", Channel.seekToMove);
|
||||||
|
$("#controls").on("click", Channel.seekToClick);
|
||||||
|
$("#main_components").append("<div id='seekToDuration' class='hide'>00:00/01:00</div>");
|
||||||
|
if(!Helper.mobilecheck()) $("#seekToDuration").css("top", $("#controls").position().top - 55);
|
||||||
|
else if(Helper.mobilecheck()) $("#seekToDuration").css("top", $("#controls").position().top - 20);
|
||||||
|
if(!$("#controls").hasClass("ewresize")) $("#controls").addClass("ewresize");
|
||||||
|
} else {
|
||||||
|
$("#controls").off("mouseenter");
|
||||||
|
$("#controls").off("mouseleave");
|
||||||
|
$("#controls").off("mousemove");
|
||||||
|
$("#controls").off("click");
|
||||||
|
}
|
||||||
|
if(full_playlist != undefined && !already_offline){
|
||||||
|
for(var x = 0; x < full_playlist.length; x++){
|
||||||
|
full_playlist[x].votes = 0;
|
||||||
|
}
|
||||||
|
List.sortList();
|
||||||
|
List.populate_list(full_playlist);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if(list_html){
|
||||||
|
list_html = $("<div>" + list_html + "</div>");
|
||||||
|
list_html = list_html.html();
|
||||||
|
}
|
||||||
|
$(".margin-playbar").removeClass("margin-playbar");
|
||||||
|
$("#playpause").addClass("margin-playbar");
|
||||||
|
$("#viewers").removeClass("hide");
|
||||||
|
$(".prev.playbar").addClass("hide");
|
||||||
|
$("#offline-mode").addClass("waves-cyan");
|
||||||
|
$("#offline-mode").removeClass("cyan");
|
||||||
|
if(!Helper.mobilecheck()) {
|
||||||
|
$("#offline-mode").tooltip({
|
||||||
|
delay: 5,
|
||||||
|
position: "bottom",
|
||||||
|
tooltip: "Enable local mode"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
$("#controls").off("mouseleave");
|
||||||
|
$("#controls").off("mouseenter");
|
||||||
|
$("#controls").off("mousedown");
|
||||||
|
$("#controls").off("mouseup");
|
||||||
|
$("#controls").off("mousemove", Channel.seekToMove);
|
||||||
|
$("#controls").off("click", Channel.seekToClick);
|
||||||
|
$("#seekToDuration").remove();
|
||||||
|
if(window.location.pathname != "/"){
|
||||||
|
socket.emit("pos", {channel: chan.toLowerCase(), pass: embed ? '' : Crypt.crypt_pass(Crypt.get_userpass(chan.toLowerCase()))});
|
||||||
|
var add = "";
|
||||||
|
if(private_channel) add = Crypt.getCookie("_uI") + "_";
|
||||||
|
socket.emit("list", {version: parseInt(localStorage.getItem("VERSION")), channel: add + chan.toLowerCase(), pass: embed ? '' : Crypt.crypt_pass(Crypt.get_userpass(chan.toLowerCase()))});
|
||||||
|
if($("#controls").hasClass("ewresize")) $("#controls").removeClass("ewresize");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function before_toast(){
|
||||||
|
if($('.toast').length > 0) {
|
||||||
|
var toastElement = $('.toast').first()[0];
|
||||||
|
var toastInstance = toastElement.M_Toast;
|
||||||
|
toastInstance.remove();
|
||||||
|
}
|
||||||
|
//Materialize.Toast.removeAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
function scrollChat() {
|
||||||
|
var current = $(".chat-tab.active").attr("href");
|
||||||
|
if(current == "#channelchat") {
|
||||||
|
$('#chatchannel').scrollTop($('#chatchannel')[0].scrollHeight);
|
||||||
|
} else if(current == "#all_chat") {
|
||||||
|
$('#chatall').scrollTop($('#chatall')[0].scrollHeight);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function searchTimeout(event) {
|
||||||
|
search_input = $(".search_input").val();
|
||||||
|
|
||||||
|
code = event.keyCode || event.which;
|
||||||
|
|
||||||
|
if (code != 40 && code != 38 && code != 13 && code != 39 && code != 37 && code != 17 && code != 16 && code != 225 && code != 18 && code != 27) {
|
||||||
|
clearTimeout(timeout_search);
|
||||||
|
if(search_input.length < 3){
|
||||||
|
$("#results").html("");
|
||||||
|
if(search_input.length == 0) {
|
||||||
|
$("body").attr("style", "overflow-y: auto");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(code == 13){
|
||||||
|
Search.search(search_input);
|
||||||
|
}else{
|
||||||
|
timeout_search = setTimeout(function(){
|
||||||
|
Search.search(search_input);
|
||||||
|
}, 1000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -10,6 +10,15 @@ var Helper = {
|
|||||||
return arr[Math.floor(Math.random() * arr.length)];
|
return arr[Math.floor(Math.random() * arr.length)];
|
||||||
},
|
},
|
||||||
|
|
||||||
|
randomString: function(length){
|
||||||
|
var text = "";
|
||||||
|
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_";
|
||||||
|
for(var i = 0; i < length; i++) {
|
||||||
|
text += possible.charAt(Math.floor(Math.random() * possible.length));
|
||||||
|
}
|
||||||
|
return text;
|
||||||
|
},
|
||||||
|
|
||||||
mobilecheck: function() {
|
mobilecheck: function() {
|
||||||
var isMobile = false; //initiate as false
|
var isMobile = false; //initiate as false
|
||||||
// device detection
|
// device detection
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -331,7 +331,7 @@ var Search = {
|
|||||||
{
|
{
|
||||||
if(response.error){
|
if(response.error){
|
||||||
if(response.error.errors[0].reason == "playlistItemsNotAccessible"){
|
if(response.error.errors[0].reason == "playlistItemsNotAccessible"){
|
||||||
var nonce = randomString(29);
|
var nonce = Helper.randomString(29);
|
||||||
window.callback = function(data) {
|
window.callback = function(data) {
|
||||||
access_token_data_youtube = data;
|
access_token_data_youtube = data;
|
||||||
if(access_token_data_youtube.state == nonce){
|
if(access_token_data_youtube.state == nonce){
|
||||||
|
|||||||
Reference in New Issue
Block a user