Files
kk8bit-KayTool/web/startome.js
T
2025-03-25 23:47:18 +08:00

44 lines
1.6 KiB
JavaScript

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