release: v0.12.0 (#520)

Forty-one commits since v0.11.0. See CHANGELOG.md for the full list and the upgrade notes.
This commit is contained in:
Ralksta
2026-08-23 23:18:14 +02:00
committed by GitHub
parent 2f546f440d
commit 10ec68f493
119 changed files with 6888 additions and 758 deletions

View File

@@ -7,17 +7,21 @@ import { Metadata } from 'next';
import { notFound } from 'next/navigation';
import { getConfig } from '@/lib/config';
import { BackLink } from '@/components/BackLink';
import { getServerDictionary } from '@/lib/i18n/server';
import './impressum.css';
export const metadata: Metadata = {
title: 'Impressum',
robots: { index: false, follow: true }, // Usually no need to index legal pages
};
export function generateMetadata(): Metadata {
return {
title: getServerDictionary().legal.title,
robots: { index: false, follow: true }, // Usually no need to index legal pages
};
}
export const dynamic = 'force-dynamic';
export default function ImpressumPage() {
const { legal } = getConfig();
const t = getServerDictionary();
if (!legal.enabled) {
notFound();
@@ -26,14 +30,14 @@ export default function ImpressumPage() {
return (
<div className="subpage-container">
<header className="subpage-header">
<BackLink href="/" label="Home" />
<h1 className="subpage-title">Impressum</h1>
<p className="subpage-subtitle">Angaben gemäß § 5 TMG</p>
<BackLink href="/" label={t.common.home} />
<h1 className="subpage-title">{t.legal.title}</h1>
<p className="subpage-subtitle">{t.legal.subtitle}</p>
</header>
<main className="subpage-content">
<section className="legal-section">
<h2 className="legal-section__title">Anschrift</h2>
<h2 className="legal-section__title">{t.legal.address}</h2>
<p className="legal-section__text">
{legal.name}
<br />
@@ -47,43 +51,51 @@ export default function ImpressumPage() {
{(legal.email || legal.phone) && (
<section className="legal-section">
<h2 className="legal-section__title">Kontakt</h2>
<h2 className="legal-section__title">{t.legal.contact}</h2>
<p className="legal-section__text">
{legal.email && (
<>
E-Mail: {legal.email}
{t.legal.email}: {legal.email}
<br />
</>
)}
{legal.phone && <>Telefon: {legal.phone}</>}
{legal.phone && (
<>
{t.legal.phone}: {legal.phone}
</>
)}
</p>
</section>
)}
{(legal.taxId || legal.vatId) && (
<section className="legal-section">
<h2 className="legal-section__title">Steuernummer</h2>
<h2 className="legal-section__title">{t.legal.taxSection}</h2>
<p className="legal-section__text">
{legal.taxId && (
<>
Steuernummer: {legal.taxId}
{t.legal.taxId}: {legal.taxId}
<br />
</>
)}
{legal.vatId && <>Umsatzsteuer-ID: {legal.vatId}</>}
{legal.vatId && (
<>
{t.legal.vatId}: {legal.vatId}
</>
)}
</p>
</section>
)}
{legal.extraInfo && (
<section className="legal-section">
<h2 className="legal-section__title">Weitere Informationen</h2>
<h2 className="legal-section__title">{t.legal.extraInfo}</h2>
<p className="legal-section__text legal-section__text--pre">{legal.extraInfo}</p>
</section>
)}
<section className="legal-source">
<p>Quelle: Erstellt mit dem Impressum-Generator von eRecht24.</p>
<p>{t.legal.source}</p>
</section>
</main>
</div>