refactor: remove redundant CallToAction component from all MDX pages
Some checks failed
Build & Deploy / 🔍 Prepare (push) Failing after 33s
Build & Deploy / 🧪 QA (push) Has been skipped
Build & Deploy / 🏗️ Build (push) Has been skipped
Build & Deploy / 🚀 Deploy (push) Has been skipped
Build & Deploy / 🧪 Post-Deploy Verification (push) Has been skipped
Build & Deploy / 🔔 Notify (push) Successful in 2s
Some checks failed
Build & Deploy / 🔍 Prepare (push) Failing after 33s
Build & Deploy / 🧪 QA (push) Has been skipped
Build & Deploy / 🏗️ Build (push) Has been skipped
Build & Deploy / 🚀 Deploy (push) Has been skipped
Build & Deploy / 🧪 Post-Deploy Verification (push) Has been skipped
Build & Deploy / 🔔 Notify (push) Successful in 2s
This commit is contained in:
@@ -17,7 +17,6 @@ import { CompetenceBentoGrid as HomeCompetenceBentoGrid } from '@/components/blo
|
||||
import { ReferencesSlider as HomeReferencesSlider } from '@/components/blocks/ReferencesSlider';
|
||||
import { CompanyTimeline } from '@/components/blocks/CompanyTimeline';
|
||||
import { JobListingBlock } from '@/components/blocks/JobListingBlock';
|
||||
import { CallToAction } from '@/components/blocks/CallToAction';
|
||||
import { ServiceDetailGrid } from '@/components/blocks/ServiceDetailGrid';
|
||||
import { BenefitGrid } from '@/components/blocks/BenefitGrid';
|
||||
import { InteractiveGermanyMap } from '@/components/blocks/InteractiveGermanyMap';
|
||||
@@ -40,7 +39,6 @@ const mdxComponents = {
|
||||
HomeReferencesSlider,
|
||||
CompanyTimeline,
|
||||
JobListingBlock,
|
||||
CallToAction,
|
||||
ServiceDetailGrid,
|
||||
BenefitGrid,
|
||||
InteractiveGermanyMap,
|
||||
|
||||
@@ -1,76 +0,0 @@
|
||||
'use client';
|
||||
|
||||
import React from 'react';
|
||||
import { Button } from '@/components/ui/Button';
|
||||
import { motion } from 'framer-motion';
|
||||
import { useTranslations } from 'next-intl';
|
||||
|
||||
export interface CallToActionProps {
|
||||
title?: string;
|
||||
description?: string;
|
||||
text?: string; // Alias for description
|
||||
ctaLabel?: string;
|
||||
buttonText?: string; // Alias for ctaLabel
|
||||
ctaHref?: string;
|
||||
buttonLink?: string; // Alias for ctaHref
|
||||
theme?: 'light' | 'dark';
|
||||
}
|
||||
|
||||
const containerVariants = {
|
||||
hidden: { opacity: 0 },
|
||||
visible: {
|
||||
opacity: 1,
|
||||
transition: {
|
||||
staggerChildren: 0.15,
|
||||
delayChildren: 0.1,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
const itemVariants = {
|
||||
hidden: { opacity: 0, y: 20 },
|
||||
visible: {
|
||||
opacity: 1,
|
||||
y: 0,
|
||||
transition: { duration: 0.8, ease: [0.16, 1, 0.3, 1] as const },
|
||||
},
|
||||
};
|
||||
|
||||
export const CallToAction: React.FC<CallToActionProps> = (props) => {
|
||||
const { theme = 'light' } = props;
|
||||
const isDark = theme === 'dark';
|
||||
const t = useTranslations('CallToAction');
|
||||
|
||||
const title = props.title || t('title');
|
||||
const description = props.description || props.text || t('description');
|
||||
const ctaLabel = props.ctaLabel || props.buttonText || t('ctaLabel');
|
||||
const ctaHref = props.ctaHref || props.buttonLink || t('ctaHref');
|
||||
|
||||
return (
|
||||
<div className={`py-24 text-center ${isDark ? 'bg-primary-dark text-white' : 'bg-neutral-50 border-t border-neutral-100'}`}>
|
||||
<motion.div
|
||||
className="container max-w-3xl mx-auto px-4"
|
||||
variants={containerVariants}
|
||||
initial="hidden"
|
||||
whileInView="visible"
|
||||
viewport={{ once: true, margin: "-100px" }}
|
||||
>
|
||||
<motion.h2 variants={itemVariants} className={`font-heading text-4xl font-extrabold mb-6 ${isDark ? 'text-white' : 'text-neutral-dark'}`}>
|
||||
{title}
|
||||
</motion.h2>
|
||||
<motion.p variants={itemVariants} className={`text-xl mb-10 leading-relaxed ${isDark ? 'text-white/70' : 'text-text-secondary'}`}>
|
||||
{description}
|
||||
</motion.p>
|
||||
<motion.div variants={itemVariants}>
|
||||
<Button
|
||||
href={ctaHref}
|
||||
size="xl"
|
||||
variant={isDark ? 'white' : 'primary'}
|
||||
>
|
||||
{ctaLabel}
|
||||
</Button>
|
||||
</motion.div>
|
||||
</motion.div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
@@ -73,9 +73,3 @@ layout: "fullBleed"
|
||||
|
||||
<HomeReferencesSlider badge="Praxisbeispiele" title="Referenzen" description="Erfolgreiche HDD-Bohrungen und grabenlose Leitungsverlegungen unter komplexesten Bedingungen." />
|
||||
|
||||
<CallToAction
|
||||
title="Suchen Sie nach einer grabenlosen Lösung?"
|
||||
text="Wir beraten Sie gerne zu den Möglichkeiten der Horizontalspülbohrung für Ihr Vorhaben."
|
||||
buttonText="Kontakt aufnehmen"
|
||||
buttonLink="/de/kontakt"
|
||||
/>
|
||||
|
||||
@@ -71,9 +71,3 @@ layout: "fullBleed"
|
||||
|
||||
<HomeReferencesSlider badge="Praxisbeispiele" title="Referenzen" description="Wir haben bereits hunderte Kilometer FTTX-Netze erfolgreich realisiert. Entdecken Sie unsere Referenzen." />
|
||||
|
||||
<CallToAction
|
||||
title="Sie planen einen FTTX-Ausbau?"
|
||||
text="Wir beraten Sie gerne vollumfänglich rund um den Bereich FTTX und den Glasfaserausbau."
|
||||
buttonText="Kontakt aufnehmen"
|
||||
buttonLink="/de/kontakt"
|
||||
/>
|
||||
|
||||
@@ -73,9 +73,3 @@ layout: "fullBleed"
|
||||
|
||||
<HomeReferencesSlider badge="Praxisbeispiele" title="Referenzen" description="Wir haben über hunderte Kilometer Kabel verlegt. Sehen Sie sich unsere Referenz-Projekte an." />
|
||||
|
||||
<CallToAction
|
||||
title="Sie haben ein konkretes Projekt?"
|
||||
text="Wir beraten Sie gerne zu allen Fragen rund um Kabeltiefbau und Leitungsverlegung."
|
||||
buttonText="Kontakt aufnehmen"
|
||||
buttonLink="/de/kontakt"
|
||||
/>
|
||||
|
||||
@@ -97,10 +97,3 @@ layout: "fullBleed"
|
||||
]}
|
||||
/>
|
||||
|
||||
<CallToAction
|
||||
title="Initiativbewerbung (m/w/d)"
|
||||
description="Sie können sich vorstellen, eine langfristige Herausforderung in unserem Unternehmen anzunehmen, finden aber kein passendes Stellenangebot? Bewerben Sie sich initiativ."
|
||||
ctaLabel="Zum Kontaktformular"
|
||||
ctaHref="/de/kontakt"
|
||||
theme="dark"
|
||||
/>
|
||||
|
||||
@@ -27,4 +27,3 @@ layout: "fullBleed"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<CallToAction />
|
||||
|
||||
@@ -71,9 +71,3 @@ layout: "fullBleed"
|
||||
|
||||
<HomeReferencesSlider badge="Praxisbeispiele" title="Planung in der Praxis" description="Erfolgreich geplante und begleitete Infrastrukturprojekte unserer Unternehmensgruppe." />
|
||||
|
||||
<CallToAction
|
||||
title="Benötigen Sie Planungssicherheit?"
|
||||
text="Lassen Sie uns über Ihr Vorhaben sprechen. Wir stehen Ihnen mit unserem Ingenieurwissen zur Seite."
|
||||
buttonText="Kontakt aufnehmen"
|
||||
buttonLink="/de/kontakt"
|
||||
/>
|
||||
|
||||
@@ -82,9 +82,3 @@ layout: "fullBleed"
|
||||
]}
|
||||
/>
|
||||
|
||||
<CallToAction
|
||||
title="Werden Sie Teil unseres Teams"
|
||||
text="Wir sind immer auf der Suche nach motivierten Talenten für spannende Infrastrukturprojekte."
|
||||
buttonText="Offene Stellen ansehen"
|
||||
buttonLink="/de/karriere"
|
||||
/>
|
||||
|
||||
@@ -108,4 +108,3 @@ layout: "fullBleed"
|
||||
|
||||
|
||||
|
||||
<CallToAction />
|
||||
|
||||
@@ -72,9 +72,3 @@ layout: "fullBleed"
|
||||
|
||||
<HomeReferencesSlider badge="Praxisbeispiele" title="Dokumentierte Projekte" description="Wir haben hunderte Kilometer Trassen exakt eingemessen und digital dokumentiert." />
|
||||
|
||||
<CallToAction
|
||||
title="Stehen Sie vor hohen Dokumentationsanforderungen?"
|
||||
text="Kontaktieren Sie uns für professionelle Vermessungs- und GIS-Dienstleistungen."
|
||||
buttonText="Kontakt aufnehmen"
|
||||
buttonLink="/de/kontakt"
|
||||
/>
|
||||
|
||||
@@ -73,9 +73,3 @@ layout: "fullBleed"
|
||||
|
||||
<HomeReferencesSlider badge="Case Studies" title="References" description="Successful HDD drilling and trenchless cable laying under the most complex conditions." />
|
||||
|
||||
<CallToAction
|
||||
title="Looking for a trenchless solution?"
|
||||
text="We would be happy to advise you on the possibilities of horizontal directional drilling for your project."
|
||||
buttonText="Contact us"
|
||||
buttonLink="/en/contact"
|
||||
/>
|
||||
|
||||
@@ -71,9 +71,3 @@ layout: "fullBleed"
|
||||
|
||||
<HomeReferencesSlider badge="Case Studies" title="References" description="We have already successfully realized hundreds of kilometers of FTTX networks. Discover our references." />
|
||||
|
||||
<CallToAction
|
||||
title="Are you planning an FTTX expansion?"
|
||||
text="We are happy to advise you on all aspects of FTTX and fiber optic expansion."
|
||||
buttonText="Contact us"
|
||||
buttonLink="/en/contact"
|
||||
/>
|
||||
|
||||
@@ -73,9 +73,3 @@ layout: "fullBleed"
|
||||
|
||||
<HomeReferencesSlider badge="Case Studies" title="References" description="We have laid hundreds of kilometers of cables. Take a look at our reference projects." />
|
||||
|
||||
<CallToAction
|
||||
title="Do you have a specific project?"
|
||||
text="We would be happy to advise you on all questions regarding cable civil engineering and line laying."
|
||||
buttonText="Contact us"
|
||||
buttonLink="/en/contact"
|
||||
/>
|
||||
|
||||
@@ -97,10 +97,3 @@ layout: "fullBleed"
|
||||
]}
|
||||
/>
|
||||
|
||||
<CallToAction
|
||||
title="Speculative Application (m/f/d)"
|
||||
description="Can you imagine taking on a long-term challenge in our company but can't find a suitable job offer? Apply speculatively."
|
||||
ctaLabel="To the contact form"
|
||||
ctaHref="/en/contact"
|
||||
theme="dark"
|
||||
/>
|
||||
|
||||
@@ -27,4 +27,3 @@ layout: "fullBleed"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<CallToAction />
|
||||
|
||||
@@ -71,9 +71,3 @@ layout: "fullBleed"
|
||||
|
||||
<HomeReferencesSlider badge="Case Studies" title="Planning in Practice" description="Successfully planned and accompanied infrastructure projects of our group." />
|
||||
|
||||
<CallToAction
|
||||
title="Do you need planning security?"
|
||||
text="Let's talk about your project. We are at your side with our engineering knowledge."
|
||||
buttonText="Contact us"
|
||||
buttonLink="/en/contact"
|
||||
/>
|
||||
|
||||
@@ -82,9 +82,3 @@ layout: "fullBleed"
|
||||
]}
|
||||
/>
|
||||
|
||||
<CallToAction
|
||||
title="Become part of our team"
|
||||
text="We are always looking for motivated talents for exciting infrastructure projects."
|
||||
buttonText="View open positions"
|
||||
buttonLink="/en/career"
|
||||
/>
|
||||
|
||||
@@ -108,4 +108,3 @@ layout: "fullBleed"
|
||||
|
||||
|
||||
|
||||
<CallToAction />
|
||||
|
||||
@@ -73,9 +73,3 @@ layout: "fullBleed"
|
||||
|
||||
<HomeReferencesSlider badge="Case Studies" title="Documented Projects" description="We have precisely surveyed and digitally documented hundreds of kilometers of routes." />
|
||||
|
||||
<CallToAction
|
||||
title="Are you facing high documentation requirements?"
|
||||
text="Contact us for professional surveying and GIS services."
|
||||
buttonText="Contact us"
|
||||
buttonLink="/en/contact"
|
||||
/>
|
||||
|
||||
Reference in New Issue
Block a user