diff --git a/server/public/assets/css/style.css b/server/public/assets/css/style.css index 694296b8..3848d538 100755 --- a/server/public/assets/css/style.css +++ b/server/public/assets/css/style.css @@ -2176,11 +2176,15 @@ nav ul li:hover, nav ul li.active { min-height: calc(100vh - 64px - 64px - 87px); } -#wrapper.tabs_height{ +#wrapper.tabs_height, #suggestions.tabs_height{ height:calc(100vh - 48px - 64px - 32px); overflow:auto; } +#wrapper.tabs_height{ + overflow:hidden; +} + .client-wrapper { height: calc(100vh - 48px - 64px) !important; } diff --git a/server/public/assets/js/functions.js b/server/public/assets/js/functions.js index 73678823..bd63b647 100644 --- a/server/public/assets/js/functions.js +++ b/server/public/assets/js/functions.js @@ -797,16 +797,20 @@ function resizePlaylistPlaying(playing) { document.querySelector("#all_chat").style.height = ""; document.querySelector("#chat-container").style.height = ""; } + var page = List.page; + var canFit = List.can_fit; Helper.css("#wrapper", "height", window.innerHeight - 246 - subtract + "px"); var temp_fit = Math.round(Helper.computedStyle("#wrapper", "height") / 71)+1; if(temp_fit > List.can_fit || temp_fit < List.can_fit){ List.dynamicContentPage(-10); } if(List.can_fit < temp_fit){ + Helper.css(document.querySelector("#wrapper").children, "display", "none"); for(var i = 0; i < List.page + temp_fit; i++) { Helper.css(document.querySelector("#wrapper").children[i], "display", "inline-flex"); } } else if(List.can_fit > temp_fit){ + //Helper.css(document.querySelector("#wrapper").children, "display", "none"); Helper.css(document.querySelector("#wrapper").children[List.page + temp_fit], "display", "none"); var elements = document.querySelector("#wrapper").children; for(var i = List.page + temp_fit; i < elements.length; i++) { @@ -817,6 +821,7 @@ function resizePlaylistPlaying(playing) { List.element_height = (Helper.computedStyle("#wrapper", "height") / List.can_fit)-5.3; Helper.css(".list-song", "height", List.element_height + "px"); Channel.set_title_width(); + List.dynamicContentPageJumpTo(page / canFit); if(!client) { var controlsPosition = document.querySelector("#controls").offsetHeight - Helper.computedStyle("#controls", "height"); if(document.querySelectorAll("#controls").length > 0 && !Helper.mobilecheck()) { diff --git a/server/public/assets/js/listeners.js b/server/public/assets/js/listeners.js index 76c7688e..18cf894a 100755 --- a/server/public/assets/js/listeners.js +++ b/server/public/assets/js/listeners.js @@ -157,17 +157,20 @@ if(!Helper.mobilecheck() && (window.location.host != "localhost" && window.locat if(e == "Script error." || e.toString().indexOf(" ReferenceError: pagespeed is not defined") > -1) return true; Helper.logs.unshift({log: e.toString().replace(/(\r\n|\n|\r)/gm,""), date: new Date(), lineno: lineno, colno: colno, source:source}); Helper.logs.unshift({log: chan != "" && chan != undefined ? chan.toLowerCase() : "frontpage", date: new Date()}); - document.querySelector(".contact-form-content").remove(); - document.querySelector("#submit-contact-form").remove(); - document.querySelector(".contact-modal-header").innerText = "An error occurred"; - document.querySelector(".contact-container-info").remove(); - document.querySelector(".contact-modal-footer").insertAdjacentHTML("beforeend", 'Send'); - document.querySelector("#contact-form").setAttribute("id", "error-report-form"); - document.querySelector("#contact-container").insertAdjacentHTML("afterbegin", '

Do you want to send an error-report?

\ -

\ -
\ - \ -
'); + + try { + document.querySelector(".contact-form-content").remove(); + document.querySelector("#submit-contact-form").remove(); + document.querySelector(".contact-modal-header").innerText = "An error occurred"; + document.querySelector(".contact-container-info").remove(); + document.querySelector(".contact-modal-footer").insertAdjacentHTML("beforeend", 'Send'); + document.querySelector("#contact-form").setAttribute("id", "error-report-form"); + document.querySelector("#contact-container").insertAdjacentHTML("afterbegin", '

Do you want to send an error-report?

\ +

\ +
\ + \ +
'); + } catch(e){} M.Modal.init(document.getElementById("contact")); M.Modal.getInstance(document.getElementById("contact")).open(); var cache = []; @@ -1303,8 +1306,14 @@ window.addEventListener("resize", function(){ document.querySelector("#all_chat").style.height = ""; document.querySelector("#chat-container").style.height = ""; } else if(window.innerWidth < 601) { - resizePlaylistPlaying(Player.player.getPlayerState() == YT.PlayerState.PLAYING || Player.soundcloud_player.isPlaying()); - return; + if(!client && !embed) { + var scPlaying = false; + try { + scPlaying = Player.soundcloud_player.isPlaying(); + } catch(e){} + resizePlaylistPlaying(Player.player.getPlayerState() == YT.PlayerState.PLAYING || scPlaying || Player.player.getPlayerState() == YT.PlayerState.BUFFERING); + return; + } } var temp_fit = Math.round(Helper.computedStyle("#wrapper", "height") / 71)+1; if(temp_fit > List.can_fit || temp_fit < List.can_fit){ @@ -1372,8 +1381,10 @@ addListener("click", ".result-object", function(e){ addListener("click", ".result-get-more-info", function(event) { this.preventDefault(); - var that = this; + var that = this.target; var parent = that.parentElement.parentElement.parentElement.parentElement; + if(that.tagName == "I") parent = parent.parentElement; + var videoId = parent.getAttribute("data-video-id"); var to_toggle = document.getElementById("inner-results").querySelectorAll("[data-video-id='" + videoId + "']")[0]; to_toggle = to_toggle.children[0]; @@ -1403,15 +1414,50 @@ addListener("submit", '#contact-form', function(event){ addListener("click", ".send-error-modal", function(event) { this.preventDefault(); - document.getElementById("error-report-form").submit(); + var captcha_response = grecaptcha.getResponse(); + + Helper.removeClass("#send-loader", "hide"); + Helper.ajax({ + type: "POST", + headers: { + "Content-Type": "application/json" + }, + data: { + from: "no-reply@zoff.me", + message: Helper.html("#error-report-code"), + "g-recaptcha-response": captcha_response, + }, + url: "/api/mail", + success: function(data){ + if(data == "success"){ + Helper.removeElement(".send-error-modal"); + Helper.removeElement("#error-report-form"); + Helper.removeElement(".error-code-container"); + Helper.setHtml(".error-report-success", "Error report sent!"); + Helper.setHtml("#contact-container", "Mail has been sent, we'll be back with you shortly."); + window.location.reload(true); + }else{ + Helper.setHtml(".error-report-success", "Mail was not sent, try again"); + } + Helper.addClass("#send-loader", "hide"); + } + }); + return false; + //document.getElementById("error-report-form").submit(); }) addListener("submit", "#error-report-form", function(event) { this.preventDefault(); + //event.preventDefault(); + var captcha_response = grecaptcha.getResponse(); + Helper.removeClass("#send-loader", "hide"); Helper.ajax({ type: "POST", + headers: { + "Content-Type": "application/json" + }, data: { from: "no-reply@zoff.me", message: Helper.html("#error-report-code"), diff --git a/server/public/assets/js/player.js b/server/public/assets/js/player.js index d28ffd75..cfc9cd8c 100755 --- a/server/public/assets/js/player.js +++ b/server/public/assets/js/player.js @@ -630,7 +630,11 @@ var Player = { } else { was_stopped = true; if(!embed && !client && window.location.pathname != "/") { - resizePlaylistPlaying(false); + var scPlaying = false; + try { + scPlaying = Player.soundcloud_player.isPlaying(); + } catch(e){} + resizePlaylistPlaying(Player.player.getPlayerState() == YT.PlayerState.PLAYING || scPlaying || Player.player.getPlayerState() == YT.PlayerState.BUFFERING); } if(!chromecastAvailable){ if(Helper.mobilecheck()) { @@ -672,7 +676,11 @@ var Player = { //} } if(!embed && !client && window.location.pathname != "/") { - resizePlaylistPlaying(true); + var scPlaying = false; + try { + scPlaying = Player.soundcloud_player.isPlaying(); + } catch(e){} + resizePlaylistPlaying(Player.player.getPlayerState() == YT.PlayerState.PLAYING || scPlaying || Player.player.getPlayerState() == YT.PlayerState.BUFFERING); } Helper.css("#playpause", "visibility", "visible");