document.addEventListener("DOMContentLoaded", () => { const userAccounts = document.getElementById("user-accounts"); userAccounts.addEventListener("click", async (e) => { const username = e.target.dataset.username; if (e.target.classList.contains("update-storage")) { const newLimit = prompt("Enter new storage limit in GB:"); if (newLimit) { try { const response = await axios.post("/admin/update_storage", { username: username, new_limit: newLimit, }); alert(response.data.message); location.reload(); } catch (error) { alert( "Failed to update storage: " + (error.response?.data?.error || error.message), ); } } } else if (e.target.classList.contains("toggle-ban")) { const currentStatus = e.target.dataset.banned === "true"; const newStatus = !currentStatus; try { const response = await axios.post("/admin/ban_user", { username: username, ban_status: newStatus, }); alert(response.data.message); location.reload(); } catch (error) { alert( "Failed to update ban status: " + (error.response?.data?.error || error.message), ); } } else if (e.target.classList.contains("delete-account")) { if ( confirm(`Are you sure you want to delete the account for ${username}?`) ) { try { const response = await axios.delete(`/admin/delete/${username}`); alert(response.data.message); location.reload(); } catch (error) { alert( "Failed to delete account: " + (error.response?.data?.error || error.message), ); } } } }); });