feat: enhance AGB component with improved translation support for delivery, payment, and consumer rights

- Updated the AGB component to utilize specific translation functions for delivery, payment, and consumer-related legal terms.
- Improved localization by ensuring all relevant sections are translated correctly based on the context.
- Maintained fallback text for untranslated terms to ensure clarity for users.
This commit is contained in:
sebseb7
2025-08-05 18:30:47 +02:00
parent 55d9f6a543
commit 22a0f78db2

View File

@@ -4,79 +4,81 @@ import LegalPage from './LegalPage.js';
import { useTranslation } from 'react-i18next';
const AGB = () => {
const { t } = useTranslation('legal-agb');
const { t: tDelivery } = useTranslation('legal-agb-delivery');
const { t: tPayment } = useTranslation('legal-agb-payment');
const { t: tConsumer } = useTranslation('legal-agb-consumer');
const content = (
<>
<Typography variant="h6" gutterBottom>
{t ? t('deliveryShippingConditions') : 'Liefer- & Versandbedingungen'}
{tDelivery ? tDelivery('deliveryShippingConditions') : 'Liefer- & Versandbedingungen'}
</Typography>
{[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14].map(num => (
<Typography key={num} variant="body1" paragraph>
{num}. {t ? t(`deliveryTerms.${num}`) : `Delivery term ${num} not translated`}
{num}. {tDelivery ? tDelivery(`deliveryTerms.${num}`) : `Delivery term ${num} not translated`}
</Typography>
))}
<Typography variant="h6" gutterBottom sx={{ mt: 3 }}>
{t ? t('consultationLiability.title') : 'Beratung und Haftung'}
{tPayment ? tPayment('consultationLiability.title') : 'Beratung und Haftung'}
</Typography>
<Typography variant="body1" paragraph>
1. {t ? t('consultationLiability.1') : 'Anwendungstechnische Beratung geben wir nach bestem Wissen aufgrund des Standes unserer Erfahrung und Kenntnisse.'}
1. {tPayment ? tPayment('consultationLiability.1') : 'Anwendungstechnische Beratung geben wir nach bestem Wissen aufgrund des Standes unserer Erfahrung und Kenntnisse.'}
</Typography>
<Typography variant="body1" paragraph>
2. {t ? t('consultationLiability.2') : 'Für die Beachtung gesetzlicher Vorschriften bei Lagerung, Weitertransport und Verwendung unserer Waren ist der Käufer verantwortlich.'}
2. {tPayment ? tPayment('consultationLiability.2') : 'Für die Beachtung gesetzlicher Vorschriften bei Lagerung, Weitertransport und Verwendung unserer Waren ist der Käufer verantwortlich.'}
</Typography>
<Typography variant="h6" gutterBottom sx={{ mt: 3 }}>
{t ? t('paymentConditions.title') : 'Zahlungsbedingungen'}
{tPayment ? tPayment('paymentConditions.title') : 'Zahlungsbedingungen'}
</Typography>
<Typography variant="body1" paragraph>
1. {t ? t('paymentConditions.1') : 'Die Ware bleibt bis zur vollständigen Bezahlung Eigentum von Growheads.'}
1. {tPayment ? tPayment('paymentConditions.1') : 'Die Ware bleibt bis zur vollständigen Bezahlung Eigentum von Growheads.'}
</Typography>
<Typography variant="body1" paragraph>
2. {t ? t('paymentConditions.2') : 'Rechnungen werden per Vorkasse auf unsere Bankverbindung überwiesen. Wenn Sie Vorkasse bezahlen, wird die Ware versendet sobald der Betrag auf unserem Konto gutgeschrieben ist.'}
2. {tPayment ? tPayment('paymentConditions.2') : 'Rechnungen werden per Vorkasse auf unsere Bankverbindung überwiesen. Wenn Sie Vorkasse bezahlen, wird die Ware versendet sobald der Betrag auf unserem Konto gutgeschrieben ist.'}
</Typography>
<Typography variant="h6" gutterBottom sx={{ mt: 3 }}>
{t ? t('retentionOfTitle.title') : 'Eigentumsvorbehalt'}
{tPayment ? tPayment('retentionOfTitle.title') : 'Eigentumsvorbehalt'}
</Typography>
<Typography variant="body1" paragraph>
{t ? t('retentionOfTitle.content') : 'Die gelieferte Ware bleibt so lange Eigentum von Growheads, bis der Käufer alle gegen ihn bestehenden Forderungen beglichen hat. Veräußert der Verkäufer die Ware, so tritt er schon jetzt die ihm aus dem Verkauf zustehenden Forderungen an uns ab. Kommt der Käufer mit seinen Zahlungen in Verzug, so können wir jederzeit die Herausgabe der Ware verlangen, ohne vom Vertrag zurückzutreten.'}
{tPayment ? tPayment('retentionOfTitle.content') : 'Die gelieferte Ware bleibt so lange Eigentum von Growheads, bis der Käufer alle gegen ihn bestehenden Forderungen beglichen hat. Veräußert der Verkäufer die Ware, so tritt er schon jetzt die ihm aus dem Verkauf zustehenden Forderungen an uns ab. Kommt der Käufer mit seinen Zahlungen in Verzug, so können wir jederzeit die Herausgabe der Ware verlangen, ohne vom Vertrag zurückzutreten.'}
</Typography>
<Typography variant="h6" gutterBottom sx={{ mt: 3 }}>
{t ? t('distanceSelling.title') : 'Belehrung nach Fernabsatzgesetz'}
{tConsumer ? tConsumer('distanceSelling.title') : 'Belehrung nach Fernabsatzgesetz'}
</Typography>
<Typography variant="body1" paragraph>
{t ? t('distanceSelling.intro') : 'Die nachfolgende Belehrung gilt nur für Verträge, die zwischen Growheads und Verbrauchern durch Katalogbestellung, Internetbestellung oder durch sonstige Fern-Kommunikationsmittel zustande gekommen sind. Sie ist auf Verbraucher innerhalb der EG beschränkt.'}
{tConsumer ? tConsumer('distanceSelling.intro') : 'Die nachfolgende Belehrung gilt nur für Verträge, die zwischen Growheads und Verbrauchern durch Katalogbestellung, Internetbestellung oder durch sonstige Fern-Kommunikationsmittel zustande gekommen sind. Sie ist auf Verbraucher innerhalb der EG beschränkt.'}
</Typography>
{[1, 2, 3, 5, 6, 7, 8].map(num => (
<React.Fragment key={num}>
<Typography variant="h6" gutterBottom sx={{ mt: 2 }}>
{num}. {t ? t(`distanceSelling.sections.${num}.title`) : `Section ${num} title`}
{num}. {tConsumer ? tConsumer(`distanceSelling.sections.${num}.title`) : `Section ${num} title`}
</Typography>
<Typography variant="body1" paragraph>
{t ? t(`distanceSelling.sections.${num}.content`) : `Section ${num} content`}
{tConsumer ? tConsumer(`distanceSelling.sections.${num}.content`) : `Section ${num} content`}
</Typography>
</React.Fragment>
))}
<Typography variant="body1" paragraph>
4. {t ? t('distanceSelling.sections.4') : 'Alle Preise sind unter dem Vorbehalt von Fehlern oder Preisschwankungen. Sollte es zu einer Preisänderung kommen, so kann der Käufer von seinem Rückgaberecht gebrauch machen.'}
4. {tConsumer ? tConsumer('distanceSelling.sections.4') : 'Alle Preise sind unter dem Vorbehalt von Fehlern oder Preisschwankungen. Sollte es zu einer Preisänderung kommen, so kann der Käufer von seinem Rückgaberecht gebrauch machen.'}
</Typography>
</>
);
return <LegalPage title={t ? t('title') : 'Allgemeine Geschäftsbedingungen'} content={content} />;
return <LegalPage title={tDelivery ? tDelivery('title') : 'Allgemeine Geschäftsbedingungen'} content={content} />;
};
export default AGB;