fix: remove rsi_hangar_fix script

This commit is contained in:
xkeyC 2025-05-10 18:46:42 +08:00
parent a6d286e905
commit 755b8255b8
8 changed files with 3 additions and 126 deletions

View File

@ -1 +1 @@
(()=>{var e={},s={};function t(r){var n=s[r];if(void 0!==n)return n.exports;var a=s[r]={exports:{}};return e[r](a,a.exports,t),a.exports}t.rv=()=>"1.3.9",t.ruid="bundler=rspack@1.3.9";let r=null;function n(e){return new URL(e).hostname}async function a(){console.log("Localization Version ===",r=await c("versions.json"))}async function o(e,s){if(console.log("url ==="+e),null==r)return await a(),o(e,s);if(null!=s&&!s)return[];let t=r,n={};e.includes("robertsspaceindustries.com")?(n["zh-CN"]=await c("zh-CN-rsi.json",{cacheKey:"zh-CN",version:t.rsi}),n.concierge=await c("concierge.json",{cacheKey:"concierge",version:t.concierge}),n.orgs=await c("orgs.json",{cacheKey:"orgs",version:t.orgs}),n.address=await c("addresses.json",{cacheKey:"addresses",version:t.addresses}),n.hangar=await c("hangar.json",{cacheKey:"hangar",version:t.hangar})):e.includes("uexcorp.space")?n.UEX=await c("zh-CN-uex.json",{cacheKey:"uex",version:t.uex}):e.includes("erkul.games")?n.DPS=await c("zh-CN-dps.json",{cacheKey:"dps",version:t.dps}):s&&(n["zh-CN"]=await c("zh-CN-rsi.json",{cacheKey:"zh-CN",version:t.rsi}),n.concierge=await c("concierge.json",{cacheKey:"concierge",version:t.concierge}),n.orgs=await c("orgs.json",{cacheKey:"orgs",version:t.orgs}),n.address=await c("addresses.json",{cacheKey:"address",version:t.addresses}),n.hangar=await c("hangar.json",{cacheKey:"hangar",version:t.hangar}),n.UEX=await c("zh-CN-uex.json",{cacheKey:"uex",version:t.uex}),n.DPS=await c("zh-CN-dps.json",{cacheKey:"dps",version:t.dps}));let i=[];function l(e){i.push(...function(e,s){let t=[],r=e[s];if("object"==typeof r)for(let[e,s]of Object.entries(r)){let r=e.toString().trim().toLowerCase().replace(/\xa0/g," ").replace(/\s{2,}/g," ");t.push({word:r,replacement:String(s)})}return t}(n,e))}if(e.includes("robertsspaceindustries.com")){if(e.startsWith("https://robertsspaceindustries.com/spectrum/community/"))return[];l("zh-CN"),(e.startsWith("https://robertsspaceindustries.com/orgs")||e.startsWith("https://robertsspaceindustries.com/citizens")||e.startsWith("https://robertsspaceindustries.com/account/organization"))&&(i.push({word:"members",replacement:"名成员"}),l("orgs")),e.startsWith("https://robertsspaceindustries.com/account/addresses")&&l("address"),e.startsWith("https://robertsspaceindustries.com/account/referral-program")&&i.push({word:"Total recruits: ",replacement:"总邀请数:"},{word:"Prospects ",replacement:"未完成的邀请"},{word:"Recruits",replacement:"已完成的邀请"}),e.startsWith("https://robertsspaceindustries.com/account/concierge")&&(i=[],l("concierge")),e.startsWith("https://robertsspaceindustries.com/account/pledges")&&l("hangar")}else e.includes("uexcorp.space")?l("UEX"):e.includes("erkul.games")?l("DPS"):s&&(l("zh-CN"),i.push({word:"members",replacement:"名成员"}),l("orgs"),l("address"),i.push({word:"Total recruits: ",replacement:"总邀请数:"},{word:"Prospects ",replacement:"未完成的邀请"},{word:"Recruits",replacement:"已完成的邀请"}),l("concierge"),l("hangar"),l("UEX"),l("DPS"));return i}async function c(e,s={}){let{cacheKey:t="",version:r=null}=s;if(t&&""!==t){let e=await i(`${t}_version`),s=await i(t);if(s&&"object"==typeof s&&Object.keys(s).length>0&&e===r)return s}let n=new Date,a=await fetch("https://git.scbox.xkeyc.cn/SCToolBox/ScWeb_Chinese_Translate/raw/branch/main/json/locales/"+e,{method:"GET",mode:"cors"}),o=new Date,u=await a.json();if(t&&""!==t){let e=o.getTime()-n.getTime();console.log(`update ${t} v == ${r} time == ${e/1e3}s`),await l(t,u),await l(`${t}_version`,r)}return u}function i(e){return new Promise(s=>{chrome.storage.local.get([e],t=>{let r=t[e];if(void 0===r)return s(null);s(r)})})}function l(e,s){return new Promise(t=>{let r={};r[e]=s,chrome.storage.local.set(r,()=>{t()})})}chrome.runtime.onInstalled.addListener(function(){a().then(e=>{}),console.log("SWTT init")}),chrome.runtime.onMessage.addListener(function(e,s,t){if("_loadLocalizationData"===e.action){let s=n(e.url);i(`_translate_switch_${s}`).then(r=>{console.log("GET domain ===",s,"enableManual === ",r),o(e.url,r).then(e=>{t({result:e})})})}else if("_setTranslateSwitch"===e.action){let s=n(e.url);l(`_translate_switch_${s}`,e.enableManual).then(()=>{console.log("SET translate switch ===",s,"enableManual === ",e.enableManual),t({result:!0})})}return!0}),chrome.runtime.onInstalled.addListener(function(){chrome.contextMenus.create({id:"translate",title:"切换翻译",contexts:["all"]})}),chrome.contextMenus.onClicked.addListener((e,s)=>{console.log("contextMenus",e,s);let t="manual";s&&s.url&&["robertsspaceindustries.com","erkul.games","uexcorp.space"].find(e=>s.url.includes(e))&&(t=s.url),o(t,!0).then(e=>{s&&void 0!==s.id&&chrome.tabs.sendMessage(s.id,{action:"_toggleTranslation",data:e}).then(e=>{})})})})();
(()=>{var e={},s={};function t(r){var n=s[r];if(void 0!==n)return n.exports;var a=s[r]={exports:{}};return e[r](a,a.exports,t),a.exports}t.rv=()=>"1.3.8",t.ruid="bundler=rspack@1.3.8";let r=null;function n(e){return new URL(e).hostname}async function a(){console.log("Localization Version ===",r=await c("versions.json"))}async function o(e,s){if(console.log("url ==="+e),null==r)return await a(),o(e,s);if(null!=s&&!s)return[];let t=r,n={};e.includes("robertsspaceindustries.com")?(n["zh-CN"]=await c("zh-CN-rsi.json",{cacheKey:"zh-CN",version:t.rsi}),n.concierge=await c("concierge.json",{cacheKey:"concierge",version:t.concierge}),n.orgs=await c("orgs.json",{cacheKey:"orgs",version:t.orgs}),n.address=await c("addresses.json",{cacheKey:"addresses",version:t.addresses}),n.hangar=await c("hangar.json",{cacheKey:"hangar",version:t.hangar})):e.includes("uexcorp.space")?n.UEX=await c("zh-CN-uex.json",{cacheKey:"uex",version:t.uex}):e.includes("erkul.games")?n.DPS=await c("zh-CN-dps.json",{cacheKey:"dps",version:t.dps}):s&&(n["zh-CN"]=await c("zh-CN-rsi.json",{cacheKey:"zh-CN",version:t.rsi}),n.concierge=await c("concierge.json",{cacheKey:"concierge",version:t.concierge}),n.orgs=await c("orgs.json",{cacheKey:"orgs",version:t.orgs}),n.address=await c("addresses.json",{cacheKey:"address",version:t.addresses}),n.hangar=await c("hangar.json",{cacheKey:"hangar",version:t.hangar}),n.UEX=await c("zh-CN-uex.json",{cacheKey:"uex",version:t.uex}),n.DPS=await c("zh-CN-dps.json",{cacheKey:"dps",version:t.dps}));let i=[];function l(e){i.push(...function(e,s){let t=[],r=e[s];if("object"==typeof r)for(let[e,s]of Object.entries(r)){let r=e.toString().trim().toLowerCase().replace(/\xa0/g," ").replace(/\s{2,}/g," ");t.push({word:r,replacement:String(s)})}return t}(n,e))}if(e.includes("robertsspaceindustries.com")){if(e.startsWith("https://robertsspaceindustries.com/spectrum/community/"))return[];l("zh-CN"),(e.startsWith("https://robertsspaceindustries.com/orgs")||e.startsWith("https://robertsspaceindustries.com/citizens")||e.startsWith("https://robertsspaceindustries.com/account/organization"))&&(i.push({word:"members",replacement:"名成员"}),l("orgs")),e.startsWith("https://robertsspaceindustries.com/account/addresses")&&l("address"),e.startsWith("https://robertsspaceindustries.com/account/referral-program")&&i.push({word:"Total recruits: ",replacement:"总邀请数:"},{word:"Prospects ",replacement:"未完成的邀请"},{word:"Recruits",replacement:"已完成的邀请"}),e.startsWith("https://robertsspaceindustries.com/account/concierge")&&(i=[],l("concierge")),e.startsWith("https://robertsspaceindustries.com/account/pledges")&&l("hangar")}else e.includes("uexcorp.space")?l("UEX"):e.includes("erkul.games")?l("DPS"):s&&(l("zh-CN"),i.push({word:"members",replacement:"名成员"}),l("orgs"),l("address"),i.push({word:"Total recruits: ",replacement:"总邀请数:"},{word:"Prospects ",replacement:"未完成的邀请"},{word:"Recruits",replacement:"已完成的邀请"}),l("concierge"),l("hangar"),l("UEX"),l("DPS"));return i}async function c(e,s={}){let{cacheKey:t="",version:r=null}=s;if(t&&""!==t){let e=await i(`${t}_version`),s=await i(t);if(s&&"object"==typeof s&&Object.keys(s).length>0&&e===r)return s}let n=new Date,a=await fetch("https://git.scbox.xkeyc.cn/SCToolBox/ScWeb_Chinese_Translate/raw/branch/main/json/locales/"+e,{method:"GET",mode:"cors"}),o=new Date,u=await a.json();if(t&&""!==t){let e=o.getTime()-n.getTime();console.log(`update ${t} v == ${r} time == ${e/1e3}s`),await l(t,u),await l(`${t}_version`,r)}return u}function i(e){return new Promise(s=>{chrome.storage.local.get([e],t=>{let r=t[e];if(void 0===r)return s(null);s(r)})})}function l(e,s){return new Promise(t=>{let r={};r[e]=s,chrome.storage.local.set(r,()=>{t()})})}chrome.runtime.onInstalled.addListener(function(){a().then(e=>{}),console.log("SWTT init")}),chrome.runtime.onMessage.addListener(function(e,s,t){if("_loadLocalizationData"===e.action){let s=n(e.url);i(`_translate_switch_${s}`).then(r=>{console.log("GET domain ===",s,"enableManual === ",r),o(e.url,r).then(e=>{t({result:e})})})}else if("_setTranslateSwitch"===e.action){let s=n(e.url);l(`_translate_switch_${s}`,e.enableManual).then(()=>{console.log("SET translate switch ===",s,"enableManual === ",e.enableManual),t({result:!0})})}return!0}),chrome.runtime.onInstalled.addListener(function(){chrome.contextMenus.create({id:"translate",title:"切换翻译",contexts:["all"]})}),chrome.contextMenus.onClicked.addListener((e,s)=>{console.log("contextMenus",e,s);let t="manual";s&&s.url&&["robertsspaceindustries.com","erkul.games","uexcorp.space"].find(e=>s.url.includes(e))&&(t=s.url),o(t,!0).then(e=>{s&&void 0!==s.id&&chrome.tabs.sendMessage(s.id,{action:"_toggleTranslation",data:e}).then(e=>{})})})})();

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
(()=>{var e={},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.rv=()=>"1.3.9",r.ruid="bundler=rspack@1.3.9",function(){function e(t,r,n,o=100){let a=setInterval(()=>{let e=t.querySelector(r);e&&(clearInterval(a),n(e))},o)}function t(e){if(!e||e.parentNode.querySelector('a[data-cy-id="button"][href="/account/pledges"]'))return;let t=e.cloneNode(!0);t.href="/account/pledges";let r=t.querySelector('span[data-cy-id="button__text"]');r&&(r.innerText="My Hangar");let n=t.querySelector('i[data-cy-id="button__icon"]');n&&(n.className="a-button__icon a-icon -gridView"),e.parentNode.insertBefore(t,e)}e(document,"#sidePanel",r=>{new MutationObserver(r=>{for(let n of r)"childList"===n.type&&n.addedNodes.length>0&&n.addedNodes.forEach(r=>{1===r.nodeType&&e(r,'a[data-cy-id="button"][href="/account/settings"]',e=>{t(e)})})}).observe(r,{childList:!0,subtree:!0});let n=r.querySelector('a[data-cy-id="button"][href="/account/settings"]');n&&t(n)})}()})();

View File

@ -45,16 +45,6 @@
],
"run_at": "document_end",
"css": []
},
{
"matches": [
"https://robertsspaceindustries.com/*"
],
"js": [
"content_scripts/content-2.js"
],
"run_at": "document_idle",
"css": []
}
]
}

View File

@ -47,16 +47,6 @@
],
"run_at": "document_end",
"css": []
},
{
"matches": [
"https://robertsspaceindustries.com/*"
],
"js": [
"content_scripts/content-2.js"
],
"run_at": "document_idle",
"css": []
}
]
}

View File

@ -46,15 +46,6 @@
"thirdparty/jquery.min.js"
],
"run_at": "document_end"
},
{
"matches": [
"https://robertsspaceindustries.com/*"
],
"js": [
"rsi_hangar_fix.ts"
],
"run_at": "document_idle"
}
]
}

View File

@ -1,93 +0,0 @@
// from https://github.com/cfdxkk/RSI-Hangar-Button
// LICENSE GLWT(Good Luck With That) Public License
(function () {
/**
*
* @param dom
* @param selector
* @param callback
* @param interval 100
*/
function waitForElement(dom, selector, callback, interval = 100) {
const checkExist = setInterval(() => {
const element = dom.querySelector(selector)
if (element) {
clearInterval(checkExist) // 停止轮询
callback(element)
}
}, interval)
}
/**
*
* @param element
*/
function startObserve(element) {
// 创建一个 MutationObserver 实例,监听元素的子元素变化
const observer = new MutationObserver((mutationsList) => {
for (const mutation of mutationsList) {
if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {
mutation.addedNodes.forEach(node => {
if (node.nodeType === 1) { // 只处理元素节点 (忽略文本节点)
waitForElement(node, "a[data-cy-id=\"button\"][href=\"/account/settings\"]", (button) => {
copyAndAddButton(button)
})
}
})
}
}
})
// 监听子节点变化,并对子树内的变化也进行监听
observer.observe(element, { childList: true, subtree: true })
}
/**
*
*
* @param {HTMLElement} button
*/
function copyAndAddButton(button) {
if (!button) return
// 如果已经存在 href 为 /account/pledges 的按钮,则不再添加
if (button.parentNode.querySelector('a[data-cy-id="button"][href="/account/pledges"]')) {
return
}
// 复制元素
const hangarButton = button.cloneNode(true)
// 修改 href
hangarButton.href = "/account/pledges"
// 查找按钮中的文本部分
const hangarButtonText = hangarButton.querySelector('span[data-cy-id="button__text"]')
// 修改文本
if (hangarButtonText) {
hangarButtonText.innerText = "My Hangar"
}
// 查找按钮中的图标部分
const hangarButtonIcon = hangarButton.querySelector('i[data-cy-id="button__icon"]')
// 修改图标
if (hangarButtonIcon) {
hangarButtonIcon.className = "a-button__icon a-icon -gridView"
}
// 插入到目标元素的前方
button.parentNode.insertBefore(hangarButton, button)
}
// 开始查找抽屉,如果找到执行监听回调
waitForElement(document, "#sidePanel", (rsiSidePanel) => {
startObserve(rsiSidePanel)
// 初始检查防止首次打开抽屉时按钮已经存在MutationObserver 不触发
const button = rsiSidePanel.querySelector('a[data-cy-id="button"][href="/account/settings"]')
if (button) {
copyAndAddButton(button)
}
})
})()