Compare commits

..

2 Commits

Author SHA1 Message Date
140cb012df chore(content): align career benefits exactly with legacy reference promises
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 19s
Build & Deploy / 🧪 QA (push) Failing after 1m0s
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
2026-05-15 22:52:45 +02:00
e1c9720eeb refactor: remove Karriere link from header navigation
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 21s
Build & Deploy / 🧪 QA (push) Failing after 1m16s
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 1s
2026-05-15 22:49:32 +02:00
5 changed files with 21 additions and 47 deletions

View File

@@ -100,10 +100,6 @@ export default async function Layout(props: {
label: safeLocale === 'de' ? 'Referenzen' : 'References',
url: `/${safeLocale}/referenzen`
},
{
label: safeLocale === 'de' ? 'Karriere' : 'Careers',
url: `/${safeLocale}/${await mapFileSlugToTranslated('karriere', safeLocale)}`
},
{
label: safeLocale === 'de' ? 'Messen' : 'Events',
url: `/${safeLocale}/${await mapFileSlugToTranslated('messen', safeLocale)}`

View File

@@ -135,9 +135,7 @@ export default async function ReferenceDetail(props: { params: Promise<{ locale:
<MapPin className="w-8 h-8 text-primary shrink-0" />
<div>
<p className="text-sm text-white/50 mb-1 uppercase tracking-wider font-bold">Ort</p>
<p className="font-semibold text-lg">
{reference.frontmatter.location ? reference.frontmatter.location.split('/')[0].replace(/\b\d{5}\b/g, '').trim() : ''}
</p>
<p className="font-semibold text-lg">{reference.frontmatter.location}</p>
</div>
</div>
<div className="flex items-start gap-4 p-6 bg-white/5 rounded-2xl border border-white/10 backdrop-blur-sm">

View File

@@ -8,7 +8,6 @@ import { getButtonClasses, ButtonOverlay } from '@/components/ui/Button';
import { SITE_URL } from '@/lib/schema';
import Image from 'next/image';
import { InteractiveGermanyMap } from '@/components/blocks/InteractiveGermanyMap';
import { HeroSection } from '@/components/blocks/HeroSection';
import { defaultLocations } from '@/lib/map-data';
interface PageProps {
@@ -42,16 +41,6 @@ export default async function ReferenzenOverview(props: { params: Promise<{ loca
const references = await getAllReferences(locale);
// Helper to clean up location names (remove PLZ and keep only first location if multiple)
const cleanLocation = (locStr: string | undefined) => {
if (!locStr) return '';
// Take first part before slash
let cleaned = locStr.split('/')[0].trim();
// Remove 5-digit PLZ
cleaned = cleaned.replace(/\b\d{5}\b/g, '').trim();
return cleaned;
};
// Enrich the static map locations with dynamic project data (images, details)
const enrichedLocations = defaultLocations.map(loc => {
if (loc.type === 'project') {
@@ -72,21 +61,12 @@ export default async function ReferenzenOverview(props: { params: Promise<{ loca
return (
<div className="flex flex-col min-h-screen bg-neutral-50 pb-16 md:pb-24">
{/* Hero Section */}
<HeroSection
badge="Referenzen"
title="Erfolgreich umgesetzte Projekte."
subtitle="Vom Breitbandausbau bis zur komplexen 110kV-Trasse: Ein Auszug unserer bundesweiten Projekte, bei denen wir Infrastruktur für die Zukunft geschaffen haben."
alignment="center"
backgroundImage={{ url: '/assets/photos/DSC08653.JPG' }}
/>
{/* Map Section */}
{/* Map Hero Section */}
<InteractiveGermanyMap
isHero={false}
badge="Einsatzgebiete"
title="Deutschlandweit für Sie im Einsatz."
description="Entdecken Sie unsere strategischen Standorte und eine Auswahl unserer deutschlandweiten Referenzprojekte."
isHero={true}
badge="Unsere Referenzen"
title={<>Erfolgreich umgesetzte<br/>Projekte.</>}
description="Vom Breitbandausbau bis zur komplexen 110kV-Trasse: Ein Auszug unserer bundesweiten Projekte, bei denen wir Infrastruktur für die Zukunft geschaffen haben. Entdecken Sie unsere Standorte."
locations={enrichedLocations}
/>
@@ -124,7 +104,7 @@ export default async function ReferenzenOverview(props: { params: Promise<{ loca
<div className="absolute top-4 left-4 z-10">
<span className="bg-white/95 backdrop-blur-md text-neutral-dark px-3 py-1.5 rounded-sm text-[10px] font-bold uppercase tracking-widest flex items-center gap-1.5 shadow-sm border border-neutral-200">
<MapPin className="w-3 h-3 text-primary" />
{cleanLocation(ref.frontmatter.location)}
{ref.frontmatter.location}
</span>
</div>
</div>

View File

@@ -45,7 +45,7 @@ export function InteractiveGermanyMap({
<div className={isHero ? "relative w-full" : "relative w-full max-w-7xl mx-auto py-16 md:py-24 px-4 sm:px-6 mt-16 md:mt-20"}>
<div className={`bg-[#050B14] ${isHero ? 'pt-32 pb-16 md:pt-40 md:pb-24' : 'rounded-[2.5rem] md:rounded-[3.5rem] shadow-2xl border border-white/5'} overflow-visible relative group/map`}>
{/* Animated Border Glow */}
<AnimatedGlossyBorder opacity={0.7} className="z-30" />
{!isHero && <AnimatedGlossyBorder opacity={0.7} className="z-30" />}
{/* Background Effects */}
<div className={`absolute inset-0 bg-gradient-to-br from-[#050B14] via-[#0A1322] to-[#050B14] ${!isHero && 'rounded-[2.5rem] md:rounded-[3.5rem]'} overflow-hidden`} />

View File

@@ -24,73 +24,73 @@ layout: "fullBleed"
{
id: "region",
title: "Spannende Bauvorhaben",
description: "Einsatz bei interessanten regionalen und überregionalen Projekten.",
description: "Einsatz bei regionalen und überregionalen Bauvorhaben.",
icon: "region"
},
{
id: "contract",
title: "Unbefristeter Vertrag",
description: "Sicherer Arbeitsplatz durch einen unbefristeten Arbeitsvertrag in Vollzeit.",
description: "Sicherer, unbefristeter Arbeitsvertrag in Vollzeit.",
icon: "contract"
},
{
id: "money",
title: "Faire Vergütung",
description: "Leistungsbezogene, überdurchschnittliche und faire Bezahlung.",
description: "Leistungsbezogene und faire Vergütung für Ihre Arbeit.",
icon: "money"
},
{
id: "allowance",
title: "Tägliche Auslöse",
description: "Wir zahlen eine steuerfreie Auslöse von bis zu 30,00 EUR pro Arbeitstag.",
description: "Auslöse von bis zu 30,00 EUR pro Arbeitstag.",
icon: "allowance"
},
{
id: "vacation",
title: "31 Tage Urlaub",
description: "31 Tage Jahresurlaub sowie zusätzliches Urlaubsgeld zur Erholung.",
description: "31 Tage Jahresurlaub sowie zusätzliches Urlaubsgeld.",
icon: "vacation"
},
{
id: "clothes",
title: "Premium Arbeitskleidung",
description: "Hochwertige Engelbert-Strauss Arbeitskleidung wird komplett gestellt.",
title: "Marken-Arbeitskleidung",
description: "Bereitstellung von hochwertiger Engelbert-Strauss Arbeitskleidung.",
icon: "clothes"
},
{
id: "card",
title: "Zusatzzahlungen",
description: "Monatliche Boni über eine persönliche MasterCard.",
description: "Monatliche Zusatzzahlungen über eine persönliche MasterCard.",
icon: "card"
},
{
id: "retirement",
title: "Altersvorsorge",
description: "Attraktive Zuzahlung im Rahmen der betrieblichen Altersvorsorge.",
description: "Zuzahlung im Rahmen der betrieblichen Altersvorsorge.",
icon: "retirement"
},
{
id: "education",
title: "Weiterbildung",
description: "Individuelle Entwicklungs- und Aufstiegsmöglichkeiten im Unternehmen.",
description: "Individuelle Weiterbildungs- und Entwicklungsmöglichkeiten.",
icon: "education"
},
{
id: "car",
title: "Firmenfahrzeug",
description: "Stellung eines Fahrzeugs zur betrieblichen Nutzung und r Baustellen.",
description: "Stellung eines Fahrzeugs zur betrieblichen Nutzung und Fahrten zur Baustelle.",
icon: "car"
},
{
id: "team",
title: "Intensive Einarbeitung",
description: "Professionelles Onboarding in einem hilfsbereiten und engagierten Team.",
description: "Entsprechende Einarbeitung in einem engagierten Team.",
icon: "team"
},
{
id: "family",
title: "Familiäres Klima",
description: "Starker Zusammenhalt durch regelmäßige betrieblich organisierte Events.",
description: "Familiäres Betriebsklima mit betrieblich organisierten Veranstaltungen.",
icon: "family"
}
]}