Theseus Navigator is free software
@@ -1746,6 +1757,26 @@
C.resetCollisions().then(refreshCollisions);
};
+ // ---- Naming section: blocklists ----
+ function refreshBlocklist() {
+ C.blocklistState().then((b) => {
+ document.querySelectorAll('input[name="blocklistPolicy"]').forEach((r) => { r.checked = (r.value === b.policy); });
+ const lists = (b.lists || []).map((l) => l.name || l.address).join(", ") || "none";
+ const n = (b.flagged || []).length, o = (b.overrides || []).length;
+ const read = b.ok === null ? "not read yet"
+ : b.ok ? `read ${new Date(b.readAt).toLocaleTimeString()}`
+ : `could not be read (${b.error || "unreachable"}); the last known flags stay in force`;
+ document.getElementById("blkSummary").textContent =
+ `Subscribed: ${lists} — ${read}. Flagged now: ${n} name${n === 1 ? "" : "s"}. `
+ + `You chose to continue to ${o} name${o === 1 ? "" : "s"}.`;
+ }).catch(() => {});
+ }
+ refreshBlocklist();
+ document.querySelectorAll('input[name="blocklistPolicy"]').forEach((r) => {
+ r.addEventListener("change", () => { if (r.checked) C.setBlocklistPolicy(r.value).then(refreshBlocklist); });
+ });
+ document.getElementById("resetBlocklist").onclick = () => { C.resetBlocklist().then(refreshBlocklist); };
+
// ---- Developer tools dock position --------------------------------------
// The active radio reflects the current setting; changing it just calls
// C.set — the F12 handler in main.js reads settings.devToolsDock each