173 lines
4.7 KiB
HTML
173 lines
4.7 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
|
|
<title>
|
|
{{ player.guid }} - {{ player.name }}
|
|
</title>
|
|
|
|
<link rel="stylesheet"
|
|
href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css"
|
|
integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x"
|
|
crossorigin="anonymous"
|
|
/>
|
|
|
|
<link rel="stylesheet"
|
|
href="https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.31.3/css/theme.bootstrap_4.min.css"
|
|
integrity="sha512-2C6AmJKgt4B+bQc08/TwUeFKkq8CsBNlTaNcNgUmsDJSU1Fg+R6azDbho+ZzuxEkJnCjLZQMozSq3y97ZmgwjA=="
|
|
crossorigin="anonymous"
|
|
referrerpolicy="no-referrer"
|
|
/>
|
|
</head>
|
|
|
|
<body>
|
|
<main class="container">
|
|
|
|
<div class="row">
|
|
<div class="col">
|
|
<table class="table table-sm table-borderless">
|
|
<tbody>
|
|
<tr>
|
|
<th scope="row">guid</th>
|
|
<td>
|
|
<a href="https://steamcommunity.com/profiles/{{ player.guid }}" target="_blank">
|
|
{{ player.guid }}
|
|
</a>
|
|
</td>
|
|
<tr>
|
|
<th scope="row">name</th>
|
|
<td>{{ player.name }}</td>
|
|
<tr>
|
|
<th scope="row">first_seen</th>
|
|
<td>{{ player.first_seen }}</td>
|
|
<tr>
|
|
<th scope="row">last_seen</th>
|
|
<td>{{ player.last_seen }}</td>
|
|
<tr>
|
|
<th scope="row">playtime</th>
|
|
<td>{{ player.playtime | to_duration }}</td>
|
|
<tr>
|
|
<th scope="row">chats</th>
|
|
<td>{{ player.chats }}</td>
|
|
<tr>
|
|
<th scope="row">deaths</th>
|
|
<td>{{ player.deaths }}</td>
|
|
<tr>
|
|
<th scope="row">kills</th>
|
|
<td>{{ player.kills }}</td>
|
|
<tr>
|
|
<th scope="row">voicetime</th>
|
|
<td>{{ player.voicetime | to_duration }}</td>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="col">
|
|
<table class="table table-striped tablesorter" id="playerNamesTable">
|
|
<thead>
|
|
<tr>
|
|
<th scope="col">Name</th>
|
|
<th scope="col" class="sorter-duration">Time</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{%- for name in player.names %}
|
|
<tr>
|
|
<th scope="row">{{ name.name }}</th>
|
|
<td>{{ (name.time * 0.015) | to_duration }}</td>
|
|
</tr>
|
|
{%- endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="col">
|
|
<table class="table table-striped" id="playerSpraysTable">
|
|
<thead>
|
|
<tr>
|
|
<th scope="col">Spray</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{%- for spray in player.sprays %}
|
|
<tr>
|
|
<th scope="row">{{ spray.spray }}</th>
|
|
</tr>
|
|
{%- endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<h3>Sessions</h3>
|
|
<table class="table table-striped tablesorter" id="playerSessionsTable">
|
|
<thead>
|
|
<tr>
|
|
<th scope="col">#</th>
|
|
<th scope="col" class="sorter-isoDate">Time</th>
|
|
<th scope="col" class="sorter-duration">Length</th>
|
|
<th scope="col">Map</th>
|
|
<th scope="col" class="sorter-duration">Playtime</th>
|
|
<th scope="col">Chats</th>
|
|
<th scope="col" class="sorter-duration">Voicetime</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{%- for session in player_sessions %}
|
|
<tr>
|
|
<th scope="row">
|
|
<a href="{{ url_for('views.session', session_id=session.session.id) }}#{{ player.guid }}">
|
|
{{ session.session.id }}
|
|
</a>
|
|
</th>
|
|
<td>{{ session.session.time.isoformat(' ') }}</td>
|
|
<td>{{ session.session.length | to_duration }}</td>
|
|
<td>{{ session.session.mapname }}</td>
|
|
<td>{{ session.playtime | to_duration }}</td>
|
|
<td>{{ session.chats }}</td>
|
|
<td>{{ session.voicetime | to_duration }}</td>
|
|
</tr>
|
|
{%- endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</main>
|
|
|
|
<script
|
|
src="https://code.jquery.com/jquery-3.6.0.min.js"
|
|
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
|
|
crossorigin="anonymous"
|
|
></script>
|
|
|
|
<script
|
|
src="https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.31.3/js/jquery.tablesorter.min.js"
|
|
integrity="sha512-qzgd5cYSZcosqpzpn7zF2ZId8f/8CHmFKZ8j7mU4OUXTNRd5g+ZHBPsgKEwoqxCtdQvExE5LprwwPAgoicguNg=="
|
|
crossorigin="anonymous"
|
|
referrerpolicy="no-referrer"
|
|
></script>
|
|
|
|
<script
|
|
src="https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.31.3/js/parsers/parser-duration.min.js"
|
|
integrity="sha512-X7QJLLEO6yg8gSlmgRAP7Ec2qDD+ndnFcd8yagZkkN5b/7bCMbhRQdyJ4SjENUEr+4eBzgwvaFH5yR/bLJZJQA=="
|
|
crossorigin="anonymous"
|
|
referrerpolicy="no-referrer"
|
|
></script>
|
|
|
|
<script type="text/javascript">
|
|
$(function() {
|
|
$("#playerNamesTable").tablesorter({
|
|
theme: "bootstrap"
|
|
});
|
|
$("#playerSessionsTable").tablesorter({
|
|
theme: "bootstrap"
|
|
});
|
|
});
|
|
</script>
|
|
|
|
</body>
|
|
</html>
|