Removed token.min.js from github, fixed issue with embedded player playing even when not supposed to, and fixed faulty error-message when applying to get a token

This commit is contained in:
Kasper Rynning-Tønnesen
2018-03-04 12:10:48 +01:00
parent 99f737d0b3
commit 786a6e0b5a
8 changed files with 65 additions and 23 deletions

1
.gitignore vendored
View File

@@ -6,6 +6,7 @@ server/config/cert_config.js
server/config/recaptcha.js server/config/recaptcha.js
server/config/analytics.js server/config/analytics.js
server/public/assets/dist/callback.min.js server/public/assets/dist/callback.min.js
server/public/assets/dist/token.min.js
server/public/assets/dist/embed.min.js server/public/assets/dist/embed.min.js
server/public/assets/dist/main.min.js server/public/assets/dist/main.min.js
server/public/assets/dist/remote.min.js server/public/assets/dist/remote.min.js

View File

@@ -36,8 +36,9 @@ $(document).on("click", "#refresh_all", function(e){
to_add.find(".api_token_name").text(response[i].name); to_add.find(".api_token_name").text(response[i].name);
to_add.find(".api_token_usage").text(response[i].usage); to_add.find(".api_token_usage").text(response[i].usage);
to_add.find(".api_token_limit").attr("id", response[i]._id + "-limit"); to_add.find(".api_token_limit").attr("id", response[i]._id + "-limit");
to_add.find("#delete_api_token").attr("data-id", response[i]._id); to_add.find(".delete_api_token").attr("id", response[i]._id + "-delete");
to_add.find("#update_api_token").attr("data-id", response[i]._id); to_add.find(".delete_api_token").attr("data-id", response[i]._id);
to_add.find(".update_api_token").attr("data-id", response[i]._id);
$(".channel_things").append(to_add); $(".channel_things").append(to_add);
} }
}, },
@@ -120,14 +121,14 @@ if(!$(".channel_things").hasClass("hide")) {
} }
$(".preloader-wrapper").removeClass("hide"); $(".preloader-wrapper").removeClass("hide");
$(document).on("click", "#update_api_token", function(e) { $(document).on("click", ".update_api_token", function(e) {
e.preventDefault(); e.preventDefault();
var id = $(this).attr("data-id"); var id = $(this).attr("data-id");
var limit = $("#" + id + "-limit").val(); var limit = $("#" + id + "-limit").val();
var that = this; var that = this;
$(that).toggleClass("disabled"); $(that).toggleClass("disabled");
$("#delete_api_token").toggleClass("disabled"); $("#" + id + "-delete").toggleClass("disabled");
$.ajax({ $.ajax({
type: "PUT", type: "PUT",
url: "api/api_token", url: "api/api_token",
@@ -142,17 +143,17 @@ $(document).on("click", "#update_api_token", function(e) {
Materialize.toast("Something went wrong...", 2000, "red lighten"); Materialize.toast("Something went wrong...", 2000, "red lighten");
} }
$(that).toggleClass("disabled"); $(that).toggleClass("disabled");
$("#delete_api_token").toggleClass("disabled"); $("#" + id + "-delete").toggleClass("disabled");
} }
}); });
}); });
$(document).on("click", "#delete_api_token", function(e) { $(document).on("click", ".delete_api_token", function(e) {
e.preventDefault(); e.preventDefault();
var id = $(this).attr("data-id"); var id = $(this).attr("data-id");
var that = this; var that = this;
$(that).toggleClass("disabled"); $(that).toggleClass("disabled");
$("#update_api_token").toggleClass("disabled"); $("#" + id + "-limit").toggleClass("disabled");
$.ajax({ $.ajax({
type: "DELETE", type: "DELETE",
url: "api/api_token", url: "api/api_token",
@@ -166,7 +167,7 @@ $(document).on("click", "#delete_api_token", function(e) {
} else { } else {
Materialize.toast("Something went wrong...", 2000, "red lighten"); Materialize.toast("Something went wrong...", 2000, "red lighten");
$(that).toggleClass("disabled"); $(that).toggleClass("disabled");
$("#update_api_token").toggleClass("disabled"); $("#" + id + "-limit").toggleClass("disabled");
} }
}, },
}) })
@@ -191,8 +192,9 @@ function loaded() {
to_add.find(".api_token_name").text(response[i].name); to_add.find(".api_token_name").text(response[i].name);
to_add.find(".api_token_usage").text(response[i].usage); to_add.find(".api_token_usage").text(response[i].usage);
to_add.find(".api_token_limit").attr("id", response[i]._id + "-limit"); to_add.find(".api_token_limit").attr("id", response[i]._id + "-limit");
to_add.find("#delete_api_token").attr("data-id", response[i]._id); to_add.find(".delete_api_token").attr("id", response[i]._id + "-delete");
to_add.find("#update_api_token").attr("data-id", response[i]._id); to_add.find(".delete_api_token").attr("data-id", response[i]._id);
to_add.find(".update_api_token").attr("data-id", response[i]._id);
$(".channel_things").append(to_add); $(".channel_things").append(to_add);
} }
}, },

View File

@@ -1 +0,0 @@
!function(){$(document).ready(function(){$("#about").modal(),$(".help-button-footer").hide(),$("#contact").modal(),$("#contact-container").empty(),$("#contact-container").html("Send a mail to us: <a title='Open in client' href='mailto:contact@zoff.me?Subject=Contact%20Zoff'>contact@zoff.me</a>"),$("#submit-contact-form").hide(),$(".token-form").on("submit",function(e){e.preventDefault();var t=$("#email_address").val();$("#email_address").attr("readonly",!0),$(".submit").toggleClass("disabled"),$(".full-form-token").removeClass("hide");var a=grecaptcha.getResponse();$.ajax({type:"POST",url:"/api/apply",data:{email:t,"g-recaptcha-response":a},success:function(e){$(".full-form-token").addClass("hide"),"OK"!=e?($("#email_address").attr("readonly",!0),$(".submit").toggleClass("disabled"),Materialize.toast("Couldn't send email.",3e3,"red lighten")):(Materialize.toast("Email sent!",3e3,"green lighten"),grecaptcha.reset())},error:function(e){$(".full-form-token").addClass("hide"),$("#email_address").attr("readonly",!1),$(".submit").toggleClass("disabled")}})}),$("#submit-contact-form").on("click",function(e){e.preventDefault(),$("#contact-form").submit()})});Element.prototype.remove=function(){this.parentElement.removeChild(this)},NodeList.prototype.remove=HTMLCollection.prototype.remove=function(){for(var e=0,t=this.length;e<t;e++)this[e]&&this[e].parentElement&&this[e].parentElement.removeChild(this[e])},String.prototype.startsWith=function(e,t){return t=t||0,this.indexOf(e,t)===t}}();

View File

@@ -3,6 +3,7 @@ var timed_remove_check;
var gotten_np = false; var gotten_np = false;
var song_title = ""; var song_title = "";
var paused = false; var paused = false;
var startTime = 0;
var player_ready = false; var player_ready = false;
var list_html = $("#list-song-html").html(); var list_html = $("#list-song-html").html();
var w_p = true; var w_p = true;
@@ -69,6 +70,7 @@ $(document).ready(function() {
autoplay = true; autoplay = true;
} else { } else {
paused = true; paused = true;
} }
if(hash.indexOf("videoonly") > -1) { if(hash.indexOf("videoonly") > -1) {

View File

@@ -12,6 +12,42 @@ var Player = {
Helper.log(["object", obj]); Helper.log(["object", obj]);
var state; var state;
fix_too_far = false; fix_too_far = false;
if(embed && !autoplay && obj && obj.np.length > 0) {
if(Object.keys(obj).length == 0) {
paused = false;
empty_clear = true;
} else {
empty_clear = false;
}
Player.getTitle(obj.np[0].title, viewers);
//Player.setBGimage(video_id);
if(!Helper.mobilecheck()) {
Player.notifyUser(obj.np[0].id, obj.np[0].title);
}
video_id = obj.np[0].id;
Player.np = {
id: video_id,
start: obj.np[0].start,
end: obj.np[0].end,
duration: obj.np[0].duration,
};
if(!obj.np[0].hasOwnProperty("start")) {
Player.np.start = 0;
}
if(!obj.np[0].hasOwnProperty("end")) {
Player.np.end = Player.np.duration;
}
conf = obj.conf[0];
time = obj.time;
seekTo = (time - conf.startTime) + Player.np.start;
startTime = time - conf.startTime;
song_title = obj.np[0].title;
duration = obj.np[0].duration;
Player.loadVideoById(video_id, duration);
Player.stopVideo();
return;
}
if(embed && obj.np) { if(embed && obj.np) {
if(window.parentWindow && window.parentOrigin) { if(window.parentWindow && window.parentOrigin) {
window.parentWindow.postMessage({type: "np", title: obj.np[0].title}, window.parentOrigin); window.parentWindow.postMessage({type: "np", title: obj.np[0].title}, window.parentOrigin);
@@ -64,7 +100,6 @@ var Player = {
} }
//List.importOldList(channel.toLowerCase()); //List.importOldList(channel.toLowerCase());
} else if(paused){ } else if(paused){
Player.getTitle(obj.np[0].title, viewers); Player.getTitle(obj.np[0].title, viewers);
//Player.setBGimage(video_id); //Player.setBGimage(video_id);
if(!Helper.mobilecheck()) { if(!Helper.mobilecheck()) {
@@ -162,7 +197,7 @@ var Player = {
} }
} }
if(!paused){ if(!paused){
if((!mobile_beginning || chromecastAvailable) && prev_state != 2) { if(((!mobile_beginning || chromecastAvailable) && prev_state != 2) && autoplay) {
Player.playVideo(); Player.playVideo();
} }
if(!durationBegun) { if(!durationBegun) {
@@ -189,6 +224,9 @@ var Player = {
} }
} }
} else { } else {
if(!autoplay) {
Player.stopVideo();
}
Player.getTitle(song_title, viewers); Player.getTitle(song_title, viewers);
} }
} }
@@ -213,7 +251,7 @@ var Player = {
"New state\nState: ", "New state\nState: ",
newState newState
]); ]);
if(player.getCurrentTime() > startTime + Player.np.start && !fix_too_far && autoplay) { if(Player.player && Player.player.getCurrentTime() > startTime + Player.np.start && !fix_too_far && autoplay) {
Player.seekTo(seekTo); Player.seekTo(seekTo);
Player.playVideo(); Player.playVideo();
fix_too_far = true; fix_too_far = true;
@@ -237,6 +275,7 @@ var Player = {
} }
break; break;
case YT.PlayerState.PLAYING: case YT.PlayerState.PLAYING:
if(embed && !autoplay) autoplay = true;
if(!window.MSStream) { if(!window.MSStream) {
$("#player").css("opacity", "1"); $("#player").css("opacity", "1");
if(!Helper.mobilecheck()) { if(!Helper.mobilecheck()) {
@@ -350,7 +389,7 @@ var Player = {
chrome.cast.media.GenericMediaMetadata({metadataType: 0, title:song_title, image: 'https://img.youtube.com/vi/'+id+'/mqdefault.jpg', images: ['https://img.youtube.com/vi/'+id+'/mqdefault.jpg']}); chrome.cast.media.GenericMediaMetadata({metadataType: 0, title:song_title, image: 'https://img.youtube.com/vi/'+id+'/mqdefault.jpg', images: ['https://img.youtube.com/vi/'+id+'/mqdefault.jpg']});
chrome.cast.Image('https://img.youtube.com/vi/'+id+'/mqdefault.jpg'); chrome.cast.Image('https://img.youtube.com/vi/'+id+'/mqdefault.jpg');
} else { } else {
window.player = Player.player; //window.player = Player.player;
Player.player.loadVideoById({'videoId': id, 'startSeconds': s, 'endSeconds': e}); Player.player.loadVideoById({'videoId': id, 'startSeconds': s, 'endSeconds': e});
} }
if(offline) { if(offline) {

View File

@@ -23,13 +23,12 @@ $(document).ready(function() {
}, },
success: function(response) { success: function(response) {
$(".full-form-token").addClass("hide"); $(".full-form-token").addClass("hide");
if(response != "OK") { if(response == "success") {
Materialize.toast("Email sent!", 3000, "green lighten");
} else {
$("#email_address").attr("readonly", true); $("#email_address").attr("readonly", true);
$(".submit").toggleClass("disabled"); $(".submit").toggleClass("disabled");
Materialize.toast("Couldn't send email.", 3000, "red lighten"); Materialize.toast("Something went wrong. Sure that email hasn't been used for another token?", 3000, "red lighten");
} else {
Materialize.toast("Email sent!", 3000, "green lighten");
grecaptcha.reset();
} }
}, },
error: function(response) { error: function(response) {

View File

@@ -127,8 +127,8 @@
<div class="col s3 api_token_usage"> <div class="col s3 api_token_usage">
</div> </div>
<input class="api_token_limit col s1" type="number" /> <input class="api_token_limit col s1" type="number" />
<a href="#" id="update_api_token" class="btn waves-effect green col s2">UPDATE</a> <a href="#" class="btn waves-effect green col s2 update_api_token">UPDATE</a>
<a href="#" id="delete_api_token" class="btn waves-effect red col s1">X</a> <a href="#" class="btn waves-effect red col s1 delete_api_token">X</a>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -50,7 +50,7 @@
<div class="row center"> <div class="row center">
<div class="input-field col s6 offset-s3"> <div class="input-field col s6 offset-s3">
<label for="email_address" class="noselect">Email</label> <label for="email_address" class="noselect">Email</label>
<input type="email" class="validate" id="email_address" /> <input type="email" autocomplete="off" class="validate" id="email_address" />
</div> </div>
</div> </div>
<div class="col offset-s3"> <div class="col offset-s3">