135 lines
4.7 KiB
HTML
135 lines
4.7 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<!-- initialize theme vars
|
|
https://coolors.co/10002b-240046-3c096c-5a189a-7b2cbf-9d4edd-c77dff-e0aaff -->
|
|
|
|
<!-- initialize externals -->
|
|
<meta property="og:title" content="Selenite" />
|
|
<meta property="description" content="Selenite is the best unblocked games site. With over 400 games and an account system, no other websites come close to Selenite." />
|
|
|
|
<meta content="/favicon.png" property="og:image" />
|
|
<meta content="#c77dff" data-react-helmet="true" name="theme-color" />
|
|
<meta name="googlebot" content="index, follow, snippet" />
|
|
<link rel="canonical" href="https://selenite.cc/" />
|
|
<meta property="og:description" content="Selenite is the best unblocked games site. With over 400 games and an account system, no other websites come close to Selenite." />
|
|
<meta property="og:title" content="Selenite">
|
|
<meta property="og:type" content="website">
|
|
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "Organization",
|
|
"name": "Selenite",
|
|
"alternateName": "selenite.cc",
|
|
"url": "https://selenite.cc",
|
|
"logo": "https://selenite.cc/favicon.png",
|
|
"sameAs": [
|
|
"https://github.com/selenite-cc",
|
|
"https://youtube.com/@selenitecc",
|
|
"https://tiktok.com/@selenitecc",
|
|
"https://selenite.cc",
|
|
]
|
|
}
|
|
</script>
|
|
|
|
<!-- initialize my stuff -->
|
|
<script src="/js/all.min.js"></script>
|
|
<script src="/js/main.js"></script>
|
|
<!-- <script src="/js/widget.js"></script> -->
|
|
<script>
|
|
</script>
|
|
|
|
<link rel="stylesheet" href="/css/main.css" />
|
|
<link rel="stylesheet" href="/css/pages.css" />
|
|
<link rel="stylesheet" href="/css/users.css" />
|
|
<link rel="manifest" href="/manifest.json" />
|
|
<!-- seo + other things -->
|
|
<title>Selenite</title>
|
|
<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.ceil(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>
|
|
<link rel="icon" href="/favicon.ico" />
|
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3415518411898563" crossorigin="anonymous"></script>
|
|
</head>
|
|
<alerts> </alerts>
|
|
<body>
|
|
<h1 class="title">users</h1>
|
|
<div id="users"></div>
|
|
<div id="pages"></div>
|
|
</body>
|
|
</html>
|