diff --git a/.turbo/41698960411f6bf6-manifest.json b/.turbo/41698960411f6bf6-manifest.json
new file mode 100644
index 000000000..cd531fd8f
--- /dev/null
+++ b/.turbo/41698960411f6bf6-manifest.json
@@ -0,0 +1 @@
+{"files":{".turbo/turbo-test.log":{"size":2776,"mtime_nanos":1781469605328811961,"mode":420,"is_dir":false}},"order":[".turbo/turbo-test.log"]}
\ No newline at end of file
diff --git a/.turbo/41698960411f6bf6-meta.json b/.turbo/41698960411f6bf6-meta.json
new file mode 100644
index 000000000..15163ed00
--- /dev/null
+++ b/.turbo/41698960411f6bf6-meta.json
@@ -0,0 +1 @@
+{"hash":"41698960411f6bf6","duration":4168,"sha":"a3c732dd133b1b8261b19cf64b3bf684e269e839","dirty_hash":"1ef3b75af417f41468b9558671572e75e0fc055f9dbe6e805cfa6f59b1cddf70"}
\ No newline at end of file
diff --git a/.turbo/41698960411f6bf6.tar.zst b/.turbo/41698960411f6bf6.tar.zst
new file mode 100644
index 000000000..692324646
Binary files /dev/null and b/.turbo/41698960411f6bf6.tar.zst differ
diff --git a/.turbo/bb46018d4a7bc516-manifest.json b/.turbo/bb46018d4a7bc516-manifest.json
new file mode 100644
index 000000000..a7dc13636
--- /dev/null
+++ b/.turbo/bb46018d4a7bc516-manifest.json
@@ -0,0 +1 @@
+{"files":{".turbo/turbo-lint.log":{"size":12987,"mtime_nanos":1781469609469080321,"mode":420,"is_dir":false}},"order":[".turbo/turbo-lint.log"]}
\ No newline at end of file
diff --git a/.turbo/bb46018d4a7bc516-meta.json b/.turbo/bb46018d4a7bc516-meta.json
new file mode 100644
index 000000000..4c9f3cc20
--- /dev/null
+++ b/.turbo/bb46018d4a7bc516-meta.json
@@ -0,0 +1 @@
+{"hash":"bb46018d4a7bc516","duration":8307,"sha":"a3c732dd133b1b8261b19cf64b3bf684e269e839","dirty_hash":"1ef3b75af417f41468b9558671572e75e0fc055f9dbe6e805cfa6f59b1cddf70"}
\ No newline at end of file
diff --git a/.turbo/bb46018d4a7bc516.tar.zst b/.turbo/bb46018d4a7bc516.tar.zst
new file mode 100644
index 000000000..c26176bdb
Binary files /dev/null and b/.turbo/bb46018d4a7bc516.tar.zst differ
diff --git a/.turbo/eb4eeeb717c1af0c-manifest.json b/.turbo/eb4eeeb717c1af0c-manifest.json
new file mode 100644
index 000000000..5872ad5a5
--- /dev/null
+++ b/.turbo/eb4eeeb717c1af0c-manifest.json
@@ -0,0 +1 @@
+{"files":{".turbo/turbo-typecheck.log":{"size":85,"mtime_nanos":1781469608726900998,"mode":420,"is_dir":false}},"order":[".turbo/turbo-typecheck.log"]}
\ No newline at end of file
diff --git a/.turbo/eb4eeeb717c1af0c-meta.json b/.turbo/eb4eeeb717c1af0c-meta.json
new file mode 100644
index 000000000..2a6ccbca5
--- /dev/null
+++ b/.turbo/eb4eeeb717c1af0c-meta.json
@@ -0,0 +1 @@
+{"hash":"eb4eeeb717c1af0c","duration":7565,"sha":"a3c732dd133b1b8261b19cf64b3bf684e269e839","dirty_hash":"1ef3b75af417f41468b9558671572e75e0fc055f9dbe6e805cfa6f59b1cddf70"}
\ No newline at end of file
diff --git a/.turbo/eb4eeeb717c1af0c.tar.zst b/.turbo/eb4eeeb717c1af0c.tar.zst
new file mode 100644
index 000000000..a571156d1
Binary files /dev/null and b/.turbo/eb4eeeb717c1af0c.tar.zst differ
diff --git a/.turbo/turbo-lint.log b/.turbo/turbo-lint.log
index 24e2cea4a..aa3418e80 100644
--- a/.turbo/turbo-lint.log
+++ b/.turbo/turbo-lint.log
@@ -18,12 +18,17 @@
6:10 warning 'Terminal' is defined but never used @typescript-eslint/no-unused-vars
/Volumes/Alpha SSD/Coding/e-tib.com/app/[locale]/referenzen/[slug]/page.tsx
- 92:26 warning Using `
` could result in slower LCP and higher bandwidth. Consider using `` from `next/image` or a custom image loader to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element
+ 118:26 warning Using `
` could result in slower LCP and higher bandwidth. Consider using `` from `next/image` or a custom image loader to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element
/Volumes/Alpha SSD/Coding/e-tib.com/app/[locale]/referenzen/page.tsx
1:21 warning 'Heading' is defined but never used @typescript-eslint/no-unused-vars
1:30 warning 'Badge' is defined but never used @typescript-eslint/no-unused-vars
+/Volumes/Alpha SSD/Coding/e-tib.com/app/[locale]/standorte/[slug]/page.tsx
+ 9:10 warning 'getButtonClasses' is defined but never used @typescript-eslint/no-unused-vars
+ 9:28 warning 'ButtonOverlay' is defined but never used @typescript-eslint/no-unused-vars
+ 58:9 warning 't' is assigned a value but never used @typescript-eslint/no-unused-vars
+
/Volumes/Alpha SSD/Coding/e-tib.com/components/JsonLd.tsx
1:30 warning 'Graph' is defined but never used @typescript-eslint/no-unused-vars
43:31 warning '_' is assigned a value but never used @typescript-eslint/no-unused-vars
@@ -76,14 +81,17 @@ Calling setState synchronously within an effect body causes cascading renders th
/Volumes/Alpha SSD/Coding/e-tib.com/components/blocks/InteractiveGermanyMap.tsx
5:18 warning 'Factory' is defined but never used @typescript-eslint/no-unused-vars
5:27 warning 'Zap' is defined but never used @typescript-eslint/no-unused-vars
- 53:9 warning 'hq' is assigned a value but never used @typescript-eslint/no-unused-vars
- 54:9 warning 'branch' is assigned a value but never used @typescript-eslint/no-unused-vars
- 55:9 warning 'projects' is assigned a value but never used @typescript-eslint/no-unused-vars
- 56:9 warning 'minorNodes' is assigned a value but never used @typescript-eslint/no-unused-vars
+ 56:9 warning 'hq' is assigned a value but never used @typescript-eslint/no-unused-vars
+ 57:9 warning 'branch' is assigned a value but never used @typescript-eslint/no-unused-vars
+ 58:9 warning 'projects' is assigned a value but never used @typescript-eslint/no-unused-vars
+ 59:9 warning 'minorNodes' is assigned a value but never used @typescript-eslint/no-unused-vars
/Volumes/Alpha SSD/Coding/e-tib.com/components/blocks/ReferencesSlider.test.tsx
- 5:10 warning 'NextIntlClientProvider' is defined but never used @typescript-eslint/no-unused-vars
- 21:12 warning Using `
` could result in slower LCP and higher bandwidth. Consider using `` from `next/image` or a custom image loader to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element
+ 20:12 warning Using `
` could result in slower LCP and higher bandwidth. Consider using `` from `next/image` or a custom image loader to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element
+
+/Volumes/Alpha SSD/Coding/e-tib.com/components/blocks/SubCompanyTiles.tsx
+ 92:19 warning 'CardWrapper' is assigned a value but never used @typescript-eslint/no-unused-vars
+ 93:19 warning 'wrapperProps' is assigned a value but never used @typescript-eslint/no-unused-vars
/Volumes/Alpha SSD/Coding/e-tib.com/components/blocks/TeamGridBlock.tsx
20:39 warning 'title' is defined but never used. Allowed unused args must match /^_/u @typescript-eslint/no-unused-vars
@@ -124,6 +132,15 @@ Calling setState synchronously within an effect body causes cascading renders th
94:7 warning 'next' is never reassigned. Use 'const' instead prefer-const
95:7 warning 'prev' is never reassigned. Use 'const' instead prefer-const
-✖ 45 problems (0 errors, 45 warnings)
+/Volumes/Alpha SSD/Coding/e-tib.com/lib/standorte-data.ts
+ 1:10 warning 'LucideIcon' is defined but never used @typescript-eslint/no-unused-vars
+ 1:22 warning 'MapPin' is defined but never used @typescript-eslint/no-unused-vars
+ 1:30 warning 'Building2' is defined but never used @typescript-eslint/no-unused-vars
+ 1:41 warning 'HardHat' is defined but never used @typescript-eslint/no-unused-vars
+ 1:50 warning 'Phone' is defined but never used @typescript-eslint/no-unused-vars
+ 1:57 warning 'Mail' is defined but never used @typescript-eslint/no-unused-vars
+ 1:63 warning 'Navigation' is defined but never used @typescript-eslint/no-unused-vars
+
+✖ 56 problems (0 errors, 56 warnings)
0 errors and 2 warnings potentially fixable with the `--fix` option.
diff --git a/.turbo/turbo-test.log b/.turbo/turbo-test.log
index a6d982eae..dedda13ee 100644
--- a/.turbo/turbo-test.log
+++ b/.turbo/turbo-test.log
@@ -5,27 +5,33 @@
[1m[46m RUN [49m[22m [36mv4.1.2 [39m[90m/Volumes/Alpha SSD/Coding/e-tib.com[39m
- [32m✓[39m tests/mdx-links.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 4[2mms[22m[39m
- [32m✓[39m lib/mail/mailer.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 2[2mms[22m[39m
- [32m✓[39m lib/env.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 6[2mms[22m[39m
+(node:74132) [DEP0205] DeprecationWarning: `module.register()` is deprecated. Use `module.registerHooks()` instead.
+(Use `node --trace-deprecation ...` to show where the warning was created)
+ [32m✓[39m tests/homepage-and-competence-content.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 10[2mms[22m[39m
+ [32m✓[39m tests/task-12-links.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 5[2mms[22m[39m
+ [32m✓[39m tests/mdx-links.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 11[2mms[22m[39m
+ [32m✓[39m tests/legal-pages.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 15[2mms[22m[39m
+ [32m✓[39m tests/messen-content.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 30[2mms[22m[39m
+ [32m✓[39m lib/mail/mailer.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 4[2mms[22m[39m
+ [32m✓[39m components/search/AISearchResults.test.tsx [2m([22m[2m1 test[22m[2m)[22m[32m 25[2mms[22m[39m
[90mstderr[2m | components/layout/LanguageSwitcher.test.tsx[2m > [22m[2mLanguageSwitcher TDD[2m > [22m[2mtranslates /en/trade-fairs to /de/messen when switching to German
[22m[39mReact does not recognize the `transitionMessage` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `transitionmessage` instead. If you accidentally passed it from a parent component, remove it from the DOM element.
- [32m✓[39m components/layout/LanguageSwitcher.test.tsx [2m([22m[2m5 tests[22m[2m)[22m[32m 21[2mms[22m[39m
- [32m✓[39m components/search/AISearchResults.test.tsx [2m([22m[2m1 test[22m[2m)[22m[32m 26[2mms[22m[39m
+ [32m✓[39m components/layout/LanguageSwitcher.test.tsx [2m([22m[2m5 tests[22m[2m)[22m[32m 26[2mms[22m[39m
+ [32m✓[39m lib/env.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 3[2mms[22m[39m
[90mstderr[2m | components/blocks/ReferencesSlider.test.tsx[2m > [22m[2mReferencesSlider TDD[2m > [22m[2mrenders reference tiles correctly
[22m[39mReceived `true` for a non-boolean attribute `fill`.
If you want to write it to the DOM, pass a string instead: fill="true" or fill={value.toString()}.
- [32m✓[39m components/blocks/ReferencesSlider.test.tsx [2m([22m[2m4 tests[22m[2m)[22m[32m 40[2mms[22m[39m
+ [32m✓[39m components/blocks/ReferencesSlider.test.tsx [2m([22m[2m2 tests[22m[2m)[22m[32m 43[2mms[22m[39m
[90mstdout[2m | app/[locale]/referenzen/[slug]/page.test.tsx
[22m[39m[Config] Initializing Toggles: { feedbackEnabled: [33mfalse[39m }
- [32m✓[39m app/[locale]/referenzen/[slug]/page.test.tsx [2m([22m[2m1 test[22m[2m)[22m[32m 6[2mms[22m[39m
+ [32m✓[39m app/[locale]/referenzen/[slug]/page.test.tsx [2m([22m[2m1 test[22m[2m)[22m[32m 7[2mms[22m[39m
-[2m Test Files [22m [1m[32m7 passed[39m[22m[90m (7)[39m
-[2m Tests [22m [1m[32m19 passed[39m[22m[90m (19)[39m
-[2m Start at [22m 14:12:48
-[2m Duration [22m 1.80s[2m (transform 863ms, setup 0ms, import 2.94s, tests 105ms, environment 3.18s)[22m
+[2m Test Files [22m [1m[32m11 passed[39m[22m[90m (11)[39m
+[2m Tests [22m [1m[32m27 passed[39m[22m[90m (27)[39m
+[2m Start at [22m 22:40:02
+[2m Duration [22m 2.69s[2m (transform 2.09s, setup 0ms, import 4.45s, tests 179ms, environment 8.10s)[22m
diff --git a/app/[locale]/standorte/[slug]/page.tsx b/app/[locale]/standorte/[slug]/page.tsx
index 4b1f10607..f1f2dff72 100644
--- a/app/[locale]/standorte/[slug]/page.tsx
+++ b/app/[locale]/standorte/[slug]/page.tsx
@@ -149,16 +149,22 @@ export default async function StandortDetail(props: { params: Promise<{ locale:
{standort.address.street}
{standort.address.city}
-
- {safeLocale === 'de' ? 'In Google Maps öffnen' : 'Open in Google Maps'}
-
-
+ {(() => {
+ const baseUrl = 'https://maps.google.com/';
+ const mapsUrl = `${baseUrl}?q=${encodeURIComponent(`${standort.address.street}, ${standort.address.city}`)}`;
+ return (
+
+ {safeLocale === 'de' ? 'In Google Maps öffnen' : 'Open in Google Maps'}
+
+
+ );
+ })()}
diff --git a/app/[locale]/standorte/page.tsx b/app/[locale]/standorte/page.tsx
index 893e1b223..e06e01be4 100644
--- a/app/[locale]/standorte/page.tsx
+++ b/app/[locale]/standorte/page.tsx
@@ -22,8 +22,8 @@ export async function generateMetadata({ params }: PageProps): Promise
return {
title: locale === 'de' ? 'Standorte | E-TIB Gruppe' : 'Locations | E-TIB Group',
description: locale === 'de'
- ? '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.',
+ ? 'Die operativen Standorte der E-TIB Gruppe: Guben und Bülstedt.'
+ : 'The operational locations of the E-TIB Group: Guben and Bülstedt.',
alternates: {
canonical: `${SITE_URL}/${locale}/standorte`,
languages: {
@@ -49,8 +49,8 @@ export default async function StandorteOverview(props: { params: Promise<{ local
badge={safeLocale === 'en' ? 'Our Locations' : 'Unsere Standorte'}
title={safeLocale === 'en' ? 'Nationwide operational for you.' : 'Deutschlandweit für Sie im Einsatz.'}
description={safeLocale === 'en'
- ? 'From our strategic locations in Guben, Kirchheilingen, and Bülstedt, we control and implement complex infrastructure projects nationwide.'
- : 'Von unseren strategischen Standorten in Guben, Kirchheilingen und Bülstedt steuern und realisieren wir komplexe Infrastrukturprojekte im gesamten Bundesgebiet.'}
+ ? 'From our strategic locations in Guben and Bülstedt, we control and implement complex infrastructure projects nationwide.'
+ : 'Von unseren strategischen Standorten in Guben und Bülstedt steuern und realisieren wir komplexe Infrastrukturprojekte im gesamten Bundesgebiet.'}
/>
{/* Main Content Area */}
diff --git a/content/de/bohrtechnik.mdx b/content/de/bohrtechnik.mdx
index f986bbe3d..8b8564876 100644
--- a/content/de/bohrtechnik.mdx
+++ b/content/de/bohrtechnik.mdx
@@ -1,5 +1,5 @@
---
-title: "Grabenlose Leitungsverlegung"
+title: "Bohrtechnik"
date: "2024-03-20"
excerpt: "Präzise Horizontalspülbohrungen und Erdraketen in allen Bodenklassen für eine absolut oberflächenschonende und effiziente Leitungsverlegung."
layout: "fullBleed"
@@ -7,8 +7,8 @@ layout: "fullBleed"