Add chat nick to admin users
This commit is contained in:
+29
-5
@@ -507,6 +507,7 @@ async function createAdminUser(event) {
|
||||
body: {
|
||||
username: data.get("username"),
|
||||
displayName: data.get("displayName"),
|
||||
chatNick: data.get("chatNick"),
|
||||
password: data.get("password")
|
||||
}
|
||||
}).catch((error) => error);
|
||||
@@ -523,6 +524,7 @@ async function createAdminUser(event) {
|
||||
async function handleAdminUserClick(event) {
|
||||
const resetButton = event.target.closest("[data-reset-admin-user]");
|
||||
const renameButton = event.target.closest("[data-rename-admin-user]");
|
||||
const nickButton = event.target.closest("[data-nick-admin-user]");
|
||||
const deleteButton = event.target.closest("[data-delete-admin-user]");
|
||||
if (renameButton) {
|
||||
const id = renameButton.dataset.renameAdminUser;
|
||||
@@ -543,6 +545,25 @@ async function handleAdminUserClick(event) {
|
||||
}
|
||||
setAdminUsersStatus(adminUserError(result));
|
||||
}
|
||||
if (nickButton) {
|
||||
const id = nickButton.dataset.nickAdminUser;
|
||||
const user = state.adminUsers.find((item) => String(item.id) === String(id));
|
||||
if (!user || user.isSystem) return;
|
||||
const chatNick = window.prompt(`Nick v chatu pro ${user.username}`, user.chatNick || user.displayName || user.username);
|
||||
if (chatNick === null) return;
|
||||
setAdminUsersStatus("Ukladam nick...");
|
||||
const result = await api(`/api/admin/users/${id}`, {
|
||||
method: "PATCH",
|
||||
body: { chatNick }
|
||||
}).catch((error) => error);
|
||||
if (result?.users) {
|
||||
state.adminUsers = result.users;
|
||||
renderAdminUsers();
|
||||
setAdminUsersStatus("Nick ulozen.");
|
||||
return;
|
||||
}
|
||||
setAdminUsersStatus(adminUserError(result));
|
||||
}
|
||||
if (resetButton) {
|
||||
const id = resetButton.dataset.resetAdminUser;
|
||||
const user = state.adminUsers.find((item) => String(item.id) === String(id));
|
||||
@@ -584,12 +605,15 @@ function renderAdminUsers() {
|
||||
<article class="admin-user-item">
|
||||
<div>
|
||||
<strong>${escapeHtml(user.displayName || user.username)}</strong>
|
||||
<span>${escapeHtml(user.username)} · ${user.isSystem ? "systemovy .env ucet" : "BO ucet"}</span>
|
||||
<span>${escapeHtml(user.username)} · chat: ${escapeHtml(user.chatNick || user.displayName || user.username)} · ${user.isSystem ? "systemovy .env ucet" : "BO ucet"}</span>
|
||||
</div>
|
||||
<div class="admin-user-actions">
|
||||
<span class="password-mask" title="Heslo se nezobrazuje">${user.hasPassword ? "••••••••" : "bez hesla"}</span>
|
||||
<button type="button" data-rename-admin-user="${user.id}" ${user.isSystem ? "disabled" : ""}>Jmeno</button>
|
||||
<button type="button" data-nick-admin-user="${user.id}" ${user.isSystem ? "disabled" : ""}>Nick</button>
|
||||
<button type="button" data-reset-admin-user="${user.id}" ${user.isSystem ? "disabled" : ""}>Reset hesla</button>
|
||||
<button type="button" data-delete-admin-user="${user.id}" ${user.isSystem ? "disabled" : ""}>Smazat</button>
|
||||
</div>
|
||||
<span class="password-mask" title="Heslo se nezobrazuje">${user.hasPassword ? "••••••••" : "bez hesla"}</span>
|
||||
<button type="button" data-rename-admin-user="${user.id}" ${user.isSystem ? "disabled" : ""}>Jmeno</button>
|
||||
<button type="button" data-reset-admin-user="${user.id}" ${user.isSystem ? "disabled" : ""}>Reset hesla</button>
|
||||
<button type="button" data-delete-admin-user="${user.id}" ${user.isSystem ? "disabled" : ""}>Smazat</button>
|
||||
</article>
|
||||
`).join("") : `<p class="empty">Zatim tu nejsou zadni BO uzivatele.</p>`;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user