mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-11-01 18:32:27 +00:00
Remove whitelist mode toggle from admin panel
This commit is contained in:
1 parent
014b1369b0
commit
a56568e3c7
2 files changed
-83
No files matched your search
@@ -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.
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in new issue
Block a user