From bee19d5af95393235278c57f4f214b637941db0d Mon Sep 17 00:00:00 2001 From: Elijah R Date: Sun, 7 Apr 2024 17:36:08 -0400 Subject: [PATCH] fucking shitty race condition or something idek what to call that --- src/ts/main.ts | 183 ++++++++++++++++++++++++------------------------- 1 file changed, 89 insertions(+), 94 deletions(-) diff --git a/src/ts/main.ts b/src/ts/main.ts index 91745c5..a8a999e 100644 --- a/src/ts/main.ts +++ b/src/ts/main.ts @@ -101,64 +101,61 @@ elements.searchUsersForm.addEventListener('submit', async e => { elements.usersTableBody.innerHTML = ""; elements.usersPageCount.innerText = data.totalPageCount!.toString(10); elements.usersPage.max = data.totalPageCount!.toString(10); - for (var user of data.users!) { - (() => { - var _user = user; - var row = elements.usersTableBody.insertRow(); - var cell = row.insertCell(); - cell.innerText = user.id.toString(10); - cell = row.insertCell(); - cell.innerText = user.username; - cell = row.insertCell(); - cell.innerText = user.email; - cell = row.insertCell(); - // Rank dropdown - var rankSelect = document.createElement('select'); - rankSelect.classList.add('form-select'); - rankSelect.innerHTML = ``; - rankSelect.value = _user.rank.toString(10); - rankSelect.addEventListener('change', async e => { - var newRank = parseInt(rankSelect.value); - // @ts-ignore - if (!window.confirm(`Are you sure you want to set ${_user.username}'s rank to ${RankString[newRank]}?`)) { - e.preventDefault(); - rankSelect.value = _user.rank.toString(10); - return false; - } - var result = await auth.updateUser(_user.username, newRank); - if (!result.success) { - alert("Failed to set rank: " + result.error); - } - }); - cell.appendChild(rankSelect); - cell = row.insertCell(); - cell.innerText = user.banned ? "Yes" : "No"; - cell = row.insertCell(); - cell.innerText = user.dateOfBirth; - cell = row.insertCell(); - cell.innerText = user.dateJoined; - cell = row.insertCell(); - cell.innerText = user.registrationIp; - cell = row.insertCell(); - var developerCheckbox = document.createElement('input'); - developerCheckbox.type = 'checkbox'; - developerCheckbox.checked = _user.developer; - developerCheckbox.addEventListener('change', async e => { - var developer = developerCheckbox.checked; - // @ts-ignore - if (!window.confirm(`Are you sure you want to ${developer ? "grant" : "revoke"} developer status ${developer ? "to" : "from"} ${_user.username}?`)) { - e.preventDefault(); - developerCheckbox.checked = !developer; - return false; - } - var result = await auth.updateUser(_user.username, undefined, developer); - if (!result.success) { - alert("Failed to update developer status: " + result.error); - } - }); - cell.appendChild(developerCheckbox); - })(); - } + data.users?.forEach(user => { + var row = elements.usersTableBody.insertRow(); + var cell = row.insertCell(); + cell.innerText = user.id.toString(10); + cell = row.insertCell(); + cell.innerText = user.username; + cell = row.insertCell(); + cell.innerText = user.email; + cell = row.insertCell(); + // Rank dropdown + var rankSelect = document.createElement('select'); + rankSelect.classList.add('form-select'); + rankSelect.innerHTML = ``; + rankSelect.value = user.rank.toString(10); + rankSelect.addEventListener('change', async e => { + var newRank = parseInt(rankSelect.value); + // @ts-ignore + if (!window.confirm(`Are you sure you want to set ${user.username}'s rank to ${RankString[newRank]}?`)) { + e.preventDefault(); + rankSelect.value = user.rank.toString(10); + return false; + } + var result = await auth.updateUser(user.username, newRank); + if (!result.success) { + alert("Failed to set rank: " + result.error); + } + }); + cell.appendChild(rankSelect); + cell = row.insertCell(); + cell.innerText = user.banned ? "Yes" : "No"; + cell = row.insertCell(); + cell.innerText = user.dateOfBirth; + cell = row.insertCell(); + cell.innerText = user.dateJoined; + cell = row.insertCell(); + cell.innerText = user.registrationIp; + cell = row.insertCell(); + var developerCheckbox = document.createElement('input'); + developerCheckbox.type = 'checkbox'; + developerCheckbox.checked = user.developer; + developerCheckbox.addEventListener('change', async e => { + var developer = developerCheckbox.checked; + // @ts-ignore + if (!window.confirm(`Are you sure you want to ${developer ? "grant" : "revoke"} developer status ${developer ? "to" : "from"} ${_user.username}?`)) { + e.preventDefault(); + developerCheckbox.checked = !developer; + return false; + } + var result = await auth.updateUser(user.username, undefined, developer); + if (!result.success) { + alert("Failed to update developer status: " + result.error); + } + }); + cell.appendChild(developerCheckbox); + }); return false; }); @@ -171,43 +168,41 @@ elements.searchBotsForm.addEventListener('submit', async e => { return false; } elements.botsTableBody.innerHTML = ""; - for (const bot of data.bots!) { - (()=>{ - var row = elements.botsTableBody.insertRow(); - var cell = row.insertCell(); - cell.innerText = bot.id.toString(10); - cell = row.insertCell(); - cell.innerText = bot.username; - cell = row.insertCell(); - if (auth!.account!.rank === 2) { - var rankSelect = document.createElement('select'); - rankSelect.classList.add('form-select'); - rankSelect.innerHTML = ``; - rankSelect.value = bot.rank.toString(10); - rankSelect.addEventListener('change', async e => { - var newRank = parseInt(rankSelect.value); - // @ts-ignore - if (!window.confirm(`Are you sure you want to set ${bot.username}'s rank to ${RankString[newRank]}?`)) { - e.preventDefault(); - rankSelect.value = bot.rank.toString(10); - return false; - } - var result = await auth.adminUpdateBot(bot.username, newRank); - if (!result.success) { - alert("Failed to set rank: " + result.error); - } - }); - cell.appendChild(rankSelect); - } else { + data.bots?.forEach(bot => { + var row = elements.botsTableBody.insertRow(); + var cell = row.insertCell(); + cell.innerText = bot.id.toString(10); + cell = row.insertCell(); + cell.innerText = bot.username; + cell = row.insertCell(); + if (auth!.account!.rank === 2) { + var rankSelect = document.createElement('select'); + rankSelect.classList.add('form-select'); + rankSelect.innerHTML = ``; + rankSelect.value = bot.rank.toString(10); + rankSelect.addEventListener('change', async e => { + var newRank = parseInt(rankSelect.value); // @ts-ignore - cell.innerText = RankString[bot.rank]; - } - cell = row.insertCell(); - cell.innerText = bot.owner; - cell = row.insertCell(); - cell.innerText = bot.created; - })(); - } + if (!window.confirm(`Are you sure you want to set ${bot.username}'s rank to ${RankString[newRank]}?`)) { + e.preventDefault(); + rankSelect.value = bot.rank.toString(10); + return false; + } + var result = await auth.adminUpdateBot(bot.username, newRank); + if (!result.success) { + alert("Failed to set rank: " + result.error); + } + }); + cell.appendChild(rankSelect); + } else { + // @ts-ignore + cell.innerText = RankString[bot.rank]; + } + cell = row.insertCell(); + cell.innerText = bot.owner; + cell = row.insertCell(); + cell.innerText = bot.created; + }); return false; });