Feedacksystem hinzugefügt, Bugs in der Timelock behoben

This commit is contained in:
2026-03-25 16:29:50 +01:00
parent 528ea89bc4
commit eb741daf4c
90 changed files with 4670 additions and 2146 deletions

View File

@@ -4,7 +4,7 @@
<meta charset="UTF-8">
<link rel="icon" href="/img/icon.png" type="image/png">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Chastity Game XXX The Game</title>
<title>Chastity Game xXx Sphere</title>
<link rel="stylesheet" href="/css/variables.css">
<link rel="stylesheet" href="/css/style.css">
<style>
@@ -719,6 +719,15 @@
</div>
</div>
<!-- TTLock Lade-Dialog -->
<div class="warn-modal-backdrop" id="ttlLoadingModal">
<div class="warn-modal-box" style="text-align:center;padding:2rem 1.5rem;">
<div style="font-size:2rem;margin-bottom:0.75rem;"></div>
<div style="font-weight:600;margin-bottom:0.4rem;">TTLock-Kommunikation läuft…</div>
<div style="font-size:0.85rem;color:var(--color-muted);">Bitte warten, der TTLock-Server wird kontaktiert.</div>
</div>
</div>
<!-- Warn-Modal (TestLock beenden) -->
<div class="warn-modal-backdrop" id="warnModal">
<div class="warn-modal-box">
@@ -762,7 +771,7 @@
<script src="/js/shared.js"></script>
<script src="/js/card-defs.js"></script>
<script src="/js/card-display.js"></script>
<script src="/js/icons.js"></script>
<script src="/js/icons.js"></script>
<script src="/js/sidebar.js"></script>
<script src="/js/social-sidebar.js"></script>
<script>
@@ -1421,7 +1430,21 @@
async function endHygieneOpening() {
if (hygieneTickInterval) { clearInterval(hygieneTickInterval); hygieneTickInterval = null; }
const isTtlock = _currentLock && _currentLock.controllType === 'TTLOCK';
if (isTtlock) {
document.getElementById('hygieneModal').classList.remove('open');
document.getElementById('ttlLoadingModal').classList.add('open');
}
const res = await fetch('/keyholder/cardlock/' + lockId + '/hygiene/end', { method: 'POST' });
if (isTtlock) {
document.getElementById('ttlLoadingModal').classList.remove('open');
if (!res.ok) { alert('Fehler beim Beenden der Hygiene-Öffnung.'); return; }
loadLock();
return;
}
if (!res.ok) { alert('Fehler beim Beenden der Hygiene-Öffnung.'); return; }
const data = await res.json();
@@ -1497,6 +1520,9 @@
async function lockLoeschen() {
closeWarnModal();
if (_currentLock && _currentLock.controllType === 'TTLOCK') {
document.getElementById('ttlLoadingModal').classList.add('open');
}
try {
await fetch('/keyholder/cardlock/' + lockId, { method: 'DELETE' });
} catch (_) { /* ignorieren */ }