add blocks

This commit is contained in:
2025-12-17 10:14:13 +02:00
parent 18a31be0b1
commit d78a6bedd5
54 changed files with 2755 additions and 10 deletions

View File

@@ -0,0 +1,18 @@
# Пользовательская панель
user:<br>
<select id="users_list"></select>
<button id="btn_load_users">Load Users</button><br>
ID:<br>
<input id="ud_id" placeholder="ID"><br>
user:<br>
<input id="ud_username" placeholder="Username"><br>
password:<br>
<input id="ud_password" placeholder="New password" type="password">
<button class="toggle-pass" type="button">👁</button><br><br>
<button id="btn_update_pass">Update password</button>
<button id="btn_delete_user">Delete user</button>
<div class="blockTest">ТестТестТест</div>

View File

@@ -0,0 +1,56 @@
users_list.onchange = (e) => getUserData(e.target.value);
async function getUserData(username) {
const data = await apiProtected(
`/api/users/getUserData?username=${encodeURIComponent(username)}`
);
ud_id.value = data.ID;
ud_username.value = data.Username;
}
btn_load_users.onclick = getUsersNames;
document.addEventListener("DOMContentLoaded", getUsersNames);
async function getUsersNames() {
const users = await apiProtected("/api/users/getUsersNames");
users_list.innerHTML = "";
users.forEach((username) => {
const opt = document.createElement("option");
opt.value = username;
opt.textContent = username;
users_list.appendChild(opt);
});
if (users.length > 0) getUserData(users[0]);
}
btn_update_pass.onclick = updatePassword;
async function updatePassword() {
const username = ud_username.value;
const password = ud_password.value;
if (!password) return alert("Введите пароль");
await apiProtected("/api/users/update_password", {
method: "POST",
body: JSON.stringify({ username, password })
});
alert("Пароль обновлён");
}
btn_delete_user.onclick = deleteUser;
async function deleteUser() {
const username = users_list.value;
if (!username) return;
if (!confirm(`Удалить пользователя "${username}"?`)) return;
await apiProtected("/api/users/delete_user", {
method: "Delete",
body: JSON.stringify({ username })
});
alert("Удалён");
getUsersNames();
}

View File

@@ -0,0 +1 @@
.blockTest { color: blue; }