Open-source multiplayer game server compatible with the RuneScape client
https://www.openrs2.org/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
3.4 KiB
86 lines
3.4 KiB
<!DOCTYPE html>
|
|
<html xmlns:th="http://www.thymeleaf.org" lang="en">
|
|
<head th:replace="layout.html :: head(title='Cache')">
|
|
<title>Cache - OpenRS2 Archive</title>
|
|
<link rel="stylesheet" href="/webjars/bootstrap/css/bootstrap.min.css" />
|
|
<link rel="stylesheet" href="/static/css/openrs2.css" />
|
|
<script src="/webjars/jquery/jquery.min.js" defer></script>
|
|
<script src="/webjars/bootstrap/js/bootstrap.bundle.min.js" defer></script>
|
|
</head>
|
|
<body>
|
|
<nav th:replace="layout.html :: nav"></nav>
|
|
<main class="container">
|
|
<h1>Cache</h1>
|
|
|
|
<!--/*@thymesVar id="cache" type="org.openrs2.archive.cache.CacheExporter.Cache"*/-->
|
|
<table class="table table-striped table-bordered table-hover">
|
|
<tr class="thead-dark">
|
|
<th>Game</th>
|
|
<td th:text="${#strings.setJoin(cache.games, ', ')}">runescape</td>
|
|
</tr>
|
|
<tr class="thead-dark">
|
|
<th>Build(s)</th>
|
|
<td th:text="${#strings.setJoin(cache.builds, ', ')}">550</td>
|
|
</tr>
|
|
<tr class="thead-dark">
|
|
<th>Timestamp</th>
|
|
<td th:text="${#temporals.format(cache.timestamp, 'yyyy-MM-dd HH:mm:ss')}"></td>
|
|
</tr>
|
|
<tr class="thead-dark">
|
|
<th>Name</th>
|
|
<td th:text="${#strings.setJoin(cache.names, '/')}"></td>
|
|
</tr>
|
|
<tr class="thead-dark">
|
|
<th>Description</th>
|
|
<td th:text="${#strings.listJoin(cache.descriptions, ' ')}"></td>
|
|
</tr>
|
|
<tr class="thead-dark">
|
|
<th>URL(s)</th>
|
|
<td>
|
|
<ul>
|
|
<li th:each="url : ${cache.urls}">
|
|
<a th:href="${url}" th:text="${url}">https://www.example.com/</a>
|
|
</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr class="thead-dark">
|
|
<th>Indexes</th>
|
|
<td th:class="${cache.stats}? (${cache.stats.allIndexesValid}? 'table-success' : 'table-danger')"
|
|
th:text="${cache.stats}? ${cache.stats.validIndexes} + ' / ' + ${cache.stats.indexes} + ' (' + ${#numbers.formatPercent(cache.stats.validIndexesFraction, 1, 2)} + ')' : 'Calculating...'">
|
|
Calculating...
|
|
</td>
|
|
</tr>
|
|
<tr class="thead-dark">
|
|
<th>Groups</th>
|
|
<td th:class="${cache.stats}? (${cache.stats.allGroupsValid}? 'table-success' : 'table-warning')"
|
|
th:text="${cache.stats}? ${#numbers.formatInteger(cache.stats.validGroups, 1, 'COMMA')} + ' / ' + ${#numbers.formatInteger(cache.stats.groups, 1, 'COMMA')} + ' (' + ${#numbers.formatPercent(cache.stats.validGroupsFraction, 1, 2)} + ')' : 'Calculating...'">
|
|
Calculating...
|
|
</td>
|
|
</tr>
|
|
<tr class="thead-dark">
|
|
<th>Keys</th>
|
|
<td th:class="${cache.stats}? (${cache.stats.allKeysValid}? 'table-success' : 'table-warning')"
|
|
th:text="${cache.stats}? ${#numbers.formatInteger(cache.stats.validKeys, 1, 'COMMA')} + ' / ' + ${#numbers.formatInteger(cache.stats.keys, 1, 'COMMA')} + ' (' + ${#numbers.formatPercent(cache.stats.validKeysFraction, 1, 2)} + ')' : 'Calculating...'">
|
|
Calculating...
|
|
</td>
|
|
</tr>
|
|
<tr class="thead-dark">
|
|
<th>Download</th>
|
|
<td>
|
|
<div class="btn-group">
|
|
<a th:href="${'/caches/' + cache.id + '.zip'}"
|
|
class="btn btn-primary btn-sm">Cache</a>
|
|
<a th:href="${'/caches/' + cache.id + '/keys.json'}"
|
|
class="btn btn-primary btn-sm">Keys (JSON)</a>
|
|
<a th:href="${'/caches/' + cache.id + '/keys.zip'}"
|
|
class="btn btn-primary btn-sm">Keys (Text)</a>
|
|
<a th:href="${'/caches/' + cache.id + '/map.png'}"
|
|
class="btn btn-primary btn-sm">Map</a>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</main>
|
|
</body>
|
|
</html>
|
|
|