jamulix-homepage/app/impressum/page.tsx
dschlueter 159c761633 Config: Impressum/Datenschutz aus .env.local befüllt
Persönliche Angaben (Name, Adresse, E-Mail, Hoster) werden zur
Build-Zeit aus .env.local gelesen und in die statischen Seiten
eingebettet. .env.local ist gitignoriert, .env.local.example
dokumentiert die benötigten Variablen.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 21:50:00 +02:00

66 lines
2.2 KiB
TypeScript

import Link from 'next/link'
import { ArrowLeft } from 'lucide-react'
import { Button } from '@/components/ui/button'
export const metadata = {
title: 'Impressum | Jamulix',
description: 'Impressum und Angaben gemäß § 5 TMG für jamulix.de',
}
export default function ImpressumPage() {
const name = process.env.OWNER_NAME ?? '[Name]'
const street = process.env.OWNER_STREET ?? '[Straße und Hausnummer]'
const zipCity = process.env.OWNER_ZIP_CITY ?? '[PLZ Ort]'
const email = process.env.OWNER_EMAIL ?? '[Emailadresse]'
return (
<main className="min-h-screen py-24 lg:py-32">
<div className="max-w-3xl mx-auto px-6 lg:px-8">
<Button asChild variant="ghost" className="mb-8 -ml-4">
<Link href="/">
<ArrowLeft className="mr-2 size-4" />
Zurück
</Link>
</Button>
<h1 className="font-serif text-4xl lg:text-5xl mb-8">Impressum</h1>
<div className="prose prose-neutral dark:prose-invert max-w-none space-y-8">
<section>
<h2 className="font-serif text-xl mb-4">Angaben gemäß § 5 TMG</h2>
<p className="text-muted-foreground">
{name}<br />
{street}<br />
{zipCity}<br />
Deutschland
</p>
</section>
<section>
<h2 className="font-serif text-xl mb-4">Kontakt</h2>
<p className="text-muted-foreground">
E-Mail: {email}
</p>
</section>
<section>
<h2 className="font-serif text-xl mb-4">Verantwortlich für den Inhalt</h2>
<p className="text-muted-foreground">
{name}<br />
{street}, {zipCity}
</p>
</section>
<section>
<h2 className="font-serif text-xl mb-4">Haftungsausschluss</h2>
<p className="text-muted-foreground leading-relaxed">
Die Inhalte dieser Seiten wurden mit größter Sorgfalt erstellt.
Für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte
kann jedoch keine Gewähr übernommen werden.
</p>
</section>
</div>
</div>
</main>
)
}