diff --git a/nrdkwebsite/Pages/users.cshtml b/nrdkwebsite/Pages/users.cshtml index 6435bed..cfe3133 100644 --- a/nrdkwebsite/Pages/users.cshtml +++ b/nrdkwebsite/Pages/users.cshtml @@ -1,6 +1,6 @@ @page @model Users - +@{ViewData["Title"] = "users";} -
+
АйдиНикнеймМасть
Loading...Loading...Loading...
- + @{ + if (ViewData["Admin"] == "true") + { + + } + }
- +@{ + if (ViewData["Admin"] == "true") + { +
+ +
nickname
+ +
масть
+ +
+ +
+
+ + } + } \ No newline at end of file diff --git a/nrdkwebsite/Pages/users.cshtml.cs b/nrdkwebsite/Pages/users.cshtml.cs index 01bcfde..8898873 100644 --- a/nrdkwebsite/Pages/users.cshtml.cs +++ b/nrdkwebsite/Pages/users.cshtml.cs @@ -4,8 +4,11 @@ namespace nrdkwebsite.Pages; public class Users : PageModel { - public void OnGet() + public void OnGet(string user) { - + if (user == "admin") + { + ViewData["Admin"] = "true"; + } } } \ No newline at end of file diff --git a/nrdkwebsite/wwwroot/js/admin.js b/nrdkwebsite/wwwroot/js/admin.js new file mode 100644 index 0000000..c2e0c60 --- /dev/null +++ b/nrdkwebsite/wwwroot/js/admin.js @@ -0,0 +1,60 @@ +function admin() { + document.body.style.background = "black"; + document.getElementById("admin").remove(); + let adminbuttons = document.getElementsByClassName("ADMINBUT"); + for (let item of adminbuttons) { + item.style.display = ""; + } + let createuser = document.createElement("button"); + createuser.append("НОВЫЙ ПОЛЬЗОВАТЕЛЬ"); + createuser.className = "admin"; + createuser.addEventListener("click", createclick); + document.getElementById("divine").append(createuser); +} +async function deleteUser(id) { + const response = await fetch(`/api/users/${id}`, { + method: "DELETE", + headers: { "Accept": "application/json" } + }); + if (response.ok === true) { + const user = await response.json(); + document.getElementById(user.id).remove(); + } + else { + const error = await response.json(); + console.log(error.message); + } +} + +function createclick() { + let form = document.getElementById("newuser"); + form.style.visibility = "visible"; +} + +async function createUser(nickname, mast) { + + const response = await fetch("api/users", { + method: "POST", + headers: { "Accept": "application/json", "Content-Type": "application/json" }, + body: JSON.stringify({ + nickname: nickname, + mast: mast + }) + }); + if (response.ok === true) { + const user = await response.json(); + document.getElementById("users").append(createrow(user, false)); + } + else { + const error = await response.json(); + console.log(error.message); + } +} +function neworupdate() { + let nickname = document.getElementById("nickname"); + let mast = document.getElementById("mast"); + + createUser(nickname.value, mast.value); + nickname.value = ""; + mast.value = ""; +} \ No newline at end of file diff --git a/nrdkwebsite/wwwroot/js/site.js b/nrdkwebsite/wwwroot/js/site.js index df8d396..e67ecc7 100644 --- a/nrdkwebsite/wwwroot/js/site.js +++ b/nrdkwebsite/wwwroot/js/site.js @@ -1,5 +1,5 @@ const loading = document.getElementById("loading"); -let loadingLive = true +let loadingLive = true; async function getUsers() { // отправляет запрос и получаем ответ const response = await fetch("/api/users", { @@ -15,41 +15,31 @@ async function getUsers() { loading.remove(); loadingLive = false } - users.forEach(user => table.append(create(user))); + users.forEach(user => table.append(createrow(user, true))); return users; } } - -function create(user) { +function createrow(user, hidebut) { let tr = document.createElement("tr"); let tdName = document.createElement("td"); let tdMast = document.createElement("td"); let tdId = document.createElement("td"); let tdBut = document.createElement("td"); let ButtDel = document.createElement("button"); - let ButtEdit = document.createElement("button"); tdId.append(user.id); tdName.append(user.nickname); tdMast.append(user.mast); + ButtDel.className = "AdminButtons"; ButtDel.append("УДАЛИТЬ"); - ButtEdit.append("ИЗМЕНИТЬ"); - tdBut.append(ButtDel, ButtEdit); - tdBut.id = "ADMINBUT" + user.id; - tdBut.className = "ADMINBUT" - tdBut.style.display = "none"; + ButtDel.addEventListener("click", async() => await deleteUser(user.id)); + tdBut.append(ButtDel); + tdBut.className = "ADMINBUT"; + if (hidebut) { + tdBut.style.display = "none"; + } tr.append(tdId, tdName, tdMast, tdBut); + tr.id = user.id; return tr; } -// Добавление пользователя -console.log(getUsers()); -console.log("loaded!"); - -function admin() { - document.body.style.background = "black"; - document.getElementById("admin").remove(); - let adminbuttons = document.getElementsByClassName("ADMINBUT"); - for (let item of adminbuttons) { - item.style.display = "inline"; - } -} \ No newline at end of file +getUsers(); \ No newline at end of file