Files
2025-04-26 19:08:55 +08:00

44 lines
1.5 KiB
JavaScript

import { app } from "../../../scripts/app.js";
// 全局动作注册表
const KayToolActions = window.KayToolActions || {};
window.KayToolActions = KayToolActions;
function starToMe() {
window.open("https://github.com/kk8bit/kaytool", "_blank");
}
// 注册 StarToMe 动作
KayToolActions.starToMe = starToMe;
app.registerExtension({
name: "KayTool.StarToMe",
setup() {
const originalGetCanvasMenuOptions = LGraphCanvas.prototype.getCanvasMenuOptions;
LGraphCanvas.prototype.getCanvasMenuOptions = function (...args) {
const options = originalGetCanvasMenuOptions.apply(this, args) || [];
const newOptions = [...options];
const showStarToMe = app.ui.settings.getSettingValue("KayTool.ShowStarToMe") ?? true;
if (showStarToMe) {
let kaytoolMenu = newOptions.find(opt => opt?.content === "KayTool") || {
content: "KayTool",
submenu: { options: [] }
};
if (!newOptions.includes(kaytoolMenu)) {
newOptions.push(null, kaytoolMenu);
}
if (!kaytoolMenu.submenu.options.some(opt => opt?.content === "⭐ Star to me")) {
kaytoolMenu.submenu.options.push({
content: "⭐ Star to me",
callback: starToMe
});
}
}
return newOptions;
};
}
});