mirror of
https://github.com/KevinMidboe/zoff.git
synced 2025-10-29 18:00:23 +00:00
107 lines
4.4 KiB
JavaScript
Executable File
107 lines
4.4 KiB
JavaScript
Executable File
var Suggestions = {
|
|
|
|
catchUserSuggests: function(params, single){
|
|
if(single) {
|
|
number_suggested = number_suggested + 1;
|
|
} else {
|
|
number_suggested = number_suggested + params.length;
|
|
}
|
|
for(var i = 0; i < params.length; i++) {
|
|
if(document.querySelectorAll("#suggested-" + params[i].id).length > 0) {
|
|
number_suggested -= 1;
|
|
}
|
|
}
|
|
var to_display = number_suggested > 9 ? "9+" : number_suggested;
|
|
if(number_suggested > 0 && Admin.logged_in){
|
|
Helper.removeClass(document.querySelector(".suggested-link span.badge.new.white"), "hide");
|
|
}
|
|
document.querySelector(".suggested-link span.badge.new.white").innerText = to_display;
|
|
if(single){
|
|
Suggestions.createSuggested(params);
|
|
}else{
|
|
for(var x in params){
|
|
Suggestions.createSuggested(params[x]);
|
|
}
|
|
}
|
|
Suggestions.checkUserEmpty();
|
|
},
|
|
|
|
createSuggested: function(params){
|
|
var duration = Helper.secondsToOther(params.duration);
|
|
var video_id = params.id;
|
|
var video_title = params.title;
|
|
var toSend = {id: video_id, title: video_title, length: params.duration, duration: duration};
|
|
if(params.source) toSend.source = params.source;
|
|
if(params.thumbnail) toSend.thumbnail = params.thumbnail;
|
|
var song = List.generateSong(toSend, false, false, false, true);
|
|
var testingElem;
|
|
try {
|
|
testingElem = document.getElementById(video_id);
|
|
} catch(e) {}
|
|
|
|
if(!testingElem && document.querySelectorAll("#suggested-" + video_id).length == 0) {
|
|
document.getElementById("user-suggest-html").insertAdjacentHTML("beforeend", song);
|
|
}
|
|
},
|
|
|
|
fetchYoutubeSuggests: function(id){
|
|
if(videoSource == "soundcloud") {
|
|
Helper.addClass(document.querySelector(".suggest-title-info"), "hide");
|
|
Helper.addClass("#suggest-song-html", "hide");
|
|
return;
|
|
} else {
|
|
Helper.removeClass(document.querySelector(".suggest-title-info"), "hide");
|
|
Helper.removeClass("#suggest-song-html", "hide");
|
|
}
|
|
var get_url = "https://www.googleapis.com/youtube/v3/search?part=snippet&relatedToVideoId="+id+"&type=video&key="+api_key.youtube;
|
|
var video_urls = "https://www.googleapis.com/youtube/v3/videos?part=contentDetails,snippet,id&key="+api_key.youtube+"&id=";
|
|
|
|
Helper.ajax({
|
|
type: "GET",
|
|
url: get_url,
|
|
dataType:"jsonp",
|
|
success: function(response)
|
|
{
|
|
response = JSON.parse(response);
|
|
var this_resp = response.items.slice(0,5);
|
|
for(var i = 0; i < this_resp.length; i++) {
|
|
var data = this_resp[i];
|
|
video_urls += data.id.videoId+",";
|
|
}
|
|
|
|
Helper.ajax({
|
|
type: "GET",
|
|
url: video_urls,
|
|
dataType: "jsonp",
|
|
success: function(response)
|
|
{
|
|
response = JSON.parse(response);
|
|
Helper.setHtml("#suggest-song-html", "");
|
|
for(var i = 0; i < response.items.length; i++) {
|
|
var song = response.items[i];
|
|
var duration = song.contentDetails.duration;
|
|
var length = Search.durationToSeconds(duration);
|
|
duration = Helper.secondsToOther(Search.durationToSeconds(duration));
|
|
var video_id = song.id;
|
|
var video_title = song.snippet.title;
|
|
|
|
try {
|
|
document.getElementById("suggest-song-html").insertAdjacentHTML("beforeend", List.generateSong({id: video_id, title: video_title, length: length, duration: duration}, false, false, false));
|
|
} catch(e) {}
|
|
}
|
|
}
|
|
});
|
|
}
|
|
});
|
|
},
|
|
|
|
checkUserEmpty: function(){
|
|
var length = document.getElementById("user-suggest-html").children.length;
|
|
if(length === 0){
|
|
Helper.addClass("#user_suggests", "hide");
|
|
} else if(Admin.logged_in){
|
|
Helper.removeClass("#user_suggests", "hide");
|
|
}
|
|
},
|
|
};
|