1
mirror of https://github.com/jakejarvis/npqueue.git synced 2025-04-26 08:05:21 -04:00

initial commit

This commit is contained in:
Jake Jarvis 2019-06-15 22:22:56 -04:00
commit 6f0785d031
No known key found for this signature in database
GPG Key ID: D36CB66F4002B25B
7 changed files with 442212 additions and 0 deletions

2
README.md Normal file
View File

@ -0,0 +1,2 @@
# npqueue

442087
directory.json Normal file

File diff suppressed because it is too large Load Diff

BIN
favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

BIN
favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

78
fetch.js Normal file
View File

@ -0,0 +1,78 @@
document.addEventListener("DOMContentLoaded", updateData, false);
async function fetchData() {
let request = await fetch("https://hidden-depths-42970.herokuapp.com/api/list");
if(request.status == 200) {
console.log("New JSON successfully fetched!");
let data = await request.json();
return data;
}
throw new Error(request.status);
}
function updateData() {
fetchData().then(data => updateTable(data)).catch(data => console.log(data));
// Re-fetch data every 15 seconds
setTimeout(updateData, 15000);
}
function updateTable(data) {
active = document.getElementById("active");
active.innerText = `Active Players: ${data.currentPlayers} / 32`;
queue = document.getElementById("queue");
queue.innerText = `In Queue: ${data.currentQueue}`;
table = document.getElementsByTagName("table")[0].getElementsByTagName("tbody")[0];
data.players = data.players.sort((a, b) => (a.id > b.id) ? 1 : ((b.id > a.id) ? -1 : 0));
data.players.forEach(function(player, i) {
newRow = table.insertRow(table.rows.length);
newCell = newRow.insertCell(0);
newText = document.createTextNode(`${i+1}`)
newCell.appendChild(newText);
newCell = newRow.insertCell(1);
newText = document.createTextNode(`${player.id}`)
newCell.appendChild(newText);
newCell = newRow.insertCell(2);
a = document.createElement('a');
a.setAttribute('href', `https://www.twitch.tv/${player.identifiers[3]}`);
a.setAttribute('target', '_blank');
a.setAttribute('rel', 'noopener noreferrer nofollow');
a.innerHTML = player.identifiers[3];
newCell.appendChild(a);
newCell = newRow.insertCell(3);
a = document.createElement('a');
a.setAttribute('href', `https://www.nopixel.net/upload/index.php?members/${player.identifiers[4]}`);
a.setAttribute('target', '_blank');
a.setAttribute('rel', 'noopener noreferrer nofollow');
a.innerHTML = player.identifiers[0];
newCell.appendChild(a);
newCell = newRow.insertCell(4);
a = document.createElement('a');
a.setAttribute('href', `https://steamcommunity.com/profiles/${player.identifiers[2]}`);
a.setAttribute('target', '_blank');
a.setAttribute('rel', 'noopener noreferrer nofollow');
a.innerHTML = player.name;
newCell.appendChild(a);
newCell = newRow.insertCell(5);
newText = document.createTextNode(`${player.identifiers[1]}`)
newCell.appendChild(newText);
newCell = newRow.insertCell(6);
newText = document.createTextNode(`${player.identifiers[2]}`)
newCell.appendChild(newText);
newCell = newRow.insertCell(7);
newText = document.createTextNode(`${player.ping} ms`)
newCell.appendChild(newText);
});
}

34
index.html Normal file
View File

@ -0,0 +1,34 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>NoPixel GTA5 RP Online Players</title>
<link rel="icon" href="favicon.ico" type="image/x-icon">
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1 id="title">NoPixel Server 1</h1>
<h2 id="active">Active Players:</h2>
<h2 id="queue">In Queue:</h2>
<p>Please report missing or inaccurate on <a href="#">GitHub</a> or <a href="mailto:nopixellist@gmail.com">via email</a>.</p>
<table id="players">
<thead>
<tr>
<th>#</th>
<th>Session ID</th>
<th>Twitch</th>
<th>NoPixel Forums</th>
<th>Steam Name</th>
<th>Steam ID</th>
<th>Steam64 ID</th>
<th>Ping</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<script src="fetch.js"></script>
</body>
</html>

11
style.css Normal file
View File

@ -0,0 +1,11 @@
body {
font-size: 1em;
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
"Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans",
"Droid Sans", "Helvetica Neue", sans-serif,
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
table, th, td {
border: 1px solid #000;
}