Remove whitelist mode toggle from admin panel

This commit is contained in:
thePR0M3TH3AN committed 2025-09-28 19:12:19 -04:00
1 parent 014b1369b0
commit a56568e3c7
2 files changed
-83

No files matched your search

-12
View File
@@ -240,18 +240,6 @@
<div id="adminWhitelistSection" class="space-y-4">
<div class="flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between">
<h4 class="text-base font-semibold text-white">Whitelist</h4>
<label
id="adminWhitelistModeWrapper"
class="flex items-center gap-2 text-xs font-medium text-gray-300 hidden"
for="adminWhitelistModeToggle"
>
<input
id="adminWhitelistModeToggle"
type="checkbox"
class="h-4 w-4 rounded border-gray-600 bg-gray-800 text-blue-500 focus:ring-blue-400"
/>
<span>Enable whitelist-only mode</span>
</label>
</div>
<p class="text-sm text-gray-400">
Creators listed here remain visible when whitelist mode is enabled. Adding someone removes them from the blacklist.
-71
View File
@@ -523,8 +523,6 @@ class bitvidApp {
this.adminWhitelistList = null;
this.adminWhitelistEmpty = null;
this.adminWhitelistSection = null;
this.adminWhitelistModeToggle = null;
this.adminWhitelistModeWrapper = null;
this.adminBlacklistInput = null;
this.adminAddBlacklistBtn = null;
this.adminBlacklistList = null;
@@ -3322,10 +3320,6 @@ class bitvidApp {
document.getElementById("adminWhitelistInput") || null;
this.adminAddWhitelistBtn =
document.getElementById("adminAddWhitelistBtn") || null;
this.adminWhitelistModeToggle =
document.getElementById("adminWhitelistModeToggle") || null;
this.adminWhitelistModeWrapper =
document.getElementById("adminWhitelistModeWrapper") || null;
this.adminBlacklistSection =
document.getElementById("adminBlacklistSection") || null;
this.adminBlacklistEmpty =
@@ -3457,19 +3451,6 @@ class bitvidApp {
});
}
if (
this.adminWhitelistModeToggle &&
this.adminWhitelistModeToggle.dataset.bound !== "true"
) {
this.adminWhitelistModeToggle.dataset.bound = "true";
this.adminWhitelistModeToggle.addEventListener("change", (event) => {
const enabled = event.target instanceof HTMLInputElement
? event.target.checked
: false;
this.handleWhitelistModeToggle(enabled);
});
}
this.selectProfilePane("account");
this.populateProfileRelays();
this.populateBlockedList();
@@ -3887,13 +3868,6 @@ class bitvidApp {
this.adminModeratorsSection.classList.toggle("hidden", !isSuperAdmin);
this.adminModeratorsSection.setAttribute("aria-hidden", (!isSuperAdmin).toString());
}
if (this.adminWhitelistModeWrapper instanceof HTMLElement) {
this.adminWhitelistModeWrapper.classList.toggle("hidden", !isSuperAdmin);
}
if (this.adminWhitelistModeToggle instanceof HTMLInputElement) {
this.adminWhitelistModeToggle.checked = accessControl.whitelistMode();
}
this.populateAdminLists();
this.setAdminLoading(false);
}
@@ -3965,9 +3939,6 @@ class bitvidApp {
this.adminBlacklistEmpty.textContent;
this.adminBlacklistEmpty.classList.remove("hidden");
}
if (this.adminWhitelistModeToggle instanceof HTMLInputElement) {
this.adminWhitelistModeToggle.checked = accessControl.whitelistMode();
}
}
renderAdminList(listEl, emptyEl, entries, options = {}) {
@@ -4301,48 +4272,6 @@ class bitvidApp {
}
}
async handleWhitelistModeToggle(enabled) {
let preloadError = null;
try {
await accessControl.ensureReady();
} catch (error) {
preloadError = error;
console.error("Failed to load admin lists before toggling whitelist mode:", error);
}
if (preloadError) {
this.showError(this.describeAdminError(preloadError.code || "storage-error"));
if (this.adminWhitelistModeToggle instanceof HTMLInputElement) {
this.adminWhitelistModeToggle.checked = accessControl.whitelistMode();
}
return;
}
const actorNpub = this.ensureAdminActor(true);
if (!actorNpub) {
if (this.adminWhitelistModeToggle instanceof HTMLInputElement) {
this.adminWhitelistModeToggle.checked = accessControl.whitelistMode();
}
return;
}
const result = accessControl.setWhitelistMode(actorNpub, enabled);
if (!result.ok) {
this.showError(this.describeAdminError(result.error));
if (this.adminWhitelistModeToggle instanceof HTMLInputElement) {
this.adminWhitelistModeToggle.checked = accessControl.whitelistMode();
}
return;
}
this.showSuccess(
enabled
? "Whitelist mode enabled. Only approved creators will appear in feeds."
: "Whitelist mode disabled. All creators except those blacklisted will appear."
);
await this.onAccessControlUpdated();
}
async onAccessControlUpdated() {
try {
await this.refreshAdminPaneState();