Dynamic AGB address, real shipping costs on /versand instead of hardcoded constants

- AGB: name/address/email now come from company-settings via new
  VertragspartnerBlock (mid-document, see LegalPages.ts's contentPart2).
- VersandSections/VersandModal/CartContent/CheckoutContent/versand page:
  shipping cost and free-shipping threshold now come from the real
  ShippingMethods data (already fetched elsewhere for checkout), not the
  hardcoded lib/shipping.ts constants — those had already drifted from
  the real Payload values once. lib/shipping.ts deleted, nothing left to
  export.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Marco
2026-08-02 06:53:12 +00:00
parent 9617478b0d
commit c8f231baa6
9 changed files with 137 additions and 29 deletions
+8
View File
@@ -855,6 +855,12 @@ export type LegalPage = {
type: LegalPageType;
title: string;
content: unknown;
// Only populated for pages that need a dynamically-rendered section
// MID-document (currently just AGB's "Vertragspartner", sourced from
// company-settings — see VertragspartnerBlock.tsx). null everywhere
// else, including pages like Datenschutz whose one dynamic section sits
// at the very start and so can just be prepended instead of split.
contentPart2: unknown | null;
attachment: { url: string; title: string } | null;
updatedAt: string;
};
@@ -863,6 +869,7 @@ type PayloadLegalPage = {
type: LegalPageType;
title: string;
content: unknown;
contentPart2?: unknown;
attachment: { url: string; title: string } | number | null;
updatedAt: string;
};
@@ -888,6 +895,7 @@ export async function getLegalPage(type: LegalPageType, options?: { draft?: bool
type: doc.type,
title: doc.title,
content: doc.content,
contentPart2: doc.contentPart2 ?? null,
attachment:
typeof doc.attachment === "object" && doc.attachment
? { url: doc.attachment.url, title: doc.attachment.title }