feat(map): separate standorte and project map variants
All checks were successful
Build & Deploy / 🔍 Prepare (push) Successful in 24s
Build & Deploy / 🧪 QA (push) Successful in 56s
Build & Deploy / 🏗️ Build (push) Successful in 1m36s
Build & Deploy / 🚀 Deploy (push) Successful in 25s
Build & Deploy / 🧪 Post-Deploy Verification (push) Successful in 42s
Build & Deploy / 🔔 Notify (push) Successful in 2s
All checks were successful
Build & Deploy / 🔍 Prepare (push) Successful in 24s
Build & Deploy / 🧪 QA (push) Successful in 56s
Build & Deploy / 🏗️ Build (push) Successful in 1m36s
Build & Deploy / 🚀 Deploy (push) Successful in 25s
Build & Deploy / 🧪 Post-Deploy Verification (push) Successful in 42s
Build & Deploy / 🔔 Notify (push) Successful in 2s
This commit is contained in:
@@ -10,7 +10,6 @@ import TrackedLink from '@/components/analytics/TrackedLink';
|
|||||||
import { getButtonClasses, ButtonOverlay } from '@/components/ui/Button';
|
import { getButtonClasses, ButtonOverlay } from '@/components/ui/Button';
|
||||||
import { getAllReferences } from '@/lib/references';
|
import { getAllReferences } from '@/lib/references';
|
||||||
import { defaultLocations, minorLocations } from '@/lib/map-data';
|
import { defaultLocations, minorLocations } from '@/lib/map-data';
|
||||||
import { standorteLocations } from '@/lib/standorte-data';
|
|
||||||
// Import components used in MDX
|
// Import components used in MDX
|
||||||
import { HeroVideo as HomeHero } from '@/components/blocks/HeroVideo';
|
import { HeroVideo as HomeHero } from '@/components/blocks/HeroVideo';
|
||||||
import { SubCompanyTiles as HomeSubCompanyTiles } from '@/components/blocks/SubCompanyTiles';
|
import { SubCompanyTiles as HomeSubCompanyTiles } from '@/components/blocks/SubCompanyTiles';
|
||||||
@@ -153,7 +152,7 @@ export default async function Page(props: { params: Promise<{ locale: string; sl
|
|||||||
|
|
||||||
// Fetch references to enrich the map if it's used
|
// Fetch references to enrich the map if it's used
|
||||||
const references = await getAllReferences(locale);
|
const references = await getAllReferences(locale);
|
||||||
const allLocations = [...standorteLocations, ...defaultLocations, ...minorLocations];
|
const allLocations = [...defaultLocations, ...minorLocations];
|
||||||
const enrichedLocations = allLocations.map(loc => {
|
const enrichedLocations = allLocations.map(loc => {
|
||||||
if (loc.type === 'project') {
|
if (loc.type === 'project') {
|
||||||
const ref = references.find(r => r.slug === loc.id);
|
const ref = references.find(r => r.slug === loc.id);
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ import { SITE_URL } from '@/lib/schema';
|
|||||||
import Image from 'next/image';
|
import Image from 'next/image';
|
||||||
import { InteractiveGermanyMap } from '@/components/blocks/InteractiveGermanyMap';
|
import { InteractiveGermanyMap } from '@/components/blocks/InteractiveGermanyMap';
|
||||||
import { defaultLocations, minorLocations } from '@/lib/map-data';
|
import { defaultLocations, minorLocations } from '@/lib/map-data';
|
||||||
import { standorteLocations } from '@/lib/standorte-data';
|
|
||||||
|
|
||||||
interface PageProps {
|
interface PageProps {
|
||||||
params: Promise<{
|
params: Promise<{
|
||||||
@@ -53,7 +52,7 @@ export default async function ReferenzenOverview(props: { params: Promise<{ loca
|
|||||||
|
|
||||||
const references = await getAllReferences(locale);
|
const references = await getAllReferences(locale);
|
||||||
|
|
||||||
const allLocations = [...standorteLocations, ...defaultLocations, ...minorLocations];
|
const allLocations = [...defaultLocations, ...minorLocations];
|
||||||
const enrichedLocations = allLocations.map(loc => {
|
const enrichedLocations = allLocations.map(loc => {
|
||||||
if (loc.type === 'project') {
|
if (loc.type === 'project') {
|
||||||
const ref = references.find(r => r.slug === loc.id);
|
const ref = references.find(r => r.slug === loc.id);
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import { MapPin, Navigation, ArrowUpRight } from 'lucide-react';
|
|||||||
import { getButtonClasses, ButtonOverlay } from '@/components/ui/Button';
|
import { getButtonClasses, ButtonOverlay } from '@/components/ui/Button';
|
||||||
import { SITE_URL } from '@/lib/schema';
|
import { SITE_URL } from '@/lib/schema';
|
||||||
import Image from 'next/image';
|
import Image from 'next/image';
|
||||||
import { standorteData } from '@/lib/standorte-data';
|
import { standorteData, standorteLocations } from '@/lib/standorte-data';
|
||||||
import { InteractiveGermanyMap } from '@/components/blocks/InteractiveGermanyMap';
|
import { InteractiveGermanyMap } from '@/components/blocks/InteractiveGermanyMap';
|
||||||
|
|
||||||
interface PageProps {
|
interface PageProps {
|
||||||
@@ -15,17 +15,15 @@ interface PageProps {
|
|||||||
}>;
|
}>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function generateMetadata({ params }: PageProps): Promise<Metadata> {
|
export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
|
||||||
const { locale } = await params;
|
const { locale } = await params;
|
||||||
if (locale !== 'de' && locale !== 'en') return {};
|
const safeLocale = locale === 'de' ? 'de' : 'en';
|
||||||
|
|
||||||
return {
|
return {
|
||||||
title: locale === 'de' ? 'Standorte | E-TIB Gruppe' : 'Locations | E-TIB Group',
|
title: safeLocale === 'en' ? 'Our Locations' : 'Unsere Standorte',
|
||||||
description: locale === 'de'
|
description: safeLocale === 'en' ? 'Our operational locations across Germany.' : 'Unsere operativen Standorte deutschlandweit.',
|
||||||
? 'Die operativen Standorte der E-TIB Gruppe: Guben, Kirchheilingen und Bülstedt.'
|
|
||||||
: 'The operational locations of the E-TIB Group: Guben, Kirchheilingen and Bülstedt.',
|
|
||||||
alternates: {
|
alternates: {
|
||||||
canonical: `${SITE_URL}/${locale}/standorte`,
|
canonical: `${SITE_URL}/${safeLocale}/standorte`,
|
||||||
languages: {
|
languages: {
|
||||||
de: `${SITE_URL}/de/standorte`,
|
de: `${SITE_URL}/de/standorte`,
|
||||||
en: `${SITE_URL}/en/standorte`,
|
en: `${SITE_URL}/en/standorte`,
|
||||||
@@ -46,6 +44,7 @@ export default async function StandorteOverview(props: { params: Promise<{ local
|
|||||||
{/* Map Hero Section */}
|
{/* Map Hero Section */}
|
||||||
<InteractiveGermanyMap
|
<InteractiveGermanyMap
|
||||||
isHero={true}
|
isHero={true}
|
||||||
|
locations={standorteLocations}
|
||||||
badge={safeLocale === 'en' ? 'Our Locations' : 'Unsere Standorte'}
|
badge={safeLocale === 'en' ? 'Our Locations' : 'Unsere Standorte'}
|
||||||
title={safeLocale === 'en' ? 'Nationwide operational for you.' : 'Deutschlandweit für Sie im Einsatz.'}
|
title={safeLocale === 'en' ? 'Nationwide operational for you.' : 'Deutschlandweit für Sie im Einsatz.'}
|
||||||
description={safeLocale === 'en'
|
description={safeLocale === 'en'
|
||||||
|
|||||||
Reference in New Issue
Block a user