// ==UserScript==
// @name pixivEasyBookmark
// @namespace http://myskng.xyz/
// @version 0.1.3
// @description モバイル版みたいにすぐにブックマークできるようにするやつ
// @author myskng
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js
// @require https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/js/toastr.min.js
// @resource toastr https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/css/toastr.min.css
// @match *://www.pixiv.net/member_illust.php*
// @grant GM_getResourceText
// @grant GM_addStyle
// @downloadURL https://update.greasyfork.icu/scripts/26625/pixivEasyBookmark.user.js
// @updateURL https://update.greasyfork.icu/scripts/26625/pixivEasyBookmark.meta.js
// ==/UserScript==
var pixiv_bookmark;
(function (pixiv_bookmark) {
var scraper;
(function (scraper) {
function findIDFromIllustID(illustid, callback) {
//search for max 100pages
var doajax = function (pageid) {
var counter = pageid;
$.ajax({
type: "GET",
url: "//www.pixiv.net/bookmark.php?rest=show&p=" + pageid,
success: function (data) {
var retflag = false;
$(data).find(".image-item").each(function (index, val) {
if ($(this).find("img")[0].getAttribute("data-id") == illustid) {
//item found
callback($(this).find("input")[0].getAttribute("value"));
retflag = true;
}
});
//if not found
counter++;
if (counter > 100 || retflag)
return;
doajax(counter); //call myself
}
});
};
doajax(1);
}
scraper.findIDFromIllustID = findIDFromIllustID;
})(scraper = pixiv_bookmark.scraper || (pixiv_bookmark.scraper = {}));
})(pixiv_bookmark || (pixiv_bookmark = {}));
///
var pixiv_bookmark;
///
(function (pixiv_bookmark) {
function main() {
var style = GM_getResourceText('toastr');
GM_addStyle(style);
$(".bookmark-container").append("\n \n \u5373\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u3059\u308B\n ");
$(".bookmark-container").append("\n \n \u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u3092\u5916\u3059\n ");
($(".edit-bookmark").length == 0) ? $("#us_bookmark").show() : $("#us_unbookmark").show();
$('#us_bookmark').on('click', function () { return onBookmarkClick(); });
$('#us_unbookmark').on('click', function () { return onUnBookmarkClick(); });
}
pixiv_bookmark.main = main;
function onBookmarkClick() {
$.ajax({
type: "POST",
url: "//www.pixiv.net/bookmark_add.php?id=" + pixiv.context.illustId,
data: {
"mode": "add",
"tt": pixiv.context.token,
"id": pixiv.context.illustId,
"type": "illust",
"from_sid": "",
"comment": "",
"tag": "",
"restrict": "0"
},
success: function (j_data) {
toastr["success"]("ブックマークに追加しました");
$('#us_bookmark').hide();
$('#us_unbookmark').show();
}
});
}
function onUnBookmarkClick() {
//find id
pixiv_bookmark.scraper.findIDFromIllustID(pixiv.context.illustId, function (contextid) {
$.ajax({
type: "POST",
url: "//www.pixiv.net/bookmark_setting.php",
data: {
"type": "",
"tt": pixiv.context.token,
"tag": "",
"untagged": "0",
"rest": "show",
"p": "1",
"book_id[]": contextid,
"add_tag": "",
"del": "ブックマーク解除"
},
success: function (j_data) {
toastr.success("ブックマークを解除しました");
$('#us_bookmark').show();
$('#us_unbookmark').hide();
},
error: function () {
toastr.warning("(多分)ブックマークを解除しました");
$('#us_bookmark').show();
$('#us_unbookmark').hide();
}
});
});
}
})(pixiv_bookmark || (pixiv_bookmark = {}));
///
pixiv_bookmark.main();
//# sourceMappingURL=pixiv_bookmark.user.js.map