feat: Projekt von JavaScript zu TypeScript migriert

This commit is contained in:
Ismail Ali
2025-01-25 00:20:19 +01:00
parent fde7cf33c4
commit 4f809877ea
45 changed files with 579 additions and 291 deletions

View File

@@ -1,4 +1,5 @@
const handleReboot = async (newIp = null) => {
// components/modales/settingsModal/handlers/handleReboot.ts
const handleReboot = async (newIp: string | null = null): Promise<void> => {
const showWaitPage = () => {
const waitHTML = `
<!DOCTYPE html>
@@ -48,21 +49,22 @@ const handleReboot = async (newIp = null) => {
`;
document.documentElement.innerHTML = waitHTML;
// JavaScript für die Progress-Bar-Animation nach dem Hinzufügen der HTML-Struktur
let progress = 0;
const progressBar = document.getElementById("progress-bar");
const interval = setInterval(() => {
progress += 1;
progressBar.style.width = progress + "%";
if (progress >= 100) {
clearInterval(interval);
}
}, 300); // 300ms x 100 = 30 Sekunden
if (progressBar) {
const interval = setInterval(() => {
progress += 1;
progressBar.style.width = progress + "%";
if (progress >= 100) {
clearInterval(interval);
}
}, 300);
} else {
console.error("Progress-Bar-Element nicht gefunden.");
}
};
if (
window.confirm("Sind Sie sicher, dass Sie den CPL neu starten möchten?")
) {
if (window.confirm("Sind Sie sicher, dass Sie den CPL neu starten möchten?")) {
showWaitPage();
const baseRedirectURL = newIp ? `https://${newIp}` : window.location.origin;

View File

@@ -1,10 +1,37 @@
// components/modales/handlers/handleSubmit.js
// components/modales/handlers/handleSubmit.ts
import handleReboot from "./handleReboot";
const handleSubmit = (originalValues, currentValues) => {
const changes = {};
interface OriginalValues {
name: string;
ip: string;
subnet: string;
gateway: string;
ntp1: string;
ntp2: string;
ntp3: string;
ntpTimezone: string;
active: boolean;
}
interface CurrentValues {
name: string;
ip: string;
subnet: string;
gateway: string;
ntp1: string;
ntp2: string;
ntp3: string;
ntpTimezone: string;
active: boolean;
}
const handleSubmit = (
originalValues: OriginalValues,
currentValues: CurrentValues
): void => {
const changes: { [key: string]: string | boolean } = {};
let networkChanges = false;
let newIp = null;
let newIp: string | null = null;
// Überprüfe, welche Werte sich geändert haben
if (currentValues.name !== originalValues.name) {
@@ -44,21 +71,25 @@ const handleSubmit = (originalValues, currentValues) => {
// URL für die Änderungen erstellen
let url = `${window.location.origin}/CPL?${window.location.pathname}`;
Object.keys(changes).forEach((paramKey) => {
url += `&${paramKey}=${encodeURIComponent(changes[paramKey])}`;
url += `&${paramKey}=${encodeURIComponent(String(changes[paramKey]))}`;
});
console.log(url);
fetch(url, { method: "GET" });
alert("Daten erfolgreich gesendet!");
if (networkChanges) {
alert(
"Hinweis: Die Änderungen in CPL-Name und den Netzwerkeinstellungen werden erst nach einem Neustart des CPL wirksam."
);
handleReboot(newIp); // handleReboot mit neuer IP aufrufen
}
fetch(url, { method: "GET" })
.then(() => {
alert("Daten erfolgreich gesendet!");
if (networkChanges) {
alert(
"Hinweis: Die Änderungen in CPL-Name und den Netzwerkeinstellungen werden erst nach einem Neustart des CPL wirksam."
);
handleReboot(newIp); // handleReboot mit neuer IP aufrufen
}
})
.catch((error) => {
console.error("Fehler beim Senden der Daten:", error);
alert("Fehler beim Senden der Daten.");
});
} else {
alert("Keine Änderungen vorgenommen.");
}