Files
danbooru/app/assets/javascripts/favorites.js
Moebius-Strip 5643db6d2c Simplify favorites link JS
Make use of the "is favorited" data to determine if the post is favorited instead of relying on the entire list of favorites.
2018-05-06 09:45:55 -04:00

62 lines
1.5 KiB
JavaScript

(function() {
Danbooru.Favorite = {};
Danbooru.Favorite.initialize_all = function() {
if ($("#c-posts").length) {
this.hide_or_show_add_to_favorites_link();
}
}
Danbooru.Favorite.hide_or_show_add_to_favorites_link = function() {
var current_user_id = Danbooru.meta("current-user-id");
if (current_user_id == "") {
$("#add-to-favorites").hide();
$("#remove-from-favorites").hide();
$("#add-fav-button").hide();
$("#remove-fav-button").hide();
return;
}
if ($("#image-container").length && $("#image-container").data("is-favorited") == true) {
$("#add-to-favorites").hide();
$("#add-fav-button").hide();
} else {
$("#remove-from-favorites").hide();
$("#remove-fav-button").hide();
}
}
Danbooru.Favorite.create = function(post_id) {
Danbooru.Post.notice_update("inc");
$.ajax({
type: "POST",
url: "/favorites",
data: {
post_id: post_id
},
complete: function() {
Danbooru.Post.notice_update("dec");
},
error: function(data, status, xhr) {
Danbooru.notice("Error: " + data.reason);
}
});
}
Danbooru.Favorite.destroy = function(post_id) {
Danbooru.Post.notice_update("inc");
$.ajax({
type: "DELETE",
url: "/favorites/" + post_id,
complete: function() {
Danbooru.Post.notice_update("dec");
}
});
}
})();
$(document).ready(function() {
Danbooru.Favorite.initialize_all();
});