Merge version_23_1782165630311 into main #25

Merged
bender merged 1 commits from version_23_1782165630311 into main 2026-06-22 22:03:50 +00:00
3 changed files with 135 additions and 1 deletions

View File

@@ -13,10 +13,13 @@ import TestimonialsSection from './HomePage/sections/Testimonials';
import FaqSection from './HomePage/sections/Faq';
import ContactSection from './HomePage/sections/Contact';
export default function HomePage(): React.JSX.Element {
import TermsOfServiceSection from './HomePage/sections/TermsOfService';
import TrustedBySection from './HomePage/sections/TrustedBy';export default function HomePage(): React.JSX.Element {
return (
<>
<HeroSection />
<TrustedBySection />
<AboutSection />
@@ -31,6 +34,7 @@ export default function HomePage(): React.JSX.Element {
<FaqSection />
<ContactSection />
<TermsOfServiceSection />
</>
);
}

View File

@@ -0,0 +1,82 @@
import { motion } from "motion/react";
import PolicyContent from "@/components/sections/legal/PolicyContent";
export default function TermsOfServiceSection() {
return (
<div data-webild-section="terms-of-service" id="terms-of-service">
<section className="relative w-full py-24 bg-background">
<div className="w-content-width mx-auto">
<PolicyContent
title="Allgemeine Geschäftsbedingungen (AGB)"
subtitle="Zuletzt aktualisiert: 1. Januar 2024"
sections={[
{
heading: "1. Geltungsbereich",
content: [
{
type: "paragraph",
text: "Diese Allgemeinen Geschäftsbedingungen (AGB) gelten für alle Verträge, die zwischen RojTec und unseren Kunden über Reparaturdienstleistungen für Smartphones und andere mobile Endgeräte abgeschlossen werden."
}
]
},
{
heading: "2. Vertragsschluss",
content: [
{
type: "paragraph",
text: "Der Vertrag kommt zustande, sobald der Kunde uns einen Reparaturauftrag erteilt und wir diesen annehmen. Dies kann mündlich, schriftlich oder durch Übergabe des Geräts erfolgen."
}
]
},
{
heading: "3. Leistungen",
content: [
{
type: "paragraph",
text: "Wir führen Reparaturen nach bestem Wissen und Gewissen durch. Sollte sich während der Reparatur herausstellen, dass weitere, nicht vorhersehbare Arbeiten erforderlich sind, werden wir den Kunden vorab informieren und dessen Zustimmung einholen."
}
]
},
{
heading: "4. Preise und Zahlungsbedingungen",
content: [
{
type: "paragraph",
text: "Alle Preise verstehen sich inklusive der gesetzlichen Mehrwertsteuer. Die Zahlung ist unmittelbar nach Abschluss der Reparatur und Rückgabe des Geräts fällig, sofern nicht anders vereinbart."
}
]
},
{
heading: "5. Gewährleistung",
content: [
{
type: "paragraph",
text: "Wir gewähren auf die von uns durchgeführten Reparaturen und die verbauten Ersatzteile eine Gewährleistung von 12 Monaten. Ausgenommen sind Schäden, die durch unsachgemäße Behandlung, Sturz oder Wasserschäden nach der Reparatur entstehen."
}
]
},
{
heading: "6. Haftung",
content: [
{
type: "paragraph",
text: "Wir haften nur für Vorsatz und grobe Fahrlässigkeit. Für Datenverlust übernehmen wir keine Haftung. Der Kunde ist verpflichtet, vor der Übergabe des Geräts eine Datensicherung durchzuführen."
}
]
},
{
heading: "7. Schlussbestimmungen",
content: [
{
type: "paragraph",
text: "Es gilt das Recht der Bundesrepublik Deutschland. Gerichtsstand ist, soweit gesetzlich zulässig, der Sitz von RojTec."
}
]
}
]}
/>
</div>
</section>
</div>
);
}

View File

@@ -0,0 +1,48 @@
import { motion } from "motion/react";
import ScrollReveal from "@/components/ui/ScrollReveal";
import TextAnimation from "@/components/ui/TextAnimation";
import Tag from "@/components/ui/Tag";
import IconTextMarquee from "@/components/ui/IconTextMarquee";
export default function TrustedBySection() {
return (
<div data-webild-section="trusted-by" id="trusted-by">
<section className="relative w-full py-16 bg-background overflow-hidden border-b border-border/10">
<div className="w-content-width mx-auto mb-10 text-center">
<ScrollReveal variant="fade">
<div className="flex justify-center mb-4">
<Tag text="Zertifizierte Qualität" />
</div>
<TextAnimation
text="Vertraut von unseren Kunden & Partnern"
variant="fade-blur"
tag="h2"
className="text-2xl md:text-3xl font-bold text-foreground mb-4"
gradientText={false}
/>
<p className="text-accent max-w-2xl mx-auto">
Wir reparieren alle gängigen Marken mit höchster Präzision und Qualität.
</p>
</ScrollReveal>
</div>
<div className="w-full">
<IconTextMarquee
centerIcon="ShieldCheck"
texts={[
"Apple",
"Samsung",
"Huawei",
"Xiaomi",
"Google Pixel",
"Sony",
"OnePlus",
"Motorola",
"Nokia"
]}
/>
</div>
</section>
</div>
);
}