diff --git a/app/js/post/status.js b/app/js/post/status.js index 73aa5548..a0739354 100644 --- a/app/js/post/status.js +++ b/app/js/post/status.js @@ -1,537 +1,539 @@ //お気に入り登録やブースト等、フォローやブロック等 //お気に入り登録 function fav(id, acct_id, remote) { - if ($("#pub_" + id).hasClass("faved")) { - var flag = "unfavourite"; - } else { - var flag = "favourite"; - } - var domain = localStorage.getItem("domain_" + acct_id); - var at = localStorage.getItem("acct_" + acct_id + "_at"); - var start = "https://" + domain + "/api/v1/statuses/" + id + "/" + flag; - var httpreq = new XMLHttpRequest(); - httpreq.open('POST', start, true); - httpreq.setRequestHeader('Content-Type', 'application/json'); - httpreq.setRequestHeader('Authorization', 'Bearer ' + at); - httpreq.responseType = "json"; - httpreq.send(); - httpreq.onreadystatechange = function () { - if (httpreq.readyState === 4) { - var json = httpreq.response; - if(json.reblog){ - json = json.reblog - } - if (remote != "remote") { - //APIのふぁぼカウントがおかしい - if ($("[toot-id=" + id + "] .fav_ct").text() == json.favourites_count) { - if (flag == "unfavourite") { - var fav = json.favourites_count - 1; - if ( fav * 1 < 0){ fav = 0} - } else { - var fav = json.favourites_count; - //var fav = json.favourites_count; - } - } else { - var fav = json.favourites_count; - } - $("[toot-id=" + id + "] .fav_ct").text(fav); - $("[toot-id=" + id + "] .rt_ct").text(json.reblogs_count); - if ($("[toot-id=" + id + "]").hasClass("faved")) { - $("[toot-id=" + id + "]").removeClass("faved"); - $(".fav_" + id).removeClass("yellow-text"); - } else { - $("[toot-id=" + id + "]").addClass("faved"); - $(".fav_" + id).addClass("yellow-text"); - } - } else { - M.toast({ html: lang.lang_status_favWarn, displayLength: 1000 }) - } + if ($("#pub_" + id).hasClass("faved")) { + var flag = "unfavourite"; + } else { + var flag = "favourite"; + } + var domain = localStorage.getItem("domain_" + acct_id); + var at = localStorage.getItem("acct_" + acct_id + "_at"); + var start = "https://" + domain + "/api/v1/statuses/" + id + "/" + flag; + var httpreq = new XMLHttpRequest(); + httpreq.open("POST", start, true); + httpreq.setRequestHeader("Content-Type", "application/json"); + httpreq.setRequestHeader("Authorization", "Bearer " + at); + httpreq.responseType = "json"; + httpreq.send(); + httpreq.onreadystatechange = function() { + if (httpreq.readyState === 4) { + var json = httpreq.response; + if (json.reblog) { + json = json.reblog; + } + if (remote != "remote") { + //APIのふぁぼカウントがおかしい + if ($("[unique-id=" + id + "] .fav_ct").text() == json.favourites_count) { + if (flag == "unfavourite") { + var fav = json.favourites_count - 1; + if (fav * 1 < 0) { + fav = 0; + } + } else { + var fav = json.favourites_count; + //var fav = json.favourites_count; + } + } else { + var fav = json.favourites_count; } - } + $("[unique-id=" + id + "] .fav_ct").text(fav); + $("[unique-id=" + id + "] .rt_ct").text(json.reblogs_count); + if ($("[unique-id=" + id + "]").hasClass("faved")) { + $("[unique-id=" + id + "]").removeClass("faved"); + $(".fav_" + id).removeClass("yellow-text"); + } else { + $("[unique-id=" + id + "]").addClass("faved"); + $(".fav_" + id).addClass("yellow-text"); + } + } else { + M.toast({ html: lang.lang_status_favWarn, displayLength: 1000 }); + } + } + }; } //ブースト function rt(id, acct_id, remote, vis) { - if ($("#pub_" + id).hasClass("rted")) { - var flag = "unreblog"; - } else { - var flag = "reblog"; - } - var domain = localStorage.getItem("domain_" + acct_id); - var at = localStorage.getItem("acct_" + acct_id + "_at"); - var start = "https://" + domain + "/api/v1/statuses/" + id + "/" + flag; - var httpreq = new XMLHttpRequest(); - httpreq.open('POST', start, true); - httpreq.setRequestHeader('Content-Type', 'application/json'); - httpreq.setRequestHeader('Authorization', 'Bearer ' + at); - httpreq.responseType = "json"; - if(vis){ - httpreq.send(JSON.stringify({visibility: vis})); - }else{ - httpreq.send(); - } - httpreq.onreadystatechange = function () { - if (httpreq.readyState === 4) { - var json = httpreq.response; - if(json.reblog){ - json = json.reblog - } - console.log(["Success: boost", json]); - if (remote != "remote") { - $("[toot-id=" + id + "] .fav_ct").text(json.favourites_count); - if (!json.reblog) { - if (flag == "unreblog") { - var rt = json.reblogs_count - 1; - if ( rt * 1 < 0){ rt = 0} - } else { - var rt = json.reblogs_count; - } - $("[toot-id=" + id + "] .rt_ct").text(rt); - } else { - $("[toot-id=" + id + "] .rt_ct").text(json.reblogs_count); - } + if ($("#pub_" + id).hasClass("rted")) { + var flag = "unreblog"; + } else { + var flag = "reblog"; + } + var domain = localStorage.getItem("domain_" + acct_id); + var at = localStorage.getItem("acct_" + acct_id + "_at"); + var start = "https://" + domain + "/api/v1/statuses/" + id + "/" + flag; + var httpreq = new XMLHttpRequest(); + httpreq.open("POST", start, true); + httpreq.setRequestHeader("Content-Type", "application/json"); + httpreq.setRequestHeader("Authorization", "Bearer " + at); + httpreq.responseType = "json"; + if (vis) { + httpreq.send(JSON.stringify({ visibility: vis })); + } else { + httpreq.send(); + } + httpreq.onreadystatechange = function() { + if (httpreq.readyState === 4) { + var json = httpreq.response; + if (json.reblog) { + json = json.reblog; + } + console.log(["Success: boost", json]); + $("[unique-id=" + id + "] .fav_ct").text(json.favourites_count); + if (!json.reblog) { + if (flag == "unreblog") { + var rt = json.reblogs_count - 1; + if (rt * 1 < 0) { + rt = 0; + } + } else { + var rt = json.reblogs_count; + } + $("[unique-id=" + id + "] .rt_ct").text(rt); + } else { + $("[unique-id=" + id + "] .rt_ct").text(json.reblogs_count); + } - if ($("[toot-id=" + id + "]").hasClass("rted")) { - $("[toot-id=" + id + "]").removeClass("rted"); - $(".rt_" + id).removeClass("light-blue-text"); - } else { - $("[toot-id=" + id + "]").addClass("rted"); - $(".rt_" + id).addClass("light-blue-text"); - } - } else { - M.toast({ html: lang.lang_status_btWarn, displayLength: 1000 }) - } - } - } + if ($("[unique-id=" + id + "]").hasClass("rted")) { + $("[unique-id=" + id + "]").removeClass("rted"); + $(".rt_" + id).removeClass("light-blue-text"); + } else { + $("[unique-id=" + id + "]").addClass("rted"); + $(".rt_" + id).addClass("light-blue-text"); + } + } + }; } -function boostWith(vis){ - var id = $("#tootmodal").attr("data-id"); - var acct_id = $("#tootmodal").attr("data-acct"); - rt(id, acct_id, false, vis) +function boostWith(vis) { + var id = $("#tootmodal").attr("data-id"); + var acct_id = $("#tootmodal").attr("data-acct"); + rt(id, acct_id, false, vis); } //フォロー function follow(acct_id, remote) { - if (!acct_id && acct_id != "selector") { - var acct_id = $('#his-data').attr("use-acct"); - } else if (acct_id == "selector") { - var acct_id = $("#user-acct-sel").val(); - } - if (!remote && $("#his-data").hasClass("following")) { - var flag = "unfollow"; - var flagm = "delete"; - } else { - var flag = "follow"; - var flagm = "create"; - } - var id = $("#his-data").attr("user-id"); - if (!remote) { - var remote = $("#his-data").attr("remote"); - } - var domain = localStorage.getItem("domain_" + acct_id); - var at = localStorage.getItem("acct_" + acct_id + "_at"); - var user = $("#his-acct").text(); - var start = "https://" + domain + "/api/v1/accounts/" + id + "/" + flag; - if (localStorage.getItem("mode_" + domain) == "misskey") { - var start = "https://" + domain + "/api/following/" + flagm; - var ent = { "i": at, "userId": id } - } else if (remote == "true" && flag == "follow") { - var ent = {} - } - var httpreq = new XMLHttpRequest(); - httpreq.open('POST', start, true); - httpreq.setRequestHeader('Content-Type', 'application/json'); - httpreq.setRequestHeader('Authorization', 'Bearer ' + at); - httpreq.responseType = "json"; - httpreq.send(JSON.stringify(ent)); - httpreq.onreadystatechange = function () { - if (httpreq.readyState === 4) { - var json = httpreq.response; - console.log(["Success: folllow", json]); - if ($("#his-data").hasClass("following")) { - $("#his-data").removeClass("following"); - $("#his-follow-btn").text(lang.lang_status_follow); - } else { - $("#his-data").addClass("following"); - $("#his-follow-btn").text(lang.lang_status_unfollow); - } - } - } + if (!acct_id && acct_id != "selector") { + var acct_id = $("#his-data").attr("use-acct"); + } else if (acct_id == "selector") { + var acct_id = $("#user-acct-sel").val(); + } + if (!remote && $("#his-data").hasClass("following")) { + var flag = "unfollow"; + var flagm = "delete"; + } else { + var flag = "follow"; + var flagm = "create"; + } + var id = $("#his-data").attr("user-id"); + if (!remote) { + var remote = $("#his-data").attr("remote"); + } + var domain = localStorage.getItem("domain_" + acct_id); + var at = localStorage.getItem("acct_" + acct_id + "_at"); + var user = $("#his-acct").text(); + var start = "https://" + domain + "/api/v1/accounts/" + id + "/" + flag; + if (localStorage.getItem("mode_" + domain) == "misskey") { + var start = "https://" + domain + "/api/following/" + flagm; + var ent = { i: at, userId: id }; + } else if (remote == "true" && flag == "follow") { + var ent = {}; + } + var httpreq = new XMLHttpRequest(); + httpreq.open("POST", start, true); + httpreq.setRequestHeader("Content-Type", "application/json"); + httpreq.setRequestHeader("Authorization", "Bearer " + at); + httpreq.responseType = "json"; + httpreq.send(JSON.stringify(ent)); + httpreq.onreadystatechange = function() { + if (httpreq.readyState === 4) { + var json = httpreq.response; + console.log(["Success: folllow", json]); + if ($("#his-data").hasClass("following")) { + $("#his-data").removeClass("following"); + $("#his-follow-btn").text(lang.lang_status_follow); + } else { + $("#his-data").addClass("following"); + $("#his-follow-btn").text(lang.lang_status_unfollow); + } + } + }; } //ブロック function block(acct_id) { - if ($("#his-data").hasClass("blocking")) { - var flag = "unblock"; - var txt = lang.lang_status_unmute - } else { - var flag = "block"; - var txt = lang.lang_status_block - } - Swal.fire({ - title: txt, - text: "", - type: 'warning', - showCancelButton: true, - confirmButtonColor: '#3085d6', - cancelButtonColor: '#d33', - confirmButtonText: lang.lang_yesno, - cancelButtonText: lang.lang_no - }).then((result) => { - if (result.value) { - if (!acct_id) { - var acct_id = $('#his-data').attr("use-acct"); - } - var id = $("#his-data").attr("user-id"); - var domain = localStorage.getItem("domain_" + acct_id); - var at = localStorage.getItem("acct_" + acct_id + "_at"); - var start = "https://" + domain + "/api/v1/accounts/" + id + "/" + flag; - var httpreq = new XMLHttpRequest(); - httpreq.open('POST', start, true); - httpreq.setRequestHeader('Content-Type', 'application/json'); - httpreq.setRequestHeader('Authorization', 'Bearer ' + at); - httpreq.responseType = "json"; - httpreq.send(); - httpreq.onreadystatechange = function () { - if (httpreq.readyState === 4) { - if ($("#his-data").hasClass("blocking")) { - $("#his-data").removeClass("blocking"); - $("#his-block-btn").text(lang.lang_status_block); - } else { - $("#his-data").addClass("blocking"); - $("#his-block-btn").text(lang.lang_status_unblock); - } - } - } - } - }); - + if ($("#his-data").hasClass("blocking")) { + var flag = "unblock"; + var txt = lang.lang_status_unmute; + } else { + var flag = "block"; + var txt = lang.lang_status_block; + } + Swal.fire({ + title: txt, + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#3085d6", + cancelButtonColor: "#d33", + confirmButtonText: lang.lang_yesno, + cancelButtonText: lang.lang_no + }).then(result => { + if (result.value) { + if (!acct_id) { + var acct_id = $("#his-data").attr("use-acct"); + } + var id = $("#his-data").attr("user-id"); + var domain = localStorage.getItem("domain_" + acct_id); + var at = localStorage.getItem("acct_" + acct_id + "_at"); + var start = "https://" + domain + "/api/v1/accounts/" + id + "/" + flag; + var httpreq = new XMLHttpRequest(); + httpreq.open("POST", start, true); + httpreq.setRequestHeader("Content-Type", "application/json"); + httpreq.setRequestHeader("Authorization", "Bearer " + at); + httpreq.responseType = "json"; + httpreq.send(); + httpreq.onreadystatechange = function() { + if (httpreq.readyState === 4) { + if ($("#his-data").hasClass("blocking")) { + $("#his-data").removeClass("blocking"); + $("#his-block-btn").text(lang.lang_status_block); + } else { + $("#his-data").addClass("blocking"); + $("#his-block-btn").text(lang.lang_status_unblock); + } + } + }; + } + }); } //ミュート function muteDo(acct_id) { - if ($("#his-data").hasClass("muting")) { - var flag = "unmute"; - var flagm = "delete"; - var txt = lang.lang_status_unmute - } else { - var flag = "mute"; - var flagm = "create"; - var txt = lang.lang_status_mute - } - Swal.fire({ - title: txt, - text: "", - type: 'warning', - showCancelButton: true, - confirmButtonColor: '#3085d6', - cancelButtonColor: '#d33', - confirmButtonText: lang.lang_yesno, - cancelButtonText: lang.lang_no - }).then((result) => { - if (result.value) { - if (!acct_id) { - var acct_id = $('#his-data').attr("use-acct"); - } - var id = $("#his-data").attr("user-id"); - var domain = localStorage.getItem("domain_" + acct_id); - var at = localStorage.getItem("acct_" + acct_id + "_at"); - if (localStorage.getItem("mode_" + domain) == "misskey") { - var start = "https://" + domain + "/api/mute/" + flagm; - var ent = { "i": at, "userId": id } - var rq = JSON.stringify(ent); - } else { - var start = "https://" + domain + "/api/v1/accounts/" + id + "/" + flag; - var rq = ""; - } - var httpreq = new XMLHttpRequest(); - httpreq.open('POST', start, true); - httpreq.setRequestHeader('Content-Type', 'application/json'); - httpreq.setRequestHeader('Authorization', 'Bearer ' + at); - httpreq.responseType = "json"; - httpreq.send(rq); - httpreq.onreadystatechange = function () { - if (httpreq.readyState === 4) { - if ($("#his-data").hasClass("muting")) { - $("#his-data").removeClass("muting"); - $("#his-mute-btn").text(lang.lang_status_mute); - } else { - $("#his-data").addClass("muting"); - $("#his-mute-btn").text(lang.lang_status_unmute); - } - } - } - } - }); - + if ($("#his-data").hasClass("muting")) { + var flag = "unmute"; + var flagm = "delete"; + var txt = lang.lang_status_unmute; + } else { + var flag = "mute"; + var flagm = "create"; + var txt = lang.lang_status_mute; + } + Swal.fire({ + title: txt, + text: "", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#3085d6", + cancelButtonColor: "#d33", + confirmButtonText: lang.lang_yesno, + cancelButtonText: lang.lang_no + }).then(result => { + if (result.value) { + if (!acct_id) { + var acct_id = $("#his-data").attr("use-acct"); + } + var id = $("#his-data").attr("user-id"); + var domain = localStorage.getItem("domain_" + acct_id); + var at = localStorage.getItem("acct_" + acct_id + "_at"); + if (localStorage.getItem("mode_" + domain) == "misskey") { + var start = "https://" + domain + "/api/mute/" + flagm; + var ent = { i: at, userId: id }; + var rq = JSON.stringify(ent); + } else { + var start = "https://" + domain + "/api/v1/accounts/" + id + "/" + flag; + var rq = ""; + } + var httpreq = new XMLHttpRequest(); + httpreq.open("POST", start, true); + httpreq.setRequestHeader("Content-Type", "application/json"); + httpreq.setRequestHeader("Authorization", "Bearer " + at); + httpreq.responseType = "json"; + httpreq.send(rq); + httpreq.onreadystatechange = function() { + if (httpreq.readyState === 4) { + if ($("#his-data").hasClass("muting")) { + $("#his-data").removeClass("muting"); + $("#his-mute-btn").text(lang.lang_status_mute); + } else { + $("#his-data").addClass("muting"); + $("#his-mute-btn").text(lang.lang_status_unmute); + } + } + }; + } + }); } //投稿削除 function del(id, acct_id) { - var domain = localStorage.getItem("domain_" + acct_id); - var at = localStorage.getItem("acct_" + acct_id + "_at"); - if (localStorage.getItem("mode_" + domain) == "misskey") { - var start = "https://" + domain + "/api/notes/delete"; - var httpreq = new XMLHttpRequest(); - httpreq.open('POST', start, true); - httpreq.setRequestHeader('Content-Type', 'application/json'); - httpreq.responseType = "json"; - httpreq.send(JSON.stringify({ i: at, noteId: id })); - $("[toot-id=" + id + "]").hide(); - $("[toot-id=" + id + "]").remove(); - } else { - var start = "https://" + domain + "/api/v1/statuses/" + id; - var httpreq = new XMLHttpRequest(); - httpreq.open('DELETE', start, true); - httpreq.setRequestHeader('Content-Type', 'application/json'); - httpreq.setRequestHeader('Authorization', 'Bearer ' + at); - httpreq.responseType = "json"; - httpreq.send(); - } - httpreq.onreadystatechange = function () { - if (httpreq.readyState === 4) { - } - } + var domain = localStorage.getItem("domain_" + acct_id); + var at = localStorage.getItem("acct_" + acct_id + "_at"); + if (localStorage.getItem("mode_" + domain) == "misskey") { + var start = "https://" + domain + "/api/notes/delete"; + var httpreq = new XMLHttpRequest(); + httpreq.open("POST", start, true); + httpreq.setRequestHeader("Content-Type", "application/json"); + httpreq.responseType = "json"; + httpreq.send(JSON.stringify({ i: at, noteId: id })); + $("[toot-id=" + id + "]").hide(); + $("[toot-id=" + id + "]").remove(); + } else { + var start = "https://" + domain + "/api/v1/statuses/" + id; + var httpreq = new XMLHttpRequest(); + httpreq.open("DELETE", start, true); + httpreq.setRequestHeader("Content-Type", "application/json"); + httpreq.setRequestHeader("Authorization", "Bearer " + at); + httpreq.responseType = "json"; + httpreq.send(); + } + httpreq.onreadystatechange = function() { + if (httpreq.readyState === 4) { + } + }; } //redraft function redraft(id, acct_id) { - Swal.fire({ - title: lang.lang_status_redraftTitle, - text: lang.lang_status_redraft, - type: 'warning', - showCancelButton: true, - confirmButtonColor: '#3085d6', - cancelButtonColor: '#d33', - confirmButtonText: lang.lang_yesno, - cancelButtonText: lang.lang_no - }).then((result) => { - if (result.value) { - show(); - del(id, acct_id); - $("#post-acct-sel").prop("disabled", true); - $("#post-acct-sel").val(acct_id); - $('select').formSelect(); - mdCheck() - var medias = $("[toot-id=" + id + "]").attr("data-medias"); - var vismode = $("[toot-id=" + id + "] .vis-data").attr("data-vis"); - vis(vismode); - $("#media").val(medias); - var ct = medias.split(",").length; - $("[toot-id=" + id + "] img.toot-img").each(function (i, elem) { - if (i < ct) { - var url = $(elem).attr("src"); - console.log("Play back image data:" + url); - $('#preview').append(''); - } - }); - var html = $("[toot-id=" + id + "] .toot").html(); - html = html.replace(/^

(.+)<\/p>$/, "$1"); - html = html.replace(//, "\n"); - html = html.replace(/

/, "\n"); - html = html.replace(/<\/p>/, "\n"); - html = html.replace(//g, "$1"); - html = $.strip_tags(html); - localStorage.setItem("nohide", true); - show(); - $("#textarea").val(html); - var cwtxt = $("[toot-id=" + id + "] .cw_text").html(); - if (cwtxt != "") { - cwtxt = $.strip_tags(cwtxt); - cw(); - $("#cw-text").val(cwtxt); - } - } - }) + Swal.fire({ + title: lang.lang_status_redraftTitle, + text: lang.lang_status_redraft, + type: "warning", + showCancelButton: true, + confirmButtonColor: "#3085d6", + cancelButtonColor: "#d33", + confirmButtonText: lang.lang_yesno, + cancelButtonText: lang.lang_no + }).then(result => { + if (result.value) { + show(); + del(id, acct_id); + $("#post-acct-sel").prop("disabled", true); + $("#post-acct-sel").val(acct_id); + $("select").formSelect(); + mdCheck(); + var medias = $("[toot-id=" + id + "]").attr("data-medias"); + var vismode = $("[toot-id=" + id + "] .vis-data").attr("data-vis"); + vis(vismode); + $("#media").val(medias); + var ct = medias.split(",").length; + $("[toot-id=" + id + "] img.toot-img").each(function(i, elem) { + if (i < ct) { + var url = $(elem).attr("src"); + console.log("Play back image data:" + url); + $("#preview").append( + '' + ); + } + }); + var html = $("[toot-id=" + id + "] .toot").html(); + html = html.replace(/^

(.+)<\/p>$/, "$1"); + html = html.replace(//, "\n"); + html = html.replace(/

/, "\n"); + html = html.replace(/<\/p>/, "\n"); + html = html.replace(//g, "$1"); + html = $.strip_tags(html); + localStorage.setItem("nohide", true); + show(); + $("#textarea").val(html); + var cwtxt = $("[toot-id=" + id + "] .cw_text").html(); + if (cwtxt != "") { + cwtxt = $.strip_tags(cwtxt); + cw(); + $("#cw-text").val(cwtxt); + } + } + }); } //ピン留め function pin(id, acct_id) { - if ($("#pub_" + id).hasClass("pined")) { - var flag = "unpin"; - } else { - var flag = "pin"; - } - var domain = localStorage.getItem("domain_" + acct_id); - var at = localStorage.getItem("acct_" + acct_id + "_at"); - var start = "https://" + domain + "/api/v1/statuses/" + id + "/" + flag; - var httpreq = new XMLHttpRequest(); - httpreq.open('POST', start, true); - httpreq.setRequestHeader('Content-Type', 'application/json'); - httpreq.setRequestHeader('Authorization', 'Bearer ' + at); - httpreq.responseType = "json"; - httpreq.send(); - httpreq.onreadystatechange = function () { - if (httpreq.readyState === 4) { - var json = httpreq.response; - console.log(["Success: pinned", json]); - if ($("[toot-id=" + id + "]").hasClass("pined")) { - $("[toot-id=" + id + "]").removeClass("pined"); - $(".pin_" + id).removeClass("blue-text"); - } else { - $("[toot-id=" + id + "]").addClass("pined"); - $(".pin_" + id).addClass("blue-text"); - } - } - } + if ($("#pub_" + id).hasClass("pined")) { + var flag = "unpin"; + } else { + var flag = "pin"; + } + var domain = localStorage.getItem("domain_" + acct_id); + var at = localStorage.getItem("acct_" + acct_id + "_at"); + var start = "https://" + domain + "/api/v1/statuses/" + id + "/" + flag; + var httpreq = new XMLHttpRequest(); + httpreq.open("POST", start, true); + httpreq.setRequestHeader("Content-Type", "application/json"); + httpreq.setRequestHeader("Authorization", "Bearer " + at); + httpreq.responseType = "json"; + httpreq.send(); + httpreq.onreadystatechange = function() { + if (httpreq.readyState === 4) { + var json = httpreq.response; + console.log(["Success: pinned", json]); + if ($("[toot-id=" + id + "]").hasClass("pined")) { + $("[toot-id=" + id + "]").removeClass("pined"); + $(".pin_" + id).removeClass("blue-text"); + } else { + $("[toot-id=" + id + "]").addClass("pined"); + $(".pin_" + id).addClass("blue-text"); + } + } + }; } //フォロリク function request(id, flag, acct_id) { - var domain = localStorage.getItem("domain_" + acct_id); - var at = localStorage.getItem("acct_" + acct_id + "_at"); - var start = "https://" + domain + "/api/v1/follow_requests/" + id + "/" + flag; - var httpreq = new XMLHttpRequest(); - httpreq.open('POST', start, true); - httpreq.setRequestHeader('Content-Type', 'application/json'); - httpreq.setRequestHeader('Authorization', 'Bearer ' + at); - httpreq.responseType = "json"; - httpreq.send(); - httpreq.onreadystatechange = function () { - if (httpreq.readyState === 4) { - var json = httpreq.response; - console.log(["Success: request", "type:" + flag, json]); - showReq(); - } - } + var domain = localStorage.getItem("domain_" + acct_id); + var at = localStorage.getItem("acct_" + acct_id + "_at"); + var start = + "https://" + domain + "/api/v1/follow_requests/" + id + "/" + flag; + var httpreq = new XMLHttpRequest(); + httpreq.open("POST", start, true); + httpreq.setRequestHeader("Content-Type", "application/json"); + httpreq.setRequestHeader("Authorization", "Bearer " + at); + httpreq.responseType = "json"; + httpreq.send(); + httpreq.onreadystatechange = function() { + if (httpreq.readyState === 4) { + var json = httpreq.response; + console.log(["Success: request", "type:" + flag, json]); + showReq(); + } + }; } //ドメインブロック(未実装) function domainblock(add, flag, acct_id) { - if (!acct_id) { - var acct_id = $('#his-data').attr("use-acct"); - } - var domain = localStorage.getItem("domain_" + acct_id); - var at = localStorage.getItem("acct_" + acct_id + "_at"); - var start = "https://" + domain + "/api/v1/domain_blocks" - var httpreq = new XMLHttpRequest(); - httpreq.open('POST', start, true); - httpreq.setRequestHeader('Content-Type', 'application/json'); - httpreq.setRequestHeader('Authorization', 'Bearer ' + at); - httpreq.responseType = "json"; - httpreq.send(); - httpreq.onreadystatechange = function () { - if (httpreq.readyState === 4) { - var json = httpreq.response; - console.log(["Success: domain block", json]); - showDom(); - } - } + if (!acct_id) { + var acct_id = $("#his-data").attr("use-acct"); + } + var domain = localStorage.getItem("domain_" + acct_id); + var at = localStorage.getItem("acct_" + acct_id + "_at"); + var start = "https://" + domain + "/api/v1/domain_blocks"; + var httpreq = new XMLHttpRequest(); + httpreq.open("POST", start, true); + httpreq.setRequestHeader("Content-Type", "application/json"); + httpreq.setRequestHeader("Authorization", "Bearer " + at); + httpreq.responseType = "json"; + httpreq.send(); + httpreq.onreadystatechange = function() { + if (httpreq.readyState === 4) { + var json = httpreq.response; + console.log(["Success: domain block", json]); + showDom(); + } + }; } function addDomainblock() { - var domain = $("#domainblock").val(); - domainblock(domain, 'POST'); + var domain = $("#domainblock").val(); + domainblock(domain, "POST"); } //ユーザー強調 function empUser() { - var usr = localStorage.getItem("user_emp"); - var obj = JSON.parse(usr); - var id = $("#his-acct").attr("fullname"); - if (!obj) { - var obj = []; - obj.push(id); - M.toast({ html: id + lang.lang_status_emphas, displayLength: 4000 }) - } else { - var can; - Object.keys(obj).forEach(function (key) { - var usT = obj[key]; - if (usT != id && !can) { - can = false; - } else { - can = true; - obj.splice(key, 1); - M.toast({ html: id + lang.lang_status_unemphas, displayLength: 4000 }) - } - }); - } - var json = JSON.stringify(obj); - localStorage.setItem("user_emp", json); + var usr = localStorage.getItem("user_emp"); + var obj = JSON.parse(usr); + var id = $("#his-acct").attr("fullname"); + if (!obj) { + var obj = []; + obj.push(id); + M.toast({ html: id + lang.lang_status_emphas, displayLength: 4000 }); + } else { + var can; + Object.keys(obj).forEach(function(key) { + var usT = obj[key]; + if (usT != id && !can) { + can = false; + } else { + can = true; + obj.splice(key, 1); + M.toast({ html: id + lang.lang_status_unemphas, displayLength: 4000 }); + } + }); + } + var json = JSON.stringify(obj); + localStorage.setItem("user_emp", json); } //Endorse function pinUser() { - var id = $("#his-data").attr("user-id"); - var acct_id = $("#his-data").attr("use-acct"); - if ($("#his-end-btn").hasClass("endorsed")) { - var flag = "unpin"; - } else { - var flag = "pin"; - } - var domain = localStorage.getItem("domain_" + acct_id); - var at = localStorage.getItem("acct_" + acct_id + "_at"); - var start = "https://" + domain + "/api/v1/accounts/" + id + "/" + flag; - var httpreq = new XMLHttpRequest(); - httpreq.open('POST', start, true); - httpreq.setRequestHeader('Content-Type', 'application/json'); - httpreq.setRequestHeader('Authorization', 'Bearer ' + at); - httpreq.responseType = "json"; - httpreq.send(); - httpreq.onreadystatechange = function () { - if (httpreq.readyState === 4) { - var json = httpreq.response; - if ($("#his-end-btn").hasClass("endorsed")) { - $("#his-end-btn").removeClass("endorsed") - $("#his-end-btn").text(lang.lang_status_endorse) - } else { - $("#his-end-btn").addClass("endorsed") - $("#his-end-btn").text(lang.lang_status_unendorse) - - } - } - } + var id = $("#his-data").attr("user-id"); + var acct_id = $("#his-data").attr("use-acct"); + if ($("#his-end-btn").hasClass("endorsed")) { + var flag = "unpin"; + } else { + var flag = "pin"; + } + var domain = localStorage.getItem("domain_" + acct_id); + var at = localStorage.getItem("acct_" + acct_id + "_at"); + var start = "https://" + domain + "/api/v1/accounts/" + id + "/" + flag; + var httpreq = new XMLHttpRequest(); + httpreq.open("POST", start, true); + httpreq.setRequestHeader("Content-Type", "application/json"); + httpreq.setRequestHeader("Authorization", "Bearer " + at); + httpreq.responseType = "json"; + httpreq.send(); + httpreq.onreadystatechange = function() { + if (httpreq.readyState === 4) { + var json = httpreq.response; + if ($("#his-end-btn").hasClass("endorsed")) { + $("#his-end-btn").removeClass("endorsed"); + $("#his-end-btn").text(lang.lang_status_endorse); + } else { + $("#his-end-btn").addClass("endorsed"); + $("#his-end-btn").text(lang.lang_status_unendorse); + } + } + }; } //URLコピー function tootUriCopy(url) { - execCopy(url); - M.toast({ html: lang.lang_details_url, displayLength: 1500 }) + execCopy(url); + M.toast({ html: lang.lang_details_url, displayLength: 1500 }); } //他のアカウントで… function staEx(mode) { - var url = $("#tootmodal").attr("data-url"); - var acct_id = $("#status-acct-sel").val(); - var domain = localStorage.getItem("domain_" + acct_id); - var at = localStorage.getItem("acct_" + acct_id + "_at"); - var start = "https://" + domain + "/api/v2/search?resolve=true&q=" + url - fetch(start, { - method: 'GET', - headers: { - 'content-type': 'application/json', - 'Authorization': 'Bearer ' + at - } - }).then(function (response) { - return response.json(); - }).catch(function (error) { - todo(error); - console.error(error); - }).then(function (json) { - var id = json.statuses[0].id; - if (mode == "rt") { - rt(id, acct_id, 'remote') - } else if (mode == "fav") { - fav(id, acct_id, 'remote') - } else if (mode == "reply") { - reEx(id) - } - }); - return; + var url = $("#tootmodal").attr("data-url"); + var acct_id = $("#status-acct-sel").val(); + var domain = localStorage.getItem("domain_" + acct_id); + var at = localStorage.getItem("acct_" + acct_id + "_at"); + var start = "https://" + domain + "/api/v2/search?resolve=true&q=" + url; + fetch(start, { + method: "GET", + headers: { + "content-type": "application/json", + Authorization: "Bearer " + at + } + }) + .then(function(response) { + return response.json(); + }) + .catch(function(error) { + todo(error); + console.error(error); + }) + .then(function(json) { + var id = json.statuses[0].id; + if (mode == "rt") { + rt(id, acct_id, "remote"); + } else if (mode == "fav") { + fav(id, acct_id, "remote"); + } else if (mode == "reply") { + reEx(id); + } + }); + return; } function toggleAction(id, tlid, acct_id) { - if (tlid == "notf") { - var tlide = "[data-acct=" + acct_id + "] .notf-timeline"; - } else if (tlid == "user") { - var tlide = "#his-tl-contents"; - } else { - var tlide = "[tlid=" + tlid + "]"; - } - if (!$(tlide + " [toot-id=" + id + "]").hasClass("ext-mode")) { - $(tlide + " [toot-id=" + id + "] .type-a").hide(); - $(tlide + " [toot-id=" + id + "] .type-b").show(); - $(tlide + " [toot-id=" + id + "]").addClass("ext-mode") - $(tlide + " [toot-id=" + id + "] .act-icon").text("expand_less"); - } else { - $(tlide + " [toot-id=" + id + "] .type-b").hide(); - $(tlide + " [toot-id=" + id + "] .type-a").show(); - $(tlide + " [toot-id=" + id + "]").removeClass("ext-mode") - $(tlide + " [toot-id=" + id + "] .act-icon").text("expand_more"); - } - -} \ No newline at end of file + if (tlid == "notf") { + var tlide = "[data-acct=" + acct_id + "] .notf-timeline"; + } else if (tlid == "user") { + var tlide = "#his-tl-contents"; + } else { + var tlide = "[tlid=" + tlid + "]"; + } + if (!$(tlide + " [toot-id=" + id + "]").hasClass("ext-mode")) { + $(tlide + " [toot-id=" + id + "] .type-a").hide(); + $(tlide + " [toot-id=" + id + "] .type-b").show(); + $(tlide + " [toot-id=" + id + "]").addClass("ext-mode"); + $(tlide + " [toot-id=" + id + "] .act-icon").text("expand_less"); + } else { + $(tlide + " [toot-id=" + id + "] .type-b").hide(); + $(tlide + " [toot-id=" + id + "] .type-a").show(); + $(tlide + " [toot-id=" + id + "]").removeClass("ext-mode"); + $(tlide + " [toot-id=" + id + "] .act-icon").text("expand_more"); + } +} diff --git a/app/js/tl/parse.js b/app/js/tl/parse.js index 1d265210..a7c93239 100644 --- a/app/js/tl/parse.js +++ b/app/js/tl/parse.js @@ -869,7 +869,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) { '

' + toot.reblogs_count + + if_rt + ' rt_' + uniqueid + '">' + toot.reblogs_count + '
' + '
' + toot.favourites_count + + if_fav + ' fav_' + uniqueid + '">' + toot.favourites_count + '
' + '