mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-07 15:52:52 +03:00
[v3.8.50] feat(electron): add Remote Server Mode to attach to an external OmniRoute instance (#8799)
Validated in local merge-train T7 (ungrouped batch 2)
This commit is contained in:
40
electron/remoteServerPromptRenderer.js
Normal file
40
electron/remoteServerPromptRenderer.js
Normal file
@@ -0,0 +1,40 @@
|
||||
(function () {
|
||||
const input = document.getElementById("url-input");
|
||||
const errorEl = document.getElementById("error");
|
||||
const saveBtn = document.getElementById("save-btn");
|
||||
const cancelBtn = document.getElementById("cancel-btn");
|
||||
|
||||
function isValidOrEmpty(value) {
|
||||
const trimmed = value.trim();
|
||||
if (!trimmed) return true; // empty = disconnect, handled by main process
|
||||
try {
|
||||
const parsed = new URL(trimmed);
|
||||
return parsed.protocol === "http:" || parsed.protocol === "https:";
|
||||
} catch {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
window.remoteServerPrompt.getInitialUrl().then((url) => {
|
||||
input.value = url || "";
|
||||
input.focus();
|
||||
});
|
||||
|
||||
saveBtn.addEventListener("click", () => {
|
||||
const value = input.value.trim();
|
||||
if (!isValidOrEmpty(value)) {
|
||||
errorEl.textContent = "Enter a valid http:// or https:// URL, or leave blank to disconnect.";
|
||||
return;
|
||||
}
|
||||
window.remoteServerPrompt.submit(value);
|
||||
});
|
||||
|
||||
cancelBtn.addEventListener("click", () => {
|
||||
window.remoteServerPrompt.cancel();
|
||||
});
|
||||
|
||||
input.addEventListener("keydown", (event) => {
|
||||
if (event.key === "Enter") saveBtn.click();
|
||||
if (event.key === "Escape") cancelBtn.click();
|
||||
});
|
||||
})();
|
||||
Reference in New Issue
Block a user