diff --git a/app/company-settings-preview/page.tsx b/app/company-settings-preview/page.tsx
index 26aa1c2..04ca022 100644
--- a/app/company-settings-preview/page.tsx
+++ b/app/company-settings-preview/page.tsx
@@ -16,7 +16,6 @@ const FALLBACK: CompanySettings = {
registerNumber: null,
managingDirector: null,
shareCapital: null,
- generalPartners: null,
sellerStreet: "",
sellerZip: "",
sellerCity: "",
diff --git a/app/impressum/components/AnbieterAngaben.tsx b/app/impressum/components/AnbieterAngaben.tsx
index 1058a27..5d33677 100644
--- a/app/impressum/components/AnbieterAngaben.tsx
+++ b/app/impressum/components/AnbieterAngaben.tsx
@@ -4,8 +4,8 @@ import type { CompanySettings } from "../../lib/payload";
import type { TOCSection } from "../../components/SectionTOC";
// Renders "Angaben zum Anbieter"/"Umsatzsteuer"/(conditionally)
-// "Handelsregister"/"Geschäftsführung"/"Gesellschafter"/"Verantwortlich für
-// den Inhalt" straight from company-settings, matching RichText.tsx's own heading/
+// "Handelsregister"/"Geschäftsführung"/"Verantwortlich für den Inhalt"
+// straight from company-settings, matching RichText.tsx's own heading/
// paragraph classes so it reads as one continuous page with the CMS
// content below it, not a bolted-on block. This used to be hand-typed
// prose baked into the Impressum's richText (seed-legal-pages.ts on the
@@ -17,21 +17,27 @@ import type { TOCSection } from "../../components/SectionTOC";
// already uses (see page.tsx's comment on that).
//
// Also closes a real compliance gap the old hand-typed text had: it never
-// showed Handelsregister/Geschäftsführung/Gesellschafter/Stammkapital at
-// all, even though company-settings models all of them (§37a HGB/§35a
-// GmbHG/§80 AktG) — those fields just weren't wired into the Impressum. A
-// sole proprietorship (this shop's current legalForm) needs none of them,
-// so nothing extra shows today, but the moment legalForm changes in
-// company-settings (e.g. incorporating as a GmbH), the Impressum picks up
-// Handelsregister/Geschäftsführung/Stammkapital automatically — same for
-// generalPartners/"Gesellschafter" on an OHG/KG — instead of needing a
-// second manual edit here.
+// showed Handelsregister/Geschäftsführung at all, even though
+// company-settings already models both (§37a HGB/§35a GmbHG) — those
+// fields just weren't wired into the Impressum. A sole proprietorship
+// (this shop's current legalForm) has neither, so neither section shows
+// today, but the moment that changes in company-settings, the Impressum
+// picks it up automatically instead of needing a second manual edit.
+//
+// A "Gesellschafter"/Komplementäre section for OHG/KG was attempted
+// 2026-07-23 but reverted the same day — the legal basis turned out
+// genuinely unclear on research (§125a HGB's Geschäftsbriefe-naming duty
+// only applies to the narrow case where *no* partner is a natural person,
+// not the general OHG/KG case; whether §5 DDG's Impressum-specific
+// "vertretungsberechtigte Person" requirement independently mandates it
+// wasn't resolved with confidence). Deliberately not modeled until that's
+// actually clarified — don't rebuild this without re-verifying the legal
+// basis first, and don't assume the old attempt's reasoning was correct.
export function anbieterAngabenHeadings(seller: CompanySettings | null): TOCSection[] {
if (!seller) return [];
const sections = ["Angaben zum Anbieter", "Umsatzsteuer"];
if (seller.registerCourt && seller.registerNumber) sections.push("Handelsregister");
if (seller.managingDirector) sections.push("Geschäftsführung");
- if (seller.generalPartners && seller.generalPartners.length > 0) sections.push("Gesellschafter");
sections.push("Verantwortlich für den Inhalt");
return sections.map((title) => ({ id: headingId(title), title }));
}
@@ -74,6 +80,9 @@ export function AnbieterAngaben({ seller }: { seller: CompanySettings }) {
{seller.registerCourt}
{seller.registerNumber}
+ {/* Optional/voluntary, not a Pflichtangabe — see + CompanySettings.ts's own comment on shareCapital. Only shows + if an admin deliberately filled it in. */} {seller.shareCapital ?Stammkapital: {seller.shareCapital.toLocaleString("de-DE")} €
: null} > )} @@ -85,22 +94,13 @@ export function AnbieterAngaben({ seller }: { seller: CompanySettings }) { > )} - {seller.generalPartners && seller.generalPartners.length > 0 && ( - <> -{partner.name}
- ))} - > - )} -{seller.managingDirector || seller.generalPartners?.[0]?.name || seller.sellerName}
+ (Kapitalgesellschaften), falling back to sellerName itself (sole + proprietorship/e.K., already a natural person's own name). No + OHG/KG general-partner fallback here — see this file's top + comment on why that field doesn't exist yet. */} +{seller.managingDirector || seller.sellerName}
{seller.sellerStreet}
{seller.sellerZip} {seller.sellerCity} diff --git a/app/impressum/page.tsx b/app/impressum/page.tsx index 0452957..02936a0 100644 --- a/app/impressum/page.tsx +++ b/app/impressum/page.tsx @@ -12,7 +12,7 @@ import { AnbieterAngaben, anbieterAngabenHeadings } from "./components/AnbieterA export const metadata: Metadata = { title: "Impressum", - description: "Angaben gemäß § 5 TMG für einfach produktiv.", + description: "Angaben gemäß § 5 DDG für einfach produktiv.", alternates: { canonical: "/impressum" }, }; @@ -39,7 +39,7 @@ export default async function ImpressumPage() { > Impressum
-Angaben gemäß § 5 TMG
+Angaben gemäß § 5 DDG