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,12 +1,11 @@

> 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
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 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
/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
@@ -19,7 +18,7 @@
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
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 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
/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
@@ -31,9 +30,9 @@
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
77:5 warning Error: Calling setState synchronously within an effect can trigger cascading renders 102: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.
@@ -41,14 +40,14 @@ Effects are intended to synchronize state between React and external systems suc
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:77:5 /Volumes/Alpha SSD/Coding/e-tib.com/components/blocks/CertificatesBlock.tsx:102:5
75 | 100 |
76 | useEffect(() => { 101 | useEffect(() => {
> 77 | setIsMounted(true); > 102 | setIsMounted(true);
| ^^^^^^^^^^^^ Avoid calling setState() directly within an effect | ^^^^^^^^^^^^ Avoid calling setState() directly within an effect
78 | }, []); 103 | }, []);
79 | 104 |
80 | const badgeText = badge || 'Zertifizierungen & Nachweise'; react-hooks/set-state-in-effect 105 | 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
@@ -75,8 +74,16 @@ Calling setState synchronously within an effect body causes cascading renders th
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:46 warning 'ArrowUpRight' is defined but never used @typescript-eslint/no-unused-vars 5:18 warning 'Factory' 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 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
/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 `<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/components/blocks/TeamGridBlock.tsx /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 20:39 warning 'title' is defined but never used. Allowed unused args must match /^_/u @typescript-eslint/no-unused-vars
@@ -87,8 +94,8 @@ Calling setState synchronously within an effect body causes cascading renders th
36:13 warning 'distance' 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/home/Hero.tsx /Volumes/Alpha SSD/Coding/e-tib.com/components/home/Hero.tsx
9:39 warning 'useCallback' 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 a missing dependency: 'HERO_PLACEHOLDERS'. Either include it or remove the dependency array react-hooks/exhaustive-deps 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/home/MeetTheTeam.tsx /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 8:9 warning 'teamT' is assigned a value but never used @typescript-eslint/no-unused-vars
@@ -107,13 +114,16 @@ Calling setState synchronously within an effect body causes cascading renders th
212:15 warning 'targetExcite' is assigned a value but never used @typescript-eslint/no-unused-vars 212:15 warning 'targetExcite' is assigned a value 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/search/AISearchResults.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 100:6 warning React Hook useEffect has missing dependencies: 'handleSearch' and 'initialQuery'. Either include them or remove the dependency array react-hooks/exhaustive-deps
/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 /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 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 94:7 warning 'next' is never reassigned. Use 'const' instead prefer-const
95:7 warning 'prev' is never reassigned. Use 'const' instead prefer-const 95:7 warning 'prev' is never reassigned. Use 'const' instead prefer-const
38 problems (0 errors, 38 warnings) 45 problems (0 errors, 45 warnings)
0 errors and 2 warnings potentially fixable with the `--fix` option. 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
[?2026h  RUN  v4.1.2 /Volumes/Alpha SSD/Coding/e-tib.com
lib/mail/mailer.test.ts [queued]
Test Files 0 passed (2) ✓ tests/mdx-links.test.ts (1 test) 4ms
Tests 0 passed (0) ✓ lib/mail/mailer.test.ts (1 test) 2ms
Start at 11:47:51 ✓ lib/env.test.ts (6 tests) 6ms
Duration 504ms stderr | components/layout/LanguageSwitcher.test.tsx > LanguageSwitcher TDD > translates /en/trade-fairs to /de/messen when switching to German
[?2026l[?2026h ✓ lib/mail/mailer.test.ts (1 test) 2ms 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.
lib/env.test.ts 0/6 ✓ components/layout/LanguageSwitcher.test.tsx (5 tests) 21ms
✓ components/search/AISearchResults.test.tsx (1 test) 26ms
stderr | components/blocks/ReferencesSlider.test.tsx > ReferencesSlider TDD > renders reference tiles correctly
Received `true` for a non-boolean attribute `fill`.
Test Files 1 passed (2) If you want to write it to the DOM, pass a string instead: fill="true" or fill={value.toString()}.
Tests 1 passed (7)
Start at 11:47:51
Duration 605ms
[?2026l ✓ lib/env.test.ts (6 tests) 3ms
Test Files 2 passed (2) ✓ components/blocks/ReferencesSlider.test.tsx (4 tests) 40ms
Tests 7 passed (7) stdout | app/[locale]/referenzen/[slug]/page.test.tsx
Start at 11:47:51 [Config] Initializing Toggles: { feedbackEnabled: false }
Duration 672ms (transform 113ms, setup 0ms, import 222ms, tests 5ms, environment 813ms)
✓ app/[locale]/referenzen/[slug]/page.test.tsx (1 test) 6ms
 Test Files  7 passed (7)
 Tests  19 passed (19)
 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"
} }
]} ]}
/> />