fakecheck
This commit is contained in:
@@ -136,6 +136,8 @@ document.addEventListener("DOMContentLoaded", () => {
|
|||||||
return "showDirectoryPicker" in window;
|
return "showDirectoryPicker" in window;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Kann theoretisch bleiben, wird aktuell aber NICHT benutzt,
|
||||||
|
// damit showDirectoryPicker direkt im Click-Handler liegt.
|
||||||
async pickDirectory() {
|
async pickDirectory() {
|
||||||
if (!this.hasFsApiSupport()) {
|
if (!this.hasFsApiSupport()) {
|
||||||
throw new Error("File System Access API wird von diesem Browser nicht unterstützt.");
|
throw new Error("File System Access API wird von diesem Browser nicht unterstützt.");
|
||||||
@@ -495,25 +497,46 @@ document.addEventListener("DOMContentLoaded", () => {
|
|||||||
|
|
||||||
// --- Event-Handler ------------------------------------------------------
|
// --- Event-Handler ------------------------------------------------------
|
||||||
|
|
||||||
|
// WICHTIG: showDirectoryPicker direkt im Click-Handler (ohne async/await),
|
||||||
|
// damit "User activation is required" nicht mehr triggert.
|
||||||
|
let isPickingDir = false;
|
||||||
|
|
||||||
if (btnPickDir) {
|
if (btnPickDir) {
|
||||||
btnPickDir.addEventListener("click", async () => {
|
btnPickDir.addEventListener("click", () => {
|
||||||
try {
|
if (isPickingDir) return; // Doppelklick-Schutz
|
||||||
const handle = await tester.pickDirectory();
|
isPickingDir = true;
|
||||||
if (selectedPathText) {
|
|
||||||
selectedPathText.textContent =
|
if (!("showDirectoryPicker" in window)) {
|
||||||
'USB-Ordner ausgewählt (Name: "' + (handle.name || "Unbekannt") + '").';
|
logLine("File System Access API wird von diesem Browser nicht unterstützt.", "error");
|
||||||
}
|
if (fsapiWarning) fsapiWarning.style.display = "block";
|
||||||
if (btnClearSel) btnClearSel.disabled = false;
|
isPickingDir = false;
|
||||||
setStatus("USB-Verzeichnis ausgewählt. Wähle jetzt einen Testmodus.");
|
return;
|
||||||
logLine("Verzeichnis ausgewählt: " + (handle.name || "[ohne Namen]"));
|
|
||||||
updateStartButtonState();
|
|
||||||
} catch (err) {
|
|
||||||
if (err.name === "AbortError") {
|
|
||||||
logLine("Verzeichnisauswahl abgebrochen.", "warn");
|
|
||||||
} else {
|
|
||||||
logLine("Fehler bei Verzeichnisauswahl: " + err.message, "error");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
window.showDirectoryPicker()
|
||||||
|
.then((handle) => {
|
||||||
|
tester.rootHandle = handle;
|
||||||
|
if (selectedPathText) {
|
||||||
|
selectedPathText.textContent =
|
||||||
|
'USB-Ordner ausgewählt (Name: "' + (handle.name || "Unbekannt") + '").';
|
||||||
|
}
|
||||||
|
if (btnClearSel) btnClearSel.disabled = false;
|
||||||
|
setStatus("USB-Verzeichnis ausgewählt. Wähle jetzt einen Testmodus.");
|
||||||
|
logLine("Verzeichnis ausgewählt: " + (handle.name || "[ohne Namen]"));
|
||||||
|
updateStartButtonState();
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
if (err && err.name === "AbortError") {
|
||||||
|
logLine("Verzeichnisauswahl abgebrochen.", "warn");
|
||||||
|
} else if (err) {
|
||||||
|
logLine("Fehler bei Verzeichnisauswahl: " + err.message, "error");
|
||||||
|
} else {
|
||||||
|
logLine("Unbekannter Fehler bei Verzeichnisauswahl.", "error");
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
isPickingDir = false;
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -578,14 +601,18 @@ document.addEventListener("DOMContentLoaded", () => {
|
|||||||
// Ergebnis speichern: Backend entscheidet, ob der User eingeloggt ist
|
// Ergebnis speichern: Backend entscheidet, ob der User eingeloggt ist
|
||||||
await saveReportToBackend(report);
|
await saveReportToBackend(report);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
if (err.name === "AbortError") {
|
if (err && err.name === "AbortError") {
|
||||||
setStatus("Test wurde abgebrochen.");
|
setStatus("Test wurde abgebrochen.");
|
||||||
setOverallStatus("warn", "Test abgebrochen.");
|
setOverallStatus("warn", "Test abgebrochen.");
|
||||||
logLine("Test wurde vom Benutzer abgebrochen.", "warn");
|
logLine("Test wurde vom Benutzer abgebrochen.", "warn");
|
||||||
} else {
|
} else if (err) {
|
||||||
setStatus("Fehler: " + err.message);
|
setStatus("Fehler: " + err.message);
|
||||||
setOverallStatus("bad", "Fehler im Browser-Test.");
|
setOverallStatus("bad", "Fehler im Browser-Test.");
|
||||||
logLine("Fehler im Test: " + err.message, "error");
|
logLine("Fehler im Test: " + err.message, "error");
|
||||||
|
} else {
|
||||||
|
setStatus("Unbekannter Fehler im Test.");
|
||||||
|
setOverallStatus("bad", "Fehler im Browser-Test.");
|
||||||
|
logLine("Unbekannter Fehler im Test.", "error");
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
isRunning = false;
|
isRunning = false;
|
||||||
@@ -689,7 +716,7 @@ document.addEventListener("DOMContentLoaded", () => {
|
|||||||
);
|
);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
if (saveError) saveError.style.display = "block";
|
if (saveError) saveError.style.display = "block";
|
||||||
logLine("Fehler beim Speichern im Backend: " + err.message, "error");
|
logLine("Fehler beim Speichern im Backend: " + (err ? err.message : "unbekannt"), "error");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user