akf-forum/views/admin.ejs

78 lines
1.8 KiB
Text
Raw Normal View History

2022-03-13 16:16:46 +03:00
<!DOCTYPE html>
<html lang="en">
<%- include("extra/meta", {title: "Admin Panel!" }) %>
<body style="text-align: center;">
<%- include("extra/navbar") %>
2022-08-29 22:02:27 +03:00
<style>
table {
font-family: arial, sans-serif;
border-collapse: collapse;
width: 100%;
}
td, th {
border: 1px solid #dddddd;
text-align: left;
padding: 8px;
2022-08-31 19:16:43 +03:00
color: var(--reaction-hover);
2022-08-29 22:02:27 +03:00
}
tr:nth-child(even) {
background-color: #dddddd;
}
</style>
<div>
2022-08-31 18:11:54 +03:00
<h1 style="color: var(--main);">Welcome to the admin panel of the forum, <%= user.name %>!</h1>
2022-08-29 22:02:27 +03:00
<a class="btn-primary" onclick="ban();">IP BAN</a>
<a class="btn-outline-primary" onclick="unban();">REMOVE IP BAN</a>
2022-08-31 18:11:54 +03:00
<h2 style="color: var(--second);">Banned users:</h2>
2022-08-29 22:02:27 +03:00
<table >
<tr>
<th>IP</th>
<th>Reason</th>
<th>AuthorID</th>
</tr>
<% for (const ban of bans) { %>
<tr>
<td><%=ban.ip%></td>
<td><%=ban.reason%></td>
<td><%=ban.authorID%></td>
</tr>
<% } %>
</table>
<script type="module">
import request from "../../js/request.js";
window.unban = async function () {
const ip = prompt("Enter ip to unban");
const response = await request("/api/bans/"+ip,"DELETE");
if(response)
alert("IP unbanned!");
else
alert("IP is not unbanned!");
location.reload();
}
window.ban = async function () {
const ip = prompt("Enter ip to ban");
const response = await request("/api/bans/"+ip);
if(response)
alert("IP banned!");
else
alert("IP is not banned!");
location.reload();
}
</script>
</div>
</body>
</html>