first commit
This commit is contained in:
105
html/users.html.old
Executable file
105
html/users.html.old
Executable file
@ -0,0 +1,105 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="sl-theme-dark" lang="en">
|
||||
<head>
|
||||
<!-- initialize theme vars
|
||||
https://coolors.co/10002b-240046-3c096c-5a189a-7b2cbf-9d4edd-c77dff-e0aaff -->
|
||||
|
||||
<!-- initialize externals -->
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.0/jquery.min.js"></script>
|
||||
<script src=" https://cdn.jsdelivr.net/npm/js-cookie@3.0.5/dist/js.cookie.min.js "></script>
|
||||
|
||||
<!-- initialize my stuff -->
|
||||
<script src="/js/all.min.js"></script>
|
||||
<script src="/js/main.js"></script>
|
||||
<script src="/js/widget.js"></script>
|
||||
<script src="/js/themes.js"></script>
|
||||
|
||||
<link rel="stylesheet" href="/style.css" />
|
||||
|
||||
<!-- seo + other things -->
|
||||
<title>Users | Selenite</title>
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
<script>
|
||||
async function loadUsers(query, page) {
|
||||
let above = false;
|
||||
let below = false;
|
||||
let data = await (await fetch(`/api/getUsers?page=${page - 1}&query=${query}`)).json();
|
||||
let users = data['users'];
|
||||
let url = new URL(location.href);
|
||||
|
||||
pages = Math.floor(data.count / 12);
|
||||
document.getElementById("users").innerHTML = "";
|
||||
for (let i = 0; i < Object.keys(users).length; i++) {
|
||||
document.getElementById("users").innerHTML += `<a href="/u/${users[i].username}" class="users"><img class="pfp" src="${users[i].pfp_url}"/><div class="user_info"><h1>${users[i].name}</h1><p>${users[i].about}</p></div></a>`;
|
||||
}
|
||||
document.getElementById("pages").innerHTML = "";
|
||||
for (let i = 1; i < pages + 1; i++) {
|
||||
if (i + 6 > page && i - 6 < page) {
|
||||
let curPage = parseInt(page);
|
||||
let element = document.createElement("a");
|
||||
if (!(i == curPage)) {
|
||||
url.searchParams.set("page", i);
|
||||
element.setAttribute("href", url);
|
||||
}
|
||||
element.setAttribute("class", `pages-btn`);
|
||||
element.innerText = i;
|
||||
document.getElementById("pages").append(element);
|
||||
} else {
|
||||
if (i + 6 > page) {
|
||||
above = true;
|
||||
}
|
||||
if (i - 6 < page) {
|
||||
below = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (above) {
|
||||
let element = document.createElement("a");
|
||||
element.setAttribute("class", "pages-btn");
|
||||
element.innerText = "...";
|
||||
document.getElementById("pages").append(element);
|
||||
}
|
||||
if (below) {
|
||||
let element = document.createElement("a");
|
||||
element.setAttribute("class", "pages-btn");
|
||||
element.innerText = "...";
|
||||
document.getElementById("pages").prepend(element);
|
||||
}
|
||||
}
|
||||
let pages;
|
||||
document.addEventListener("DOMContentLoaded", async () => {
|
||||
let params = location.search.substring(1).split("&");
|
||||
let query;
|
||||
let page;
|
||||
if (params) {
|
||||
for (let i = 0; i < params.length; i++) {
|
||||
if (params[i].startsWith("query")) {
|
||||
query = params[i].substring(6);
|
||||
}
|
||||
if (params[i].startsWith("page")) {
|
||||
page = params[i].substring(5);
|
||||
if (isNaN(page)) {
|
||||
page = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
await loadUsers(query ? query : "", page ? page : 0);
|
||||
document.getElementById("search").addEventListener("keydown", async (e) => {
|
||||
if (e.key == "Enter") {
|
||||
let url = new URL(location.href);
|
||||
url.searchParams.set("query", document.getElementById("search").value);
|
||||
url.searchParams.set("page", 1);
|
||||
location.href = url;
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<alerts> </alerts>
|
||||
<body id="noscroll">
|
||||
<input id="search" type="text" placeholder="search.." />
|
||||
<div id="users"></div>
|
||||
<div id="pages"></div>
|
||||
</body>
|
||||
</html>
|
Reference in New Issue
Block a user