<!DOCTYPE html> <html lang="en"> <%- include("extra/meta", {title: member.name }) %> <body> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min.css" integrity="sha512-xh6O/CkQoPOWDdYTDqeRdPCVd1SpvCA9XXcUnZS2FmJNp1coAFzvtCN9BmamE+4aHK8yyUHUSCcJHgXloTyT2A==" crossorigin="anonymous" referrerpolicy="no-referrer" /> <link rel="stylesheet" href="/css/user.css" /> <%- include("extra/navbar") %> <div class="content"> <% if (user?.admin || user?.id === member.id) { %> <a href="/users/<%=member.id%>/avatar" class="btn-outline-primary">Upload avatar</a> <link rel="stylesheet" href="/css/modal.css" /> <a class="btn-outline-primary" id="toogle">Edit user!</a> <div class="modal no-active" id="user-edit"> <div class="modal-content"> <div class="modal-close"> <i id="toogle" class="fa-solid fa-square-xmark"></i> </div> <h1 class="title" style="text-align:center;">Edit <a class="see" href="/users/<%= member.id %>"><%= member.name %></a></h1> <div class="content"> <form id="form" class="see" style="box-shadow:none"> <input type="text" name="name" placeholder="<%=member.name%>" class="input"> <input type="url" name="avatar" placeholder="<%=member.avatar%>" class="input"> <textarea class="input" name="about" rows="4" cols="60" name="content" placeholder="<%=member.about%>"></textarea> <% if (user?.admin){ %> Is Admin? <input id='admin' type='checkbox' value='true' name='admin' <%=member.admin ? "checked": ""%>> <input id='adminHidden' type='hidden' value='false' name='admin'> <% } %> <button class="btn-primary" style="width:100%;">Update User!</button> </form> </div> </div> </div> <script type="module"> import request from "../../js/request.js"; const form = document.getElementById("form"); document.addEventListener("click", async e => { if (e.target.id == "delete") { const response = await request("/api/users/<%= member.id %>", "DELETE"); if (!response.deleted) return alert("User is deleted!"); location.reload() } else if (e.target.id == "undelete") { const response = await request("/api/users/<%= member.id %>/undelete"); if (response.deleted) return; alert("User is undeleted successfully!"); location.reload() } else if (e.target.id == "toogle") document.getElementById('user-edit').classList.toggle('no-active') }); form.addEventListener("submit", async e => { e.preventDefault(); document.getElementById('adminHidden').disabled = document.getElementById("admin").checked; const object = {}; new FormData(e.target).forEach((value, key) => object[key] = value); const res = await request("/api/users/<%=member.id%>", "PATCH", object); if (res) alert(`User is updated!`); location.reload(); }); </script> <% } %> <% if (member.deleted) {%> <h1>This user has been deleted!</h1> <a id="undelete" class="btn-primary">Undelete user! </a> <% } else if (user?.admin){ %> <a id="delete" class="btn-outline-primary">Delete user! </a> <% } %> <div class="box" style="justify-content:center;"> <img style="width:150px;height:150px;border-radius:50%;" src="<%=member.avatar %>"> </div> <% if (member.admin) { %> <h2 class="box-value" style="align-self: center;">Admin</h2> <% } %> <div class="box-value" style=" margin: 10px auto; box-shadow: 0 0 5px 0 var(--second); padding: 10px; width: 100%; max-width: 800px; text-align: center; border-radius: 5px; background: none; color: black;"> <%= member.about %> </div> <div class="box"> <h2 class="box-title">Name:</h2> <h2 class="box-value"><%= member.name %></h2> </div> <div class="box"> <h2 class="box-title">Created at:</h2> <h2 class="box-value"><%= new Date(member.time).toLocaleString() %></h2> </div> <div class="box"> <h2 class="box-title">Message:</h2> <h2 class="box-value"><%= counts.message %></h2> </div> <div class="box"> <h2 class="box-title">Thread:</h2> <h2 class="box-value"><%= counts.thread %></h2> </div> </div> </body> <%- include("extra/footer") %> </html>