import type { Command } from "./registry.js"; import { ConfirmOverlay } from "../components/ConfirmOverlay.js"; export const setSyncCommand: Command = { name: "setsync", aliases: ["ss"], description: "Set sync credentials (requires restart)", usage: "/setsync ", async execute(args, ctx) { if (args.length < 2) { ctx.showNotification("Usage: /setsync ", "error"); return; } const [username, passphrase] = args; const confirmed = await new Promise((resolve) => { ctx.showOverlay((hideOverlay, _hideForEditor) => ( { hideOverlay(); resolve(true); }} onCancel={() => { hideOverlay(); resolve(false); }} /> ), ctx.renderer); }); if (!confirmed) { ctx.showNotification("Sync setup cancelled", "info"); return; } await ctx.ei.updateSettings({ sync: { username, passphrase } }); ctx.showNotification("Sync credentials saved, restarting...", "info"); await ctx.exitApp(); }, };