Rework admin player table and account deletion
This commit is contained in:
@@ -204,17 +204,38 @@ function setupHandlers() {
|
||||
});
|
||||
}
|
||||
|
||||
const grantJokerBtn = $("grant-joker");
|
||||
if (grantJokerBtn) {
|
||||
grantJokerBtn.addEventListener("click", async () => {
|
||||
const playerId = $("joker-player")?.value;
|
||||
if (!playerId) return toast(t("admin.jokerSelectFirst"), true);
|
||||
try {
|
||||
await adminApi.grantJoker(playerId);
|
||||
toast(t("admin.jokerGranted"));
|
||||
await refreshPhaseData();
|
||||
} catch (err) {
|
||||
toast(err.message, true);
|
||||
const playerTable = $("admin-player-table");
|
||||
if (playerTable) {
|
||||
playerTable.addEventListener("click", async (e) => {
|
||||
const grantBtn = e.target.closest("[data-grant-joker]");
|
||||
const deleteBtn = e.target.closest("[data-delete-player]");
|
||||
if (grantBtn) {
|
||||
const playerId = grantBtn.dataset.grantJoker;
|
||||
try {
|
||||
await adminApi.grantJoker(playerId);
|
||||
toast(t("admin.jokerGranted"));
|
||||
await refreshPhaseData();
|
||||
} catch (err) {
|
||||
toast(err.message, true);
|
||||
}
|
||||
} else if (deleteBtn) {
|
||||
const playerId = deleteBtn.dataset.deletePlayer;
|
||||
const name = deleteBtn.dataset.name || "";
|
||||
openConfirmModal({
|
||||
title: t("admin.deleteTitle"),
|
||||
body: t("admin.deleteBody", { name }),
|
||||
confirmLabel: t("admin.deleteConfirm"),
|
||||
onConfirm: async (close) => {
|
||||
try {
|
||||
await adminApi.deletePlayer(playerId);
|
||||
toast(t("admin.deleteDone"));
|
||||
close();
|
||||
await refreshPhaseData();
|
||||
} catch (err) {
|
||||
toast(err.message, true);
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user