///
///
///
import { useStatusBar } from "../scrapbox-userscript-std/dom.ts";
import { updateCodeFile } from "../scrapbox-userscript-std/websocket.ts";
import { Scrapbox } from "../scrapbox-jp%2Ftypes/userscript.ts";
declare const scrapbox: Scrapbox;
scrapbox.PageMenu.addMenu({
title: "Update dev UserScript",
image: "https://i.gyazo.com/95e1d28e25db16bf7c4fdeeb16452179.png",
onClick: async () => {
const content = globalThis.prompt("type new code");
if (!content?.trim?.()) return;
const bar = useStatusBar();
bar.render({
type: "group",
items: [{ type: "spinner" }, {
type: "text",
text: "Update import-dev/mod.js...",
}],
});
try {
await updateCodeFile({ filename: "mod.js", content }, "takker", "import-dev");
bar.render({
type: "group",
items: [{ type: "check-circle" }, {
type: "text",
text: "Updated",
}],
});
} catch(e: unknown) {
console.error(e);
if(!(e instanceof Error)) throw e;
bar.render({
type: "group",
items: [{ type: "exclamation-triangle" }, {
type: "text",
text: `${e.name} ${e.message}`,
}],
});
} finally {
setTimeout(() => bar.dispose(), 2000);
}
},
});