aboutsummaryrefslogtreecommitdiff
path: root/src/wan.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/wan.js')
-rw-r--r--src/wan.js54
1 files changed, 50 insertions, 4 deletions
diff --git a/src/wan.js b/src/wan.js
index ec73e8d..60ba0b7 100644
--- a/src/wan.js
+++ b/src/wan.js
@@ -1,11 +1,44 @@
const { invoke } = window.__TAURI__.tauri;
-const { ask } = window.__TAURI__.dialog;
+const { ask, message } = window.__TAURI__.dialog;
let credentialsUsernameEl;
let credentialsPasswordEl;
let credentialsSubmitEl;
let credentialsStatusEl;
+async function warmReconnect() {
+ const error = await invoke("kill", { process: "rsdsl_pppoe3", signal: "hup" });
+
+ if (error !== "") {
+ await message("Befehl konnte nicht erteilt werden: " + error, {
+ kind: "error",
+ title: "Neusynchronisation nicht erfolgt"
+ });
+ }
+}
+
+async function coldReconnect() {
+ const error = await invoke("kill", { process: "rsdsl_pppoe3", signal: "term" });
+
+ if (error !== "") {
+ await message("Befehl konnte nicht erteilt werden: " + error, {
+ kind: "error",
+ title: "Neueinwahl nicht erfolgt"
+ });
+ }
+}
+
+async function forceReconnect() {
+ const error = await invoke("kill", { process: "rsdsl_pppoe3", signal: "kill" });
+
+ if (error !== "") {
+ await message("Befehl konnte nicht erteilt werden: " + error, {
+ kind: "error",
+ title: "Neueinwahl nicht erfolgt"
+ });
+ }
+}
+
function showCredentials() {
switch (credentialsPasswordEl.type) {
case "password":
@@ -50,16 +83,29 @@ async function changeCredentials() {
document.body.style.cursor = "default";
const reconnect = await ask("Zum Übernehmen der neuen Zugangsdaten muss die Einwahl zum Internetanbieter neu aufgebaut werden. Dies dauert ca. 30 Sekunden. Möchten Sie die Einwahl jetzt neu herstellen?", {
- kind: "warning",
- title: "Neueinwahl erforderlich",
+ kind: "info",
+ title: "Neueinwahl erforderlich"
});
if (reconnect) {
- await wanColdReconnect();
+ await coldReconnect();
}
}
window.addEventListener("DOMContentLoaded", () => {
+ document.querySelector("#connection-warm-reconnect").addEventListener("click", (e) => {
+ e.preventDefault();
+ warmReconnect();
+ });
+ document.querySelector("#connection-cold-reconnect").addEventListener("click", (e) => {
+ e.preventDefault();
+ coldReconnect();
+ });
+ document.querySelector("#connection-force-reconnect").addEventListener("click", (e) => {
+ e.preventDefault();
+ forceReconnect();
+ });
+
credentialsUsernameEl = document.querySelector("#credentials-username");
credentialsPasswordEl = document.querySelector("#credentials-password");
credentialsSubmitEl = document.querySelector("#credentials-submit");