fix(en): add missing href links to Everything from a single source bento grid
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 19s
Build & Deploy / 🧪 QA (push) Successful in 51s
Build & Deploy / 🏗️ Build (push) Has been cancelled
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Post-Deploy Verification (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled

This commit is contained in:
2026-05-28 14:55:03 +02:00
parent 68c4a056b7
commit f110ce9d46
13 changed files with 175 additions and 156 deletions

View File

@@ -0,0 +1 @@
{"files":{".turbo/turbo-lint.log":{"size":11972,"mtime_nanos":1779970374061729177,"mode":420,"is_dir":false}},"order":[".turbo/turbo-lint.log"]}

View File

@@ -0,0 +1 @@
{"hash":"0864e4a10f76dcaf","duration":6769,"sha":"68c4a056b70ff215c9ef3252506875dfd3ba4eee","dirty_hash":"29197232f806b237725188c5bfe8d43cb2f12f8bb9e0df915eecf0896e2c04a3"}

Binary file not shown.

View File

@@ -0,0 +1 @@
{"files":{".turbo/turbo-typecheck.log":{"size":85,"mtime_nanos":1779970373499305257,"mode":420,"is_dir":false}},"order":[".turbo/turbo-typecheck.log"]}

View File

@@ -0,0 +1 @@
{"hash":"7668a73054ba889d","duration":6206,"sha":"68c4a056b70ff215c9ef3252506875dfd3ba4eee","dirty_hash":"29197232f806b237725188c5bfe8d43cb2f12f8bb9e0df915eecf0896e2c04a3"}

Binary file not shown.

View File

@@ -0,0 +1 @@
{"files":{".turbo/turbo-test.log":{"size":2150,"mtime_nanos":1779970370282819916,"mode":420,"is_dir":false}},"order":[".turbo/turbo-test.log"]}

View File

@@ -0,0 +1 @@
{"hash":"9c3fa4d9e1993aff","duration":2989,"sha":"68c4a056b70ff215c9ef3252506875dfd3ba4eee","dirty_hash":"29197232f806b237725188c5bfe8d43cb2f12f8bb9e0df915eecf0896e2c04a3"}

Binary file not shown.

View File

@@ -1,119 +1,129 @@
 > e-tib-nextjs@2.2.12 lint /Volumes/Alpha SSD/Coding/e-tib.com
> e-tib-nextjs@2.2.12 lint /Volumes/Alpha SSD/Coding/e-tib.com > eslint .
> eslint .
/Volumes/Alpha SSD/Coding/e-tib.com/app/[locale]/[slug]/page.tsx
/Volumes/Alpha SSD/Coding/e-tib.com/app/[locale]/[slug]/page.tsx 1:20 warning 'redirect' is defined but never used @typescript-eslint/no-unused-vars
1:20 warning 'redirect' is defined but never used @typescript-eslint/no-unused-vars 75:24 warning Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` 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
67:24 warning Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` 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]/blog/[slug]/page.tsx
/Volumes/Alpha SSD/Coding/e-tib.com/app/[locale]/blog/[slug]/page.tsx 1:20 warning 'redirect' is defined but never used @typescript-eslint/no-unused-vars
1:20 warning 'redirect' is defined but never used @typescript-eslint/no-unused-vars 39:24 warning Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` 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
39:24 warning Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` 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]/error.tsx
/Volumes/Alpha SSD/Coding/e-tib.com/app/[locale]/error.tsx 7:30 warning 'AlertTriangle' is defined but never used @typescript-eslint/no-unused-vars
7:30 warning 'AlertTriangle' is defined but never used @typescript-eslint/no-unused-vars
/Volumes/Alpha SSD/Coding/e-tib.com/app/[locale]/not-found.tsx
/Volumes/Alpha SSD/Coding/e-tib.com/app/[locale]/not-found.tsx 6:10 warning 'Terminal' is defined but never used @typescript-eslint/no-unused-vars
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
/Volumes/Alpha SSD/Coding/e-tib.com/app/[locale]/referenzen/[slug]/page.tsx 92:26 warning Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` 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
91:26 warning Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` 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
/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: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
1:30 warning 'Badge' is defined but never used @typescript-eslint/no-unused-vars
/Volumes/Alpha SSD/Coding/e-tib.com/components/JsonLd.tsx
/Volumes/Alpha SSD/Coding/e-tib.com/components/JsonLd.tsx 1:30 warning 'Graph' is defined but never used @typescript-eslint/no-unused-vars
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
43:31 warning '_' is assigned a value but never used @typescript-eslint/no-unused-vars 48:29 warning '_' is assigned a value but never used @typescript-eslint/no-unused-vars
48:29 warning '_' is assigned a value but never used @typescript-eslint/no-unused-vars
/Volumes/Alpha SSD/Coding/e-tib.com/components/blocks/CertificatesBlock.tsx
/Volumes/Alpha SSD/Coding/e-tib.com/components/blocks/CertificatesBlock.tsx 6:10 warning 'Button' is defined but never used @typescript-eslint/no-unused-vars
6:10 warning 'Button' is defined but never used @typescript-eslint/no-unused-vars 9:10 warning 'FileText' is defined but never used @typescript-eslint/no-unused-vars
9:10 warning 'FileText' is defined but never used @typescript-eslint/no-unused-vars 102:5 warning Error: Calling setState synchronously within an effect can trigger cascading renders
77:5 warning Error: Calling setState synchronously within an effect can trigger cascading renders
Effects are intended to synchronize state between React and external systems such as manually updating the DOM, state management libraries, or other platform APIs. In general, the body of an effect should do one or both of the following:
Effects are intended to synchronize state between React and external systems such as manually updating the DOM, state management libraries, or other platform APIs. In general, the body of an effect should do one or both of the following: * Update external systems with the latest state from React.
* Update external systems with the latest state from React. * Subscribe for updates from some external system, calling setState in a callback function when external state changes.
* Subscribe for updates from some external system, calling setState in a callback function when external state changes.
Calling setState synchronously within an effect body causes cascading renders that can hurt performance, and is not recommended. (https://react.dev/learn/you-might-not-need-an-effect).
Calling setState synchronously within an effect body causes cascading renders that can hurt performance, and is not recommended. (https://react.dev/learn/you-might-not-need-an-effect).
/Volumes/Alpha SSD/Coding/e-tib.com/components/blocks/CertificatesBlock.tsx:102:5
/Volumes/Alpha SSD/Coding/e-tib.com/components/blocks/CertificatesBlock.tsx:77:5 100 |
75 | 101 | useEffect(() => {
76 | useEffect(() => { > 102 | setIsMounted(true);
> 77 | setIsMounted(true); | ^^^^^^^^^^^^ Avoid calling setState() directly within an effect
| ^^^^^^^^^^^^ Avoid calling setState() directly within an effect 103 | }, []);
78 | }, []); 104 |
79 | 105 | const badgeText = badge || 'Zertifizierungen & Nachweise'; react-hooks/set-state-in-effect
80 | const badgeText = badge || 'Zertifizierungen & Nachweise'; react-hooks/set-state-in-effect
/Volumes/Alpha SSD/Coding/e-tib.com/components/blocks/CompetenceBentoGrid.tsx
/Volumes/Alpha SSD/Coding/e-tib.com/components/blocks/CompetenceBentoGrid.tsx 53:5 warning Error: Calling setState synchronously within an effect can trigger cascading renders
53:5 warning Error: Calling setState synchronously within an effect can trigger cascading renders
Effects are intended to synchronize state between React and external systems such as manually updating the DOM, state management libraries, or other platform APIs. In general, the body of an effect should do one or both of the following:
Effects are intended to synchronize state between React and external systems such as manually updating the DOM, state management libraries, or other platform APIs. In general, the body of an effect should do one or both of the following: * Update external systems with the latest state from React.
* Update external systems with the latest state from React. * Subscribe for updates from some external system, calling setState in a callback function when external state changes.
* Subscribe for updates from some external system, calling setState in a callback function when external state changes.
Calling setState synchronously within an effect body causes cascading renders that can hurt performance, and is not recommended. (https://react.dev/learn/you-might-not-need-an-effect).
Calling setState synchronously within an effect body causes cascading renders that can hurt performance, and is not recommended. (https://react.dev/learn/you-might-not-need-an-effect).
/Volumes/Alpha SSD/Coding/e-tib.com/components/blocks/CompetenceBentoGrid.tsx:53:5
/Volumes/Alpha SSD/Coding/e-tib.com/components/blocks/CompetenceBentoGrid.tsx:53:5 51 |
51 | 52 | useEffect(() => {
52 | useEffect(() => { > 53 | setIsMounted(true);
> 53 | setIsMounted(true); | ^^^^^^^^^^^^ Avoid calling setState() directly within an effect
| ^^^^^^^^^^^^ Avoid calling setState() directly within an effect 54 | }, []);
54 | }, []); 55 |
55 | 56 | const badge = props.badge || data?.badge || 'Leistungsspektrum'; react-hooks/set-state-in-effect
56 | const badge = props.badge || data?.badge || 'Leistungsspektrum'; react-hooks/set-state-in-effect
/Volumes/Alpha SSD/Coding/e-tib.com/components/blocks/HeroVideo.tsx
/Volumes/Alpha SSD/Coding/e-tib.com/components/blocks/HeroVideo.tsx 5:18 warning 'AnimatePresence' is defined but never used @typescript-eslint/no-unused-vars
5:18 warning 'AnimatePresence' is defined but never used @typescript-eslint/no-unused-vars 6:10 warning 'useState' is defined but never used @typescript-eslint/no-unused-vars
6:10 warning 'useState' is defined but never used @typescript-eslint/no-unused-vars 6:20 warning 'useEffect' is defined but never used @typescript-eslint/no-unused-vars
6:20 warning 'useEffect' is defined but never used @typescript-eslint/no-unused-vars 45:12 warning 'e' is defined but never used @typescript-eslint/no-unused-vars
45:12 warning 'e' is defined but never used @typescript-eslint/no-unused-vars
/Volumes/Alpha SSD/Coding/e-tib.com/components/blocks/InteractiveGermanyMap.tsx
/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:46 warning 'ArrowUpRight' is defined but never used @typescript-eslint/no-unused-vars 5:27 warning 'Zap' is defined but never used @typescript-eslint/no-unused-vars
147:23 warning 'isNearRight' is assigned a value 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
/Volumes/Alpha SSD/Coding/e-tib.com/components/blocks/TeamGridBlock.tsx 55:9 warning 'projects' is assigned a value but never used @typescript-eslint/no-unused-vars
20:39 warning 'title' is defined but never used. Allowed unused args must match /^_/u @typescript-eslint/no-unused-vars 56:9 warning 'minorNodes' is assigned a value but never used @typescript-eslint/no-unused-vars
20:46 warning 'department' is defined but never used. Allowed unused args must match /^_/u @typescript-eslint/no-unused-vars
20:58 warning 'showContact' is assigned a value but never used. Allowed unused args must match /^_/u @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
/Volumes/Alpha SSD/Coding/e-tib.com/components/decorations/CorporateBackground.tsx 21:12 warning Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` 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
36:13 warning 'distance' is assigned a value but never used @typescript-eslint/no-unused-vars
/Volumes/Alpha SSD/Coding/e-tib.com/components/blocks/TeamGridBlock.tsx
/Volumes/Alpha SSD/Coding/e-tib.com/components/home/Hero.tsx 20:39 warning 'title' is defined but never used. Allowed unused args must match /^_/u @typescript-eslint/no-unused-vars
9:39 warning 'useCallback' is defined but never used @typescript-eslint/no-unused-vars 20:46 warning 'department' is defined but never used. Allowed unused args must match /^_/u @typescript-eslint/no-unused-vars
77:6 warning React Hook useEffect has a missing dependency: 'HERO_PLACEHOLDERS'. Either include it or remove the dependency array react-hooks/exhaustive-deps 20:58 warning 'showContact' is assigned a value but never used. Allowed unused args must match /^_/u @typescript-eslint/no-unused-vars
/Volumes/Alpha SSD/Coding/e-tib.com/components/home/MeetTheTeam.tsx /Volumes/Alpha SSD/Coding/e-tib.com/components/decorations/CorporateBackground.tsx
8:9 warning 'teamT' is assigned a value but never used @typescript-eslint/no-unused-vars 36:13 warning 'distance' is assigned a value but never used @typescript-eslint/no-unused-vars
/Volumes/Alpha SSD/Coding/e-tib.com/components/layout/Footer.tsx /Volumes/Alpha SSD/Coding/e-tib.com/components/home/Hero.tsx
4:35 warning 'Accessibility' is defined but never used @typescript-eslint/no-unused-vars 9:39 warning 'useCallback' is defined but never used @typescript-eslint/no-unused-vars
77:6 warning React Hook useEffect has missing dependencies: 'HERO_PLACEHOLDERS' and 't'. Either include them or remove the dependency array react-hooks/exhaustive-deps
/Volumes/Alpha SSD/Coding/e-tib.com/components/providers/InitialLoader.tsx
5:8 warning 'Image' is defined but never used @typescript-eslint/no-unused-vars /Volumes/Alpha SSD/Coding/e-tib.com/components/home/MeetTheTeam.tsx
8:9 warning 'teamT' is assigned a value but never used @typescript-eslint/no-unused-vars
/Volumes/Alpha SSD/Coding/e-tib.com/components/providers/PageTransitionShutter.tsx
6:8 warning 'Image' is defined but never used @typescript-eslint/no-unused-vars /Volumes/Alpha SSD/Coding/e-tib.com/components/layout/Footer.tsx
4:35 warning 'Accessibility' is defined but never used @typescript-eslint/no-unused-vars
/Volumes/Alpha SSD/Coding/e-tib.com/components/search/AIOrb.tsx
153:13 warning 'breathe' is assigned a value but never used @typescript-eslint/no-unused-vars /Volumes/Alpha SSD/Coding/e-tib.com/components/providers/InitialLoader.tsx
212:15 warning 'targetExcite' is assigned a value but never used @typescript-eslint/no-unused-vars 5:8 warning 'Image' is defined but never used @typescript-eslint/no-unused-vars
/Volumes/Alpha SSD/Coding/e-tib.com/components/search/AISearchResults.tsx /Volumes/Alpha SSD/Coding/e-tib.com/components/providers/PageTransitionShutter.tsx
99:6 warning React Hook useEffect has missing dependencies: 'handleSearch' and 'initialQuery'. Either include them or remove the dependency array react-hooks/exhaustive-deps 6:8 warning 'Image' is defined but never used @typescript-eslint/no-unused-vars
/Volumes/Alpha SSD/Coding/e-tib.com/lib/blog.ts /Volumes/Alpha SSD/Coding/e-tib.com/components/search/AIOrb.tsx
6:7 warning 'BLOG_DIR' is assigned a value but never used @typescript-eslint/no-unused-vars 153:13 warning 'breathe' is assigned a value but never used @typescript-eslint/no-unused-vars
94:7 warning 'next' is never reassigned. Use 'const' instead prefer-const 212:15 warning 'targetExcite' is assigned a value but never used @typescript-eslint/no-unused-vars
95:7 warning 'prev' is never reassigned. Use 'const' instead prefer-const
/Volumes/Alpha SSD/Coding/e-tib.com/components/search/AISearchResults.tsx
✖ 38 problems (0 errors, 38 warnings) 100:6 warning React Hook useEffect has missing dependencies: 'handleSearch' and 'initialQuery'. Either include them or remove the dependency array react-hooks/exhaustive-deps
0 errors and 2 warnings potentially fixable with the `--fix` option.
/Volumes/Alpha SSD/Coding/e-tib.com/components/ui/AnimatedCounter.tsx
3:28 warning 'useState' is defined but never used @typescript-eslint/no-unused-vars
/Volumes/Alpha SSD/Coding/e-tib.com/lib/blog.ts
6:7 warning 'BLOG_DIR' is assigned a value but never used @typescript-eslint/no-unused-vars
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)
0 errors and 2 warnings potentially fixable with the `--fix` option.

View File

@@ -1,31 +1,31 @@
 > e-tib-nextjs@2.2.12 test /Volumes/Alpha SSD/Coding/e-tib.com
> e-tib-nextjs@2.2.12 test /Volumes/Alpha SSD/Coding/e-tib.com > vitest run --passWithNoTests
> vitest run --passWithNoTests
[?25l  RUN  v4.1.2 /Volumes/Alpha SSD/Coding/e-tib.com
RUN v4.1.2 /Volumes/Alpha SSD/Coding/e-tib.com
✓ tests/mdx-links.test.ts (1 test) 4ms
[?2026h ✓ lib/mail/mailer.test.ts (1 test) 2ms
lib/mail/mailer.test.ts [queued] ✓ lib/env.test.ts (6 tests) 6ms
stderr | components/layout/LanguageSwitcher.test.tsx > LanguageSwitcher TDD > translates /en/trade-fairs to /de/messen when switching to German
Test Files 0 passed (2) React 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.
Tests 0 passed (0)
Start at 11:47:51 ✓ components/layout/LanguageSwitcher.test.tsx (5 tests) 21ms
Duration 504ms ✓ components/search/AISearchResults.test.tsx (1 test) 26ms
[?2026l[?2026h ✓ lib/mail/mailer.test.ts (1 test) 2ms stderr | components/blocks/ReferencesSlider.test.tsx > ReferencesSlider TDD > renders reference tiles correctly
Received `true` for a non-boolean attribute `fill`.
lib/env.test.ts 0/6
If you want to write it to the DOM, pass a string instead: fill="true" or fill={value.toString()}.
Test Files 1 passed (2)
Tests 1 passed (7) ✓ components/blocks/ReferencesSlider.test.tsx (4 tests) 40ms
Start at 11:47:51 stdout | app/[locale]/referenzen/[slug]/page.test.tsx
Duration 605ms [Config] Initializing Toggles: { feedbackEnabled: false }
[?2026l ✓ lib/env.test.ts (6 tests) 3ms
✓ app/[locale]/referenzen/[slug]/page.test.tsx (1 test) 6ms
Test Files 2 passed (2)
Tests 7 passed (7)  Test Files  7 passed (7)
Start at 11:47:51  Tests  19 passed (19)
Duration 672ms (transform 113ms, setup 0ms, import 222ms, tests 5ms, environment 813ms)  Start at  14:12:48
 Duration  1.80s (transform 863ms, setup 0ms, import 2.94s, tests 105ms, environment 3.18s)
[?25h

View File

@@ -1,5 +1,4 @@
 > e-tib-nextjs@2.2.12 typecheck /Volumes/Alpha SSD/Coding/e-tib.com
> e-tib-nextjs@2.2.12 typecheck /Volumes/Alpha SSD/Coding/e-tib.com > tsc --noEmit
> tsc --noEmit

View File

@@ -114,6 +114,7 @@ description: "E-TIB GmbH is your reliable partner for complex cable routes, hori
description: "Installation of medium and low voltage cables", description: "Installation of medium and low voltage cables",
tag: "Energy", tag: "Energy",
size: "large", size: "large",
href: "/en/cable-civil-engineering",
image: { url: "/assets/photos/DSC01123.JPG", alt: "Cable Construction" } image: { url: "/assets/photos/DSC01123.JPG", alt: "Cable Construction" }
}, },
{ {
@@ -121,6 +122,7 @@ description: "E-TIB GmbH is your reliable partner for complex cable routes, hori
description: "Horizontal directional drilling for trenchless installation", description: "Horizontal directional drilling for trenchless installation",
tag: "Innovation", tag: "Innovation",
size: "medium", size: "medium",
href: "/en/drilling-technology",
image: { url: "/assets/photos/DSC08653.JPG", alt: "Drilling Technology" } image: { url: "/assets/photos/DSC08653.JPG", alt: "Drilling Technology" }
}, },
{ {
@@ -128,13 +130,15 @@ description: "E-TIB GmbH is your reliable partner for complex cable routes, hori
description: "Route planning and approval procedures", description: "Route planning and approval procedures",
tag: "Precision", tag: "Precision",
size: "small", size: "small",
href: "/en/planning",
image: { url: "/assets/photos/DJI_0048.JPG", alt: "Planning" } image: { url: "/assets/photos/DJI_0048.JPG", alt: "Planning" }
}, },
{ {
title: "Surveying", title: "Surveying",
description: "Digital as-built documentation", description: "Digital as-built documentation",
tag: "Digital", tag: "Digital",
size: "accent" size: "accent",
href: "/en/surveying"
} }
]} ]}
/> />