Restyle the panel on ComfyUI palette tokens and drop the built-in themes. Add a header with Back/Forward, Prev/Next, Focus, Lock and a searchable Go to node picker, a subgraph/group breadcrumb, and simplified modes: Follow glass or Float, plus Sticky, Follow selection and Lock to node (replaces Hold). Fix widget edits (step2 steps, INT/FLOAT, commit on Enter/blur, undo), subgraph lookups, orphaned dropdown menus, global arrow-key capture, the pop-out editor, and remove Google Fonts loading and dead code. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
86 lines
3.6 KiB
JavaScript
86 lines
3.6 KiB
JavaScript
const REPO = "https://github.com/AEmotionStudio/ComfyUI-MagnifyGlass";
|
|
const DISCORD = "https://discord.gg/UzC9353mfp";
|
|
const KOFI = "https://ko-fi.com/aemotionstudio";
|
|
const WEBSITE = "https://aemotionstudio.org/";
|
|
const LINKS = [
|
|
["pi-github", "GitHub", REPO],
|
|
["pi-exclamation-circle", "Report an issue", `${REPO}/issues`],
|
|
["pi-discord", "Discord", DISCORD],
|
|
["pi-youtube", "YouTube", "https://www.youtube.com/@aemotionstudio/videos"],
|
|
["pi-heart", "Ko-fi", KOFI],
|
|
["pi-globe", "Website", WEBSITE]
|
|
];
|
|
const PACKS = [
|
|
["Enhanced Links & Nodes", "Animated links and nodes that keep every native click.", "https://github.com/AEmotionStudio/ComfyUI-EnhancedLinksandNodes"],
|
|
["FFMPEGA", "Video editing in natural language with an FFMPEG agent.", "https://github.com/AEmotionStudio/ComfyUI-FFMPEGA"],
|
|
["ShaderNoiseKSampler", "A KSampler that blends shader noise into generation.", "https://github.com/AEmotionStudio/ComfyUI-ShaderNoiseKSampler"],
|
|
["DiscordSend", "Send images and videos straight to Discord.", "https://github.com/AEmotionStudio/ComfyUI-DiscordSend"],
|
|
["RefCap", "Reference capture for MiniMax H3.", "https://github.com/AEmotionStudio/ComfyUI-RefCap"],
|
|
["PROMPTA", "Natural language into model-specific prompts.", "https://github.com/AEmotionStudio/ComfyUI-PROMPTA"],
|
|
["Chat2Me", "Chat with a character that replies in video.", "https://github.com/aemotion-studio/ComfyUI-Chat2Me"]
|
|
];
|
|
const ABOUT_BADGES = [
|
|
{ label: `MagnifyGlass ${"1.15.0"}`, url: REPO, icon: "pi pi-github" }
|
|
];
|
|
const STUDIO = "Developed by Æmotion Studio, MagnifyGlass brings a customizable magnifying glass and node inspector to your ComfyUI workflow. Contributions are welcome!";
|
|
function link(href, text) {
|
|
const a = document.createElement("a");
|
|
a.href = href;
|
|
a.target = "_blank";
|
|
a.rel = "noopener noreferrer";
|
|
a.textContent = text;
|
|
return a;
|
|
}
|
|
function icon(name) {
|
|
const i = document.createElement("i");
|
|
i.className = `pi ${name}`;
|
|
i.setAttribute("aria-hidden", "true");
|
|
return i;
|
|
}
|
|
function renderAbout() {
|
|
const about = document.createElement("section");
|
|
about.className = "magnify-about";
|
|
const brand = document.createElement("div");
|
|
brand.className = "magnify-brand";
|
|
const heading = document.createElement("h3");
|
|
heading.className = "magnify-heading";
|
|
heading.textContent = `MagnifyGlass ${"1.15.0"}`;
|
|
const byline = document.createElement("p");
|
|
byline.className = "magnify-hint";
|
|
byline.textContent = "by Æmotion Studio · GPL-3.0";
|
|
const text = document.createElement("div");
|
|
text.append(heading, byline);
|
|
brand.append(icon("pi-search"), text);
|
|
const actions = document.createElement("div");
|
|
actions.className = "magnify-actions";
|
|
for (const [name, label, href] of LINKS) {
|
|
const a = link(href, label);
|
|
a.className = "magnify-link";
|
|
a.prepend(icon(name));
|
|
actions.appendChild(a);
|
|
}
|
|
const studio = document.createElement("details");
|
|
studio.className = "magnify-studio";
|
|
const summary = document.createElement("summary");
|
|
summary.textContent = "More from Æmotion Studio";
|
|
const blurb = document.createElement("p");
|
|
blurb.textContent = STUDIO;
|
|
const packs = document.createElement("ul");
|
|
packs.className = "magnify-packs";
|
|
for (const [name, what, href] of PACKS) {
|
|
const item = document.createElement("li");
|
|
const hint = document.createElement("span");
|
|
hint.className = "magnify-hint";
|
|
hint.textContent = what;
|
|
item.append(link(href, name), hint);
|
|
packs.appendChild(item);
|
|
}
|
|
studio.append(summary, blurb, packs);
|
|
about.append(brand, actions, studio);
|
|
return about;
|
|
}
|
|
export {
|
|
ABOUT_BADGES,
|
|
renderAbout
|
|
};
|