Add PunktFri Flask landing page

- Landing page with hero, problemet, målgruppe, idé, disclaimer sections
- Signup form → SQLite + file log (navn, email, domæner, egne_ns, kommentar)
- /tak confirmation page
- /admin with HTTP Basic Auth
- /health endpoint
- Mobile-first minimal CSS, Danish throughout
- Honest 'under undersøgelse' framing — no premature organisational claims
This commit is contained in:
Henrik Jess Nielsen
2026-04-26 18:20:54 +02:00
parent 6fce8985b4
commit 7fe85dfe2c
9 changed files with 1011 additions and 0 deletions

47
templates/admin.html Normal file
View File

@@ -0,0 +1,47 @@
{% extends "base.html" %}
{% block title %}Admin — PunktFri{% endblock %}
{% block content %}
<div class="admin-section">
<h1>Tilmeldinger</h1>
<p class="admin-meta">{{ count }} tilmelding{{ 'er' if count != 1 else '' }} i alt</p>
{% if signups %}
<div class="table-wrapper">
<table class="signups-table">
<thead>
<tr>
<th>#</th>
<th>Navn</th>
<th>E-mail</th>
<th>Domæner</th>
<th>Egne NS</th>
<th>Kommentar</th>
<th>Tidspunkt</th>
</tr>
</thead>
<tbody>
{% for s in signups %}
<tr>
<td>{{ s.id }}</td>
<td>{{ s.navn }}</td>
<td>{{ s.email }}</td>
<td>{{ s.domaener }}</td>
<td>
<span class="badge-{{ s.egne_ns }}">{{ s.egne_ns | upper }}</span>
</td>
<td>{{ s.kommentar or '—' }}</td>
<td style="white-space:nowrap; color:#6b7280;">{{ s.timestamp }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% else %}
<div class="empty-state">
<p>Ingen tilmeldinger endnu.</p>
</div>
{% endif %}
</div>
{% endblock %}