Merge pull request 'Add online time and deaths to player card' (#3) from lundberg_onlinetime_deaths into master

Reviewed-on: #3
This commit is contained in:
erik 2025-05-02 19:36:24 +00:00
commit ad5e1d478a
4 changed files with 56 additions and 2 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
.venv
__pycache__

45
generate_data.py Normal file
View file

@ -0,0 +1,45 @@
import httpx
from datetime import datetime, timedelta, timezone
from time import sleep
from main import TelemetrySnapshot
def main() -> None:
wait = 10
online_time = 24 * 3600 # start at 1 day
ew = 0
ns = 0
while True:
snapshot = TelemetrySnapshot(
character_name="Test name",
char_tag="test_tag",
session_id="test_session_id",
timestamp=datetime.now(tz=timezone.utc),
ew=ew,
ns=ns,
z=0,
kills=0,
kills_per_hour="kph_str",
onlinetime=str(timedelta(seconds=online_time)),
deaths=0,
rares_found=0,
prismatic_taper_count=0,
vt_state="test state",
)
resp = httpx.post(
"http://localhost:8000/position/",
data=snapshot.model_dump_json(),
headers={
"Content-Type": "application/json",
"X-PLUGIN-SECRET": "your_shared_secret",
},
)
print(resp)
sleep(wait)
ew += 0.1
ns += 0.1
online_time += wait
if __name__ == "__main__":
main()

View file

@ -209,6 +209,8 @@ function render(players) {
<span class="stat kph">${p.kills_per_hour}</span> <span class="stat kph">${p.kills_per_hour}</span>
<span class="stat rares">${p.rares_found}</span> <span class="stat rares">${p.rares_found}</span>
<span class="stat meta">${p.vt_state}</span> <span class="stat meta">${p.vt_state}</span>
<span class="stat onlinetime">${p.onlinetime}</span>
<span class="stat deaths">${p.deaths}</span>
`; `;
li.addEventListener('click', () => selectPlayer(p, x, y)); li.addEventListener('click', () => selectPlayer(p, x, y));

View file

@ -156,11 +156,12 @@ body {
#playerList li { #playerList li {
display: grid; display: grid;
grid-template-columns: 1fr auto; grid-template-columns: 1fr auto;
grid-template-rows: auto auto auto; grid-template-rows: auto auto auto auto;
grid-template-areas: grid-template-areas:
"name loc" "name loc"
"kills kph" "kills kph"
"rares meta"; "rares meta"
"onlinetime deaths";
gap: 4px 8px; gap: 4px 8px;
margin: 6px 0; margin: 6px 0;
padding: 8px 10px; padding: 8px 10px;
@ -178,6 +179,8 @@ body {
.stat.kph { grid-area: kph; } .stat.kph { grid-area: kph; }
.stat.rares { grid-area: rares; } .stat.rares { grid-area: rares; }
.stat.meta { grid-area: meta; } .stat.meta { grid-area: meta; }
.stat.onlinetime { grid-area: onlinetime; }
.stat.deaths { grid-area: deaths; }
/* pill styling */ /* pill styling */
#playerList li .stat { #playerList li .stat {
@ -198,6 +201,8 @@ body {
background: var(--accent); background: var(--accent);
color: #111; color: #111;
} }
.stat.onlinetime::before { content: "🕑 "}
.stat.deaths::before { content: "💀 "}
/* hover & selected states */ /* hover & selected states */
#playerList li:hover { background: var(--card-hov); } #playerList li:hover { background: var(--card-hov); }