Alten Flask/Python-Code und Jinja-Templates entfernt
Go-Reimplementierung hat Feature-Paritaet (inkl. URL-Linkify im JS-Frontend via linkify()). static/ bleibt (Go liefert /static/* aus und legt Uploads unter static/media/ ab); alte Flask-Assets dort unberuehrt. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1,17 +0,0 @@
|
||||
<div id="headerbar">
|
||||
<div class="headerbar-left">
|
||||
{% if loggedin %}
|
||||
<!--button hx-get="/auth/sessioninfo" hx-target="#main-frame">Username</button-->
|
||||
<button onclick="if(confirm('Abmelden?')){location.href = '/auth/logout';}">Abmelden</button>
|
||||
{% else %}
|
||||
<button hx-get="/auth/login" hx-target="#main-frame">Anmelden</button>
|
||||
<button hx-get="/auth/newuser" hx-target="#main-frame">Neuen Account erstellen</button>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="headerbar-right">
|
||||
<a href="/static/docs/impressum.html">Impressum</a>
|
||||
<a href="/static/docs/beitragsordnung.html">Beitragsordnung</a>
|
||||
<a href="/static/docs/datenschutz.html">Datenschutz</a>
|
||||
<a href="/static/docs/kontakt.html">Kontakt</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,17 +0,0 @@
|
||||
<h2>Einloggen</h2>
|
||||
<form hx-post="/auth/login" hx-target="#main-frame">
|
||||
<input type="text" name="user" placeholder="Nutzername" value="{{ username }}"><br>
|
||||
<input type="password" name="pass" placeholder="Passphrase"><br>
|
||||
<label>Automatisch abmelden in:</label>
|
||||
<select name="timeout">
|
||||
<option value="1200">20 Minuten</option>
|
||||
<option value="3600" selected="selected">1 Stunde</option>
|
||||
<option value="18000">5 Stunden</option>
|
||||
<option value="86400">24 Stunden</option>
|
||||
<option value="31536000">1 Jahr</option>
|
||||
</select>
|
||||
<button type="submit">Anmelden</button>
|
||||
<div>
|
||||
{{response}}
|
||||
</div>
|
||||
</form>
|
||||
@@ -1,3 +0,0 @@
|
||||
<h1>Willkommen, {{username}}!</h1>
|
||||
|
||||
<button hx-get="/auth/logout" hx-swap="outerHTML">Abmelden...</button>
|
||||
@@ -1,15 +0,0 @@
|
||||
<h2>Neuen Account registrieren</h2>
|
||||
<form hx-post="/auth/newuser" hx-target="#main-frame" method="post">
|
||||
<input type="text" name="user" placeholder="Nutzername" value="{{ username }}"><br>
|
||||
<input type="password" name="pass1" placeholder="Passphrase"><br>
|
||||
<input type="password" name="pass2" placeholder="Passphrase wiederholen"><br>
|
||||
<label><input type="checkbox" name="pass2"> Ich bin mit der <a href="">Datenschutzerklärung</a> einverstanden!</label>
|
||||
<button type="submit">Account registrieren!</button>
|
||||
|
||||
<div>
|
||||
{% for r in responses %}
|
||||
{{ r }} <br>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
<h2>Willkommen im Kontrollverlust!</h2>
|
||||
<p>Du kannst dich nun als {{username}} <button hx-get="/auth/login" hx-target="#main-frame">Anmelden</button>
|
||||
!</p>
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
Sessionid: {{ sessionid }} <br>
|
||||
UID: {{ uid }} <br>
|
||||
Created: {{ created_at | timestamp }} <br>
|
||||
Expires: {{ expires | timestamp }} <br>
|
||||
Description: {{ description }} <br>
|
||||
@@ -1,67 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
|
||||
<title>{% block title %}{% endblock %}</title>
|
||||
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css"
|
||||
integrity="sha512-NhSC1YmyruXifcj/KFRWoC561YpHpc5Jtzgvbuzx5VozKpWvQ+4nXhPdFgmx8xqexRcpAglTj9sIBWINXa8x5w=="
|
||||
crossorigin="anonymous"
|
||||
referrerpolicy="no-referrer"
|
||||
/>
|
||||
|
||||
<link rel="stylesheet" href="/static/css/main.css" />
|
||||
|
||||
<script
|
||||
src="https://cdn.jsdelivr.net/npm/htmx.org@2.0.8/dist/htmx.min.js"
|
||||
integrity="sha384-/TgkGk7p307TH7EXJDuUlgG3Ce1UVolAOFopFekQkkXihi5u/6OCvVKyz1W+idaz"
|
||||
crossorigin="anonymous"
|
||||
></script>
|
||||
<script
|
||||
src="https://code.jquery.com/jquery-3.7.1.min.js"
|
||||
integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo="
|
||||
crossorigin="anonymous"
|
||||
></script>
|
||||
<script src="/static/js/main.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="contentnotice">
|
||||
<h1>Achtung!</h1>
|
||||
<h3>Kontrollverlust</h3>
|
||||
<div>
|
||||
<p>Dieses Forum richtet sich ausschließlich an <strong>erwachsene Besucher:innen</strong>.</p>
|
||||
|
||||
<p>
|
||||
Die Inhalte könnten <strong>explizite Sprache, anstößige Themen, gewalthaltige Äußerungen, sowie pornografische Darstellungen in Text-, Zeichnungs- oder angedeuteter Form</strong> enthalten.
|
||||
</p>
|
||||
<p>
|
||||
<strong>Fotografische Nacktheit, reale Gewalt, Gore oder NSFL-Inhalte sind verboten</strong> – dennoch können Diskussionen und Beiträge für sensible Personen belastend sein.
|
||||
</p>
|
||||
<p>
|
||||
Wenn du mit solchen Inhalten nicht konfrontiert werden möchtest, <a href="https://optical.toys/">verlasse die Seite jetzt</a>. Durch das Fortsetzen erklärst du dich damit einverstanden, dass du die Inhalte auf eigene Verantwortung nutzt.
|
||||
</p>
|
||||
</div>
|
||||
<button onclick="location.href='https://optical.toys/'" >Ich möchte lieber etwas anderes sehen!</button>
|
||||
<button onclick="setCookie('agreedToWarning', 'True', '1'); $('#contentnotice').hide()" >Ich bin erwachsen und verstehe die Warnung – weiter</button>
|
||||
<br style="margin: 30px;">
|
||||
</div>
|
||||
|
||||
<div hx-get="/auth/headerbar" hx-trigger="load"></div>
|
||||
<div class="htmx-indicator" id="loading"></div>
|
||||
<h1>Kontrollverlust</h1>
|
||||
<br />
|
||||
<span> Verbuggte scheise hier. Komm hack mich doch, trau dich! </span>
|
||||
<br />
|
||||
<span id="uptime-counter"></span>
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<div id="main-frame" hx-indicator="#loading">
|
||||
{% block content %}{% endblock %}
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,15 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>Database</title>
|
||||
<link rel="stylesheet" href="style.css">
|
||||
</head>
|
||||
<body>
|
||||
{% for tablename in tables %}
|
||||
<a href="/database/{{ tablename[0] }}">{{ tablename[0] }}</a><br>
|
||||
{% endfor %}
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,9 +0,0 @@
|
||||
<table>
|
||||
{% for row in data %}
|
||||
<tr>
|
||||
{% for column in row %}
|
||||
<td>{{ column }}</td>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
@@ -1,11 +0,0 @@
|
||||
<form hx-post="/entry/create" hx-target="#entry-rendertarget" method="post" enctype="multipart/form-data">
|
||||
<textarea name="content"></textarea>
|
||||
<input type="file" name="file">
|
||||
<button type="submit">Beitrag erstellen!</button>
|
||||
|
||||
<div>
|
||||
{% for r in responses %}
|
||||
{{ r }} <br>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</form>
|
||||
@@ -1,31 +0,0 @@
|
||||
{% for p in posts %}
|
||||
|
||||
<div class="entry">
|
||||
<div class="meta">{{ p[6] }} - {{ p[3] | timestamp }}<br /></div>
|
||||
{% if p[4] != '' %}
|
||||
<div class="content">
|
||||
<p>{{ p[4] | content | safe}}</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if p[5] != 'none' %}
|
||||
<img src="/{{ p[5] }}" />
|
||||
{% endif %}
|
||||
<div
|
||||
class="interactions"
|
||||
id="int-{{p[1]}}"
|
||||
hx-get="/entry/{{p[1]}}/interactions/none"
|
||||
hx-trigger="load"
|
||||
></div>
|
||||
</div>
|
||||
<hr />
|
||||
|
||||
{% endfor %}
|
||||
|
||||
<div
|
||||
id="infinite-scroll-indicator"
|
||||
hx-get="/entry/feed/{{page+1}}"
|
||||
hx-trigger="revealed"
|
||||
hx-swap="outerHTML"
|
||||
>
|
||||
<h2>Loading more...</h2>
|
||||
</div>
|
||||
@@ -1,3 +0,0 @@
|
||||
<button hx-get="/entry/{{pid}}/interactions/left" hx-target="#int-{{pid}}">Links</button>
|
||||
<span>{{stats}}</span>
|
||||
<button hx-get="/entry/{{pid}}/interactions/right" hx-target="#int-{{pid}}">Rechts</button>
|
||||
@@ -1,6 +0,0 @@
|
||||
<button onclick="$('#auth-visible').show()" hx-get="/auth/login" hx-target="#auth-rendertarget">Anmelden</button>
|
||||
<button onclick="$('#auth-visible').show()" hx-get="/auth/newuser" hx-target="#auth-rendertarget">Account erstellen</button>
|
||||
<div id="auth-visible">
|
||||
<div id="auth-rendertarget"></div>
|
||||
<button onclick="$('#auth-visible').hide()">Abbrechen</button>
|
||||
</div>
|
||||
@@ -1,17 +0,0 @@
|
||||
{% extends "baseof.html" %}
|
||||
|
||||
{% block title %}Kontrollverlust{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div id="auth-rendertarget"></div>
|
||||
|
||||
<hr>
|
||||
|
||||
<div hx-get="/entry/create" hx-trigger="load" id="entry-rendertarget"></div>
|
||||
|
||||
<hr>
|
||||
|
||||
<div hx-get="/entry/feed/0" hx-trigger="load" hx-indicator="none"></div>
|
||||
|
||||
{% endblock %}
|
||||
@@ -1,22 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>My new Site!</title>
|
||||
<link rel="stylesheet" href="style.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Upload new File</h1>
|
||||
<span>{{ state }}</span>
|
||||
<form method="post" enctype="multipart/form-data">
|
||||
<input type=file name=file>
|
||||
<input type=submit value=Upload>
|
||||
</form>
|
||||
|
||||
{% for id in imagedata %}
|
||||
{{ id }}
|
||||
{% endfor %}
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,13 +0,0 @@
|
||||
<div id="deleteuser-rendertarget">
|
||||
<h2>Account dauerhaft löschen</h2>
|
||||
<form hx-post="/user/delete" hx-target="#deleteuser-rendertarget" method="post">
|
||||
<input type="password" name="pass1" placeholder="Passphrase"><br>
|
||||
<button type="submit">Account Löschen!</button>
|
||||
|
||||
<div>
|
||||
{% for r in responses %}
|
||||
{{ r }} <br>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@@ -1,10 +0,0 @@
|
||||
{% extends "baseof.html" %}
|
||||
{% block content %}
|
||||
|
||||
Username: {{ username }} <br>
|
||||
ID: {{ uid }} <br>
|
||||
Profil erstellt: {{ created_at | timestamp }} <br>
|
||||
|
||||
<div hx-get="/user/delete" hx-trigger="load"></div>
|
||||
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user