Model Stammkapital/Grundkapital and Gesellschafter for the not-yet-needed legal forms

Mirrors the backend's new CompanySettings.shareCapital/generalPartners fields: rendered in the Impressum (AnbieterAngaben.tsx — new "Gesellschafter" section, Stammkapital line under Handelsregister, and the "Verantwortlich für den Inhalt" fallback now considers a general partner before falling back to sellerName) and wired into buildLegalFooterLines() for the invoice/email footer, same as registerCourt/registerNumber/managingDirector already were.

No visible change today (current legalForm is sole-proprietorship, neither field is set) — this is prep so a future legalForm change in company-settings updates the Impressum automatically instead of needing a manual Impressum edit at that point.
This commit is contained in:
Marco
2026-07-23 13:26:33 +00:00
parent 0c3f7ddf2e
commit a3912a47c4
4 changed files with 44 additions and 12 deletions
+10 -3
View File
@@ -723,13 +723,20 @@ export async function getEmailTemplate(
export type CompanySettings = {
sellerName: string;
// Drives whether registerCourt/registerNumber/managingDirector are
// populated — mirrors Payload's CompanySettings.ts collection exactly
// (same option values), see buildLegalFooterLines() in emailTemplates.ts.
// Drives whether registerCourt/registerNumber/managingDirector/
// shareCapital/generalPartners are populated — mirrors Payload's
// CompanySettings.ts collection exactly (same option values), see
// buildLegalFooterLines() in emailTemplates.ts.
legalForm: "sole-proprietorship" | "e-k" | "gbr" | "ohg" | "kg" | "gmbh" | "ug" | "ag";
registerCourt: string | null;
registerNumber: string | null;
managingDirector: string | null;
// Stammkapital (GmbH/UG) / Grundkapital (AG) — only present for those
// legal forms, see CompanySettings.ts's SHARE_CAPITAL_REQUIRED_FORMS.
shareCapital: number | null;
// Komplementäre/Gesellschafter — only present for OHG/KG, see
// CompanySettings.ts's GENERAL_PARTNERS_REQUIRED_FORMS.
generalPartners: { name: string }[] | null;
sellerStreet: string;
sellerZip: string;
sellerCity: string;