Code-Review: tote Stellen entfernt, Umwege vereinfacht

- SQLite-Import, migrate.sh, notes/migrations.md und altes jQuery-Skript entfernt
- Backend: scanEntry/queryEntries statt doppelter Scan-Liste, Feed-Queries
  direkt statt feedWhere, Thread ohne Map-Umweg, gemeinsame Helfer für
  Cookie-Löschen und Mediennamen, usernameTaken
- Frontend: PostForm für Beitrag und Antwort, EntryCard in Deleted/LiveCard
  aufgeteilt, tote CSS-Regeln und Typen entfernt, Strich-Regeln zusammengelegt
- Rechtstexte verlinken /stats; Kommentare ohne Vorgeschichte

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TiXsPUqw7oeomZ8wZrQW5q
This commit is contained in:
irrlicht
2026-09-27 15:03:22 +02:00
co-authored by Claude Opus 5.5
parent d1bd0f5f1d
commit df0cfec132
33 changed files with 235 additions and 933 deletions
+1 -1
View File
@@ -12,7 +12,7 @@
<a href="/static/docs/impressum.html">Impressum</a> -
<a href="/static/docs/datenschutz.html">Datenschutz</a> -
<a href="/static/docs/beitragsordnung.html">Beitragsordnung</a> -
<a href="/stats.html">Statistik</a>
<a href="/stats">Statistik</a>
</nav>
<a href="/"><h1>Kontrollverlust</h1></a>
<div id="sigils" aria-hidden="true">
+1 -1
View File
@@ -12,7 +12,7 @@
<a href="/static/docs/impressum.html">Impressum</a> -
<a href="/static/docs/datenschutz.html">Datenschutz</a> -
<a href="/static/docs/beitragsordnung.html">Beitragsordnung</a> -
<a href="/stats.html">Statistik</a>
<a href="/stats">Statistik</a>
</nav>
<a href="/"><h1>Kontrollverlust</h1></a>
</header>
+1 -1
View File
@@ -12,7 +12,7 @@
<a href="/static/docs/impressum.html">Impressum</a> -
<a href="/static/docs/datenschutz.html">Datenschutz</a> -
<a href="/static/docs/beitragsordnung.html">Beitragsordnung</a> -
<a href="/stats.html">Statistik</a>
<a href="/stats">Statistik</a>
</nav>
<a href="/"><h1>Kontrollverlust</h1></a>
</header>
-36
View File
@@ -1,36 +0,0 @@
$(() => {
// $('#auth-visible').hide()
// Startdatum festlegen (Beispiel: 1. Januar 2025, 00:00:00 Uhr)
const startDate = new Date('2025-12-13T12:44:00').getTime();
function updateCounter() {
const now = new Date().getTime();
const diff = now - startDate;
// Berechne Tage, Stunden, Minuten
const days = Math.floor(diff / (1000 * 60 * 60 * 24));
const hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
const minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));
const seconds = Math.floor((diff % (1000 * 60)) / 1000);
// Zeige den Counter an
$('#uptime-counter').html(`<strong>${days}</strong> Tage, <strong>${hours}</strong> Stunden, <strong>${minutes}</strong> Minuten und <strong>${seconds}</strong> Sekunden ohne Datenverlust!`);
}
// Aktualisiere den Counter sofort und dann jede Minute
updateCounter();
setInterval(updateCounter, 1000);
let agreedToWarning = document.cookie.includes("agreedToWarning=True")
if(agreedToWarning) {
$("#contentnotice").hide()
}
})
function setCookie(cname, cvalue, exdays) {
const d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
let expires = "expires="+ d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}