add Imprint page (§5 DDG) and restructure footer legal column

- Add /imprint route and template stub (fill in company details)
- Move About out of Legal into a new Company column
- Add /imprint to sitemap and RESERVED_PREFIXES

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Deeman
2026-02-19 21:08:35 +01:00
parent 746ba717b3
commit 51e330a57f
4 changed files with 83 additions and 1 deletions

View File

@@ -23,7 +23,7 @@ RESERVED_PREFIXES = (
"/admin", "/auth", "/planner", "/billing", "/dashboard", "/admin", "/auth", "/planner", "/billing", "/dashboard",
"/directory", "/leads", "/suppliers", "/health", "/directory", "/leads", "/suppliers", "/health",
"/sitemap", "/static", "/markets", "/features", "/sitemap", "/static", "/markets", "/features",
"/terms", "/privacy", "/about", "/feedback", "/terms", "/privacy", "/about", "/imprint", "/feedback",
) )
SCENARIO_RE = re.compile(r'\[scenario:([a-z0-9_-]+)(?::([a-z]+))?\]') SCENARIO_RE = re.compile(r'\[scenario:([a-z0-9_-]+)(?::([a-z]+))?\]')

View File

@@ -58,6 +58,11 @@ async def about():
return await render_template("about.html") return await render_template("about.html")
@bp.route("/imprint")
async def imprint():
return await render_template("imprint.html")
@bp.route("/suppliers") @bp.route("/suppliers")
async def suppliers(): async def suppliers():
total_suppliers, total_countries = await _supplier_counts() total_suppliers, total_countries = await _supplier_counts()
@@ -127,6 +132,7 @@ async def sitemap():
(f"{base}/billing/pricing", today), (f"{base}/billing/pricing", today),
(f"{base}/terms", today), (f"{base}/terms", today),
(f"{base}/privacy", today), (f"{base}/privacy", today),
(f"{base}/imprint", today),
(f"{base}/markets", today), (f"{base}/markets", today),
] ]

View File

@@ -0,0 +1,70 @@
{% extends "base.html" %}
{% block title %}Imprint - {{ config.APP_NAME }}{% endblock %}
{% block head %}
<meta name="description" content="Legal imprint for Padelnomics — company information, contact details, and responsible party as required by §5 DDG.">
<meta name="robots" content="noindex">
{% endblock %}
{% block content %}
<main class="container-page py-12">
<div class="card max-w-3xl mx-auto">
<h1 class="text-2xl mb-1">Imprint</h1>
<p class="text-sm text-slate mb-8">Legal disclosure pursuant to §5 DDG (Digitale-Dienste-Gesetz)</p>
<div class="space-y-6 text-slate-dark leading-relaxed">
<section>
<h2 class="text-lg mb-2">Service Provider</h2>
<p>
<!-- Replace with your full legal name / company name + legal form -->
[Name / Company Name]<br>
[Street and House Number]<br>
[Postcode] [City]<br>
[Country]
</p>
</section>
<section>
<h2 class="text-lg mb-2">Contact</h2>
<p>
Email: <a href="mailto:[your@email.com]">[your@email.com]</a>
</p>
<!-- Add phone number if you have one:
<p>Phone: +49 ...</p>
-->
</section>
<!-- If registered as a company (GmbH, UG, etc.), uncomment and fill in:
<section>
<h2 class="text-lg mb-2">Company Registration</h2>
<p>
Registered at: [Amtsgericht / Court of Registration]<br>
Registration number: HRB [number]<br>
VAT ID (USt-IdNr.): DE[number]
</p>
</section>
-->
<section>
<h2 class="text-lg mb-2">Responsible for Content</h2>
<p>
<!-- Person responsible for editorial content per §18 Abs. 2 MStV -->
[Full Name]<br>
[Address as above]
</p>
</section>
<section>
<h2 class="text-lg mb-2">Disclaimer</h2>
<p>
Despite careful content control we assume no liability for the content of external links.
The operators of linked pages are solely responsible for their content.
</p>
</section>
</div>
</div>
</main>
{% endblock %}

View File

@@ -169,6 +169,12 @@
<ul class="space-y-1 text-sm"> <ul class="space-y-1 text-sm">
<li><a href="{{ url_for('public.terms') }}">Terms</a></li> <li><a href="{{ url_for('public.terms') }}">Terms</a></li>
<li><a href="{{ url_for('public.privacy') }}">Privacy</a></li> <li><a href="{{ url_for('public.privacy') }}">Privacy</a></li>
<li><a href="{{ url_for('public.imprint') }}">Imprint</a></li>
</ul>
</div>
<div>
<p class="font-semibold text-navy text-sm mb-2">Company</p>
<ul class="space-y-1 text-sm">
<li><a href="{{ url_for('public.about') }}">About</a></li> <li><a href="{{ url_for('public.about') }}">About</a></li>
</ul> </ul>
</div> </div>