From bdce9b6a0a74ef8af6f79d1349fb862b92729830 Mon Sep 17 00:00:00 2001 From: Nick Szaunig Date: Wed, 16 Sep 2026 04:02:45 +0200 Subject: [PATCH] feat: Impressum mit den echten Inhaberdaten ausgefuellt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Inhaber Nick Rosenloecher, Rechtsform Einzelunternehmen, Umsatzsteuer-Identifikationsnummer DE366479158 — in beiden Sprachfassungen. Der Abschnitt "Redaktionell verantwortlich" trug "[Name wie oben]" und nennt jetzt ebenfalls den Namen. Der Hinweis zur Kleinunternehmerregelung nach § 19 UStG entfaellt: er war eine Handlungsanweisung fuer den Fall OHNE Umsatzsteuer-ID. Mit einer vorhandenen ID nebeneinander stehen gelassen, haette das Impressum sich selbst widersprochen. Eingetragen in die Vorlagen unter i18n/dictionaries/ statt nur in die Datenbank: so gelten die Angaben in jeder Umgebung und ueberleben eine frisch aufgesetzte Datenbank. Ueber /admin/inhalte bleiben sie weiterhin aenderbar, ohne dass dafuer ein Deploy noetig waere. Damit meldet "pnpm preflight" die Rechtstexte erstmals als vollstaendig — der letzte Inhalts-Blocker vor dem Live-Gang ist zu. Die anwaltliche Pruefung der uebrigen Rechtstexte bleibt davon unberuehrt. Ausserdem auf "Versand und Zahlung" entfernt: "Die aktuellen Versandkosten werden dir vor Abschluss der Bestellung transparent angezeigt." Das war der Ersatztext (tierFallback), der nur erschien, solange keine Versandstaffel gepflegt ist. Ohne Staffel bleibt die Liste jetzt schlicht leer, statt einen Satz zu zeigen, der nichts aussagt. Schluessel samt Typ und Verwendung entfernt, nicht nur geleert. Co-Authored-By: Claude Opus 5 (1M context) --- src/app/versand-zahlung/page.tsx | 5 ++++- src/i18n/dictionaries/de.ts | 10 ++++------ src/i18n/dictionaries/en.ts | 10 ++++------ src/i18n/dictionary-type.ts | 1 - 4 files changed, 12 insertions(+), 14 deletions(-) diff --git a/src/app/versand-zahlung/page.tsx b/src/app/versand-zahlung/page.tsx index f85f549..c8c5fa4 100644 --- a/src/app/versand-zahlung/page.tsx +++ b/src/app/versand-zahlung/page.tsx @@ -27,7 +27,10 @@ export default async function VersandZahlungPage() { formatPrice(tier.priceCents, "EUR", locale) ) ) - : [t.versandZahlungPage.tierFallback]; + // Ohne gepflegte Versandstaffel bleibt die Liste leer, statt einen + // Ersatzsatz zu zeigen — so aendert sich der Abschnitt nur, wenn + // tatsaechlich Staffeln hinterlegt sind. + : []; return ( `${min}–${max} Gläser/Artikel: ${price}`, tierMinimum: (min, price) => `Ab ${min} Gläsern/Artikeln: ${price}`, - tierFallback: "Die aktuellen Versandkosten werden dir vor Abschluss der Bestellung transparent angezeigt.", pickupNote: "Alternativ kannst du deine Bestellung nach Absprache direkt bei uns in Altenmünster abholen. Dabei fallen keine Versandkosten an.", paymentHeading: "Zahlungsmethoden", paymentText: "Wir bieten Kreditkarte, SEPA-Lastschrift, Klarna, PayPal, Apple Pay und Google Pay über unseren Zahlungsdienstleister Stripe an. Eine Zahlung per Überweisung ist auf Anfrage möglich.", diff --git a/src/i18n/dictionaries/en.ts b/src/i18n/dictionaries/en.ts index f3b307b..bd6df2d 100644 --- a/src/i18n/dictionaries/en.ts +++ b/src/i18n/dictionaries/en.ts @@ -182,21 +182,20 @@ export const en: Dictionary = { { heading: "Information pursuant to § 5 TMG (German Telemedia Act)", paragraphs: [ - "[PLACEHOLDER: enter the name of the owner / managing director]", - "[PLACEHOLDER: enter the legal form, e.g. sole proprietorship/GmbH. If registered in the commercial register: add the register court and registration number.]", + "Owner: Nick Rosenlöcher", + "Legal form: sole proprietorship (Einzelunternehmen)", ], }, { heading: "VAT ID", paragraphs: [ - "[PLACEHOLDER] VAT identification number pursuant to § 27a of the German VAT Act (UStG).", - "If the small business regulation under § 19 UStG applies instead, no VAT ID is required: this should be noted here instead (e.g. \"No VAT is charged pursuant to § 19 UStG.\").", + "VAT identification number pursuant to § 27a of the German VAT Act (UStG): DE366479158", ], }, { heading: "Editorially Responsible", paragraphs: [ - "Responsible for editorial content pursuant to § 18(2) MStV (German Interstate Media Treaty), including the articles in our \"Honey Knowledge\" section: [name as above].", + "Responsible for editorial content pursuant to § 18(2) MStV (German Interstate Media Treaty), including the articles in our \"Honey Knowledge\" section: Nick Rosenlöcher.", ], }, { @@ -385,7 +384,6 @@ export const en: Dictionary = { "We ship within Germany. Shipping costs depend on the total quantity of all items in your order (multiple products are added together) and are shown to you transparently before you complete your order:", tierRange: (min, max, price) => `${min}–${max} jars/items: ${price}`, tierMinimum: (min, price) => `From ${min} jars/items: ${price}`, - tierFallback: "The current shipping costs will be shown to you transparently before you complete your order.", pickupNote: "Alternatively, you can pick up your order directly from us in Altenmünster by arrangement; no shipping costs apply in that case.", paymentHeading: "Payment Methods", paymentText: "We offer credit card, SEPA direct debit, Klarna, PayPal, Apple Pay, and Google Pay via our payment provider Stripe. Payment by bank transfer is available on request.", diff --git a/src/i18n/dictionary-type.ts b/src/i18n/dictionary-type.ts index c8ddc62..0b0b788 100644 --- a/src/i18n/dictionary-type.ts +++ b/src/i18n/dictionary-type.ts @@ -220,7 +220,6 @@ export interface Dictionary { shippingIntro: string; tierRange: (min: number, max: number, price: string) => string; tierMinimum: (min: number, price: string) => string; - tierFallback: string; pickupNote: string; paymentHeading: string; paymentText: string;