FediAct/src/inject.min.js

1 wiersz
23 KiB
JavaScript
Czysty Zwykły widok Historia

const i=["div.account__header button.logo-button","div.public-account-header a.logo-button","div.account-card a.logo-button","div.directory-card a.icon-button","div.directory__card a.icon-button","div.detailed-status a.logo-button","button.remote-button","div.account__header button.button--follow"],p=["div.account__header__tabs__name small","div.public-account-header__tabs__name small","div.detailed-status span.display-name__account","div.display-name > span","a.user-screen-name","div.profile-info-panel small"],a=/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/,R=/^(?<domain>https?:\/\/(?:\.?[a-z0-9-]+)+(?:\.[a-z]+){1})?\/?@(?<handle>\w+)(?:@(?<handledomain>(?:[\w-]+\.)+?\w+))?(?:\/(?<tootid>\d+))?\/?$/,M=/^(?<domain>https?:\/\/(?:\.?[a-z0-9-]+)+(?:\.[a-z]+){1})(?:\/users\/)(?<handle>\w+)(?:(?:\/statuses\/)(?<tootid>\d+))?\/?$/,e=!1,n="[FediAct]",o="/api/v1/instance",d="/api/v1/statuses",s="/api/v2/search",l="/api/v1/accounts",_="/api/v1/mutes",k="/api/v1/blocks",u="/api/v1/domain_blocks",f="/api/v1/polls",r=500,c=200,h='<div class="fediactmodal"><div class="fediactmodalinner"><ul class="fediactmodallist"></ul></div></div>';var browser,chrome,F={};const w={fediact_homeinstance:null,fediact_alert:!1,fediact_mode:"blacklist",fediact_whitelist:null,fediact_blacklist:null,fediact_target:"_self",fediact_autoaction:!0,fediact_token:null,fediact_redirects:!0,fediact_enabledelay:!0,fediact_hidemuted:!1,fediact_runifloggedin:!1,fediact_mutes:[],fediact_blocks:[],fediact_domainblocks:[]},q={fedireply:void 0,lasthomerequest:void 0,whitelist:void 0,blacklist:void 0,exturi:void 0,tokenheader:void 0,processed:[],processedFollow:[],isProcessing:[]};function z(t){e&&console.log(n+" "+t)}function y(){return new Promise(function(e){var t;$(document).find("script#initial-state").length?(t=$(document).find("script#initial-state").first(),JSON.parse($(t).text()).meta.access_token&&e(!0)):$(document).DOMNodeAppear(function(t){t=$(t.target);JSON.parse($(t).text()).meta.access_token&&e(!0)},"script#initial-state"),e(!1)})}!function(a){a.fn.DOMNodeAppear=function(e,i){if(!i)return!1;a(document).on("animationstart webkitAnimationStart oanimationstart MSAnimationStart",function(t){"nodeInserted"==t.originalEvent.animationName&&a(t.target).is(i)&&"function"==typeof e&&e(t)})},jQuery.fn.onAppear=jQuery.fn.DOMNodeAppear}(jQuery);var x=function(t){for(var e,i=window.location.search.substring(1).split("&"),a=0;a<i.length;a++)if((e=i[a].split("="))[0]===t)return void 0===e[1]||decodeURIComponent(e[1]);return!1};async function m(t,i,a,n){var e,o;return~i.indexOf(F.fediact_homeinstance)&&F.fediact_enabledelay&&(e=Date.now(),(o=e-q.lasthomerequest)<r&&await new Promise(t=>{setTimeout(function(){t()},r-o)}),q.lasthomerequest=e),new Promise(async function(e){try{await chrome.runtime.sendMessage({requestdata:[t,i,a,n]},function(t){e(t||!1)})}catch(t){z(t),z("Reloading page, extension likely got updated or reloaded."),location.reload()}})}function T(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function C(t,e,i){return t.replace(new RegExp(T(e),"g"),i)}function L(t){var e;F.fediact_redirects?F.fediact_alert&&!confirm("Redirecting to "+t)||(e=window.open(t,F.fediact_target),z("Redirected to "+t),e?e.focus():z("Could not open new window. Please allow popups for this website.")):z("Redirects disabled.")}async function W(t,e,i){var a,n,o,s,r="POST";switch(e){case"copy":return void navigator.clipboard.writeText(t);case"domainblock":a="https://"+F.fediact_homeinstance+u+"?domain="+t,n=function(t){if(t)return!0},s=function(){v()};break;case"domainunblock":a="https://"+F.fediact_homeinstance+u+"?domain="+t,n=function(t){if(t)return!0},r="DELETE",s=function(){v()};break;case"mute":a="https://"+F.fediact_homeinstance+l+"/"+t+"/mute",n=function(t){return t.muting},s=function(){v()};break;case"unmute":a="https://"+F.fediact_homeinstance+l+"/"+t+"/unmute",n=function(t){return!t.muting},s=function(){v()};break;case"block":a="https://"+F.fediact_homeinstance+l+"/"+t+"/block",n=function(t){return t.blocking},s=function(){v()};break;case"unblock":a="https://"+F.fediact_homeinstan