Impressum mit den Anbieterdaten der GEFIM UG
Daten aus gefim.de/impressum als zentrale Konstante (src/lib/marketing/imprint.ts), Seite /impressum öffentlich und in der Fußzeile verlinkt. Der dort abgeschnittene Satz zur Verbraucherstreitbeilegung ist mit der Standardformulierung vervollständigt. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
import type { Metadata } from "next";
|
||||
import { getTranslations } from "next-intl/server";
|
||||
import { IMPRINT } from "@/lib/marketing/imprint";
|
||||
|
||||
export async function generateMetadata(): Promise<Metadata> {
|
||||
const t = await getTranslations("marketing.imprint");
|
||||
return { title: t("title"), robots: { index: true, follow: true } };
|
||||
}
|
||||
|
||||
/** Impressum der Produktseite — Daten aus src/lib/marketing/imprint.ts. */
|
||||
export default async function ImprintPage() {
|
||||
const t = await getTranslations("marketing.imprint");
|
||||
const block = "mt-8 font-heading text-[17px] font-semibold";
|
||||
|
||||
return (
|
||||
<article className="mx-auto max-w-3xl px-4 py-12 sm:px-6">
|
||||
<h1 className="font-heading text-[30px] font-bold text-[var(--ui-primary)]">{t("title")}</h1>
|
||||
<p className="mt-2 text-[14px] text-muted-foreground">{t("intro")}</p>
|
||||
|
||||
<h2 className={block}>{t("provider")}</h2>
|
||||
<address className="mt-2 text-[15px] leading-relaxed not-italic">
|
||||
{IMPRINT.company}
|
||||
<br />
|
||||
{IMPRINT.street}
|
||||
<br />
|
||||
{IMPRINT.city}
|
||||
<br />
|
||||
{IMPRINT.country}
|
||||
</address>
|
||||
|
||||
<h2 className={block}>{t("represented")}</h2>
|
||||
<p className="mt-2 text-[15px]">{IMPRINT.representatives.join(", ")}</p>
|
||||
|
||||
<h2 className={block}>{t("contact")}</h2>
|
||||
<dl className="mt-2 grid grid-cols-[max-content_1fr] gap-x-4 gap-y-1 text-[15px]">
|
||||
<dt className="text-muted-foreground">{t("phone")}</dt>
|
||||
<dd>
|
||||
<a href={IMPRINT.phoneHref} className="underline-offset-2 hover:underline">
|
||||
{IMPRINT.phone}
|
||||
</a>
|
||||
</dd>
|
||||
<dt className="text-muted-foreground">{t("email")}</dt>
|
||||
<dd>
|
||||
<a href={`mailto:${IMPRINT.email}`} className="underline-offset-2 hover:underline">
|
||||
{IMPRINT.email}
|
||||
</a>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<h2 className={block}>{t("register")}</h2>
|
||||
<dl className="mt-2 grid grid-cols-[max-content_1fr] gap-x-4 gap-y-1 text-[15px]">
|
||||
<dt className="text-muted-foreground">{t("registerCourt")}</dt>
|
||||
<dd>{IMPRINT.registerCourt}</dd>
|
||||
<dt className="text-muted-foreground">{t("registerNumber")}</dt>
|
||||
<dd>{IMPRINT.registerNumber}</dd>
|
||||
</dl>
|
||||
|
||||
<h2 className={block}>{t("vat")}</h2>
|
||||
<p className="mt-2 text-[15px]">
|
||||
{t("vatText")} {IMPRINT.vatId}
|
||||
</p>
|
||||
|
||||
<h2 className={block}>{t("editorial")}</h2>
|
||||
<p className="mt-2 text-[15px]">{IMPRINT.editorial}</p>
|
||||
|
||||
<h2 className={block}>{t("dispute")}</h2>
|
||||
<p className="mt-2 text-[15px] leading-relaxed">{t("disputeText")}</p>
|
||||
</article>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user