From 8a9b30f926f78a5c702d54a74981b57846d393c4 Mon Sep 17 00:00:00 2001 From: Marc Mintel Date: Sun, 10 May 2026 21:26:31 +0200 Subject: [PATCH] revert: remove failed corporate design elements, back to clean state Former-commit-id: a00aa85ab7b4b8f5707329fd5ea21fe322c744d9 --- app/[locale]/layout.tsx | 2 - app/globals.css | 36 ----- components/blocks/CompetenceBentoGrid.tsx | 11 +- components/blocks/JobListingBlock.tsx | 9 +- .../providers/PageTransitionShutter.tsx | 145 ++++++++++++------ components/ui/decorations/TrenchLines.tsx | 57 ------- 6 files changed, 109 insertions(+), 151 deletions(-) delete mode 100644 components/ui/decorations/TrenchLines.tsx diff --git a/app/[locale]/layout.tsx b/app/[locale]/layout.tsx index 203afbfd1..06cc53a9f 100644 --- a/app/[locale]/layout.tsx +++ b/app/[locale]/layout.tsx @@ -17,7 +17,6 @@ import { cookies } from 'next/headers'; import { TransitionProvider } from '@/components/providers/TransitionProvider'; import { PageTransitionShutter } from '@/components/providers/PageTransitionShutter'; import { InitialLoader } from '@/components/providers/InitialLoader'; -import { TrenchLines } from '@/components/ui/decorations/TrenchLines'; const inter = Inter({ subsets: ['latin'], @@ -180,7 +179,6 @@ export default async function Layout(props: { -
diff --git a/app/globals.css b/app/globals.css index 46d25fd94..e25c773ef 100644 --- a/app/globals.css +++ b/app/globals.css @@ -15,42 +15,6 @@ .hide-scrollbar::-webkit-scrollbar { display: none; /* Chrome, Safari and Opera */ } - - /* Trassen-Hover Effect for Bento Grids */ - .trassen-border { - position: relative; - } - .trassen-border::before { - content: ''; - position: absolute; - top: 50%; - left: 50%; - width: 200%; - height: 200%; - background: conic-gradient(from 0deg, transparent 70%, #0e7a5c 100%); - transform: translate(-50%, -50%) rotate(0deg); - animation: rotate-trasse 3s linear infinite; - opacity: 0; - transition: opacity 0.4s ease; - z-index: 0; - pointer-events: none; - } - .trassen-border:hover::before { - opacity: 1; - } - .trassen-content { - position: absolute; - inset: 1px; - z-index: 1; - border-radius: inherit; - background-color: #050B14; - background-clip: padding-box; - } -} - -@keyframes rotate-trasse { - from { transform: translate(-50%, -50%) rotate(0deg); } - to { transform: translate(-50%, -50%) rotate(360deg); } } /* Base Styles */ diff --git a/components/blocks/CompetenceBentoGrid.tsx b/components/blocks/CompetenceBentoGrid.tsx index ada207065..c1c41718c 100644 --- a/components/blocks/CompetenceBentoGrid.tsx +++ b/components/blocks/CompetenceBentoGrid.tsx @@ -110,6 +110,8 @@ export function CompetenceBentoGrid(props: CompetenceBentoGridProps) { transition={{ delay: idx * 0.1 }} className={gridClasses} > +
+

{item.title}

{item.description &&

{item.description}

} @@ -123,20 +125,19 @@ export function CompetenceBentoGrid(props: CompetenceBentoGridProps) { whileInView={{ opacity: 1, scale: 1 }} viewport={{ once: true }} transition={{ delay: idx * 0.1 }} - className={`${gridClasses} group trassen-border border border-white/5 rounded-3xl overflow-hidden`} + className={gridClasses} > -
{!imgSrc && ( -
+
)} {imgSrc && ( <> -
+
{item.title
diff --git a/components/blocks/JobListingBlock.tsx b/components/blocks/JobListingBlock.tsx index 9e334f10b..e656622ed 100644 --- a/components/blocks/JobListingBlock.tsx +++ b/components/blocks/JobListingBlock.tsx @@ -54,9 +54,12 @@ export const JobListingBlock = async (props: JobListingBlockProps) => { const isLink = !!messe.url; const innerContent = ( <> - {/* Minimalist Trassen Content Background */} -
+ {/* Glass Background Elements */} +
+
+ +
@@ -113,7 +116,7 @@ export const JobListingBlock = async (props: JobListingBlockProps) => { ); - const baseClasses = "group trassen-border rounded-[2rem] p-8 shadow-2xl transition-all duration-500 hover:scale-[1.02] hover:shadow-primary/10 flex flex-col h-full"; + const baseClasses = "group relative bg-[#050B14] rounded-[2rem] p-8 overflow-hidden border border-white/5 shadow-2xl transition-all duration-500 hover:scale-[1.02] hover:shadow-primary/10 flex flex-col h-full"; if (isLink) { return ( diff --git a/components/providers/PageTransitionShutter.tsx b/components/providers/PageTransitionShutter.tsx index 7b60367d6..06e59b0b1 100644 --- a/components/providers/PageTransitionShutter.tsx +++ b/components/providers/PageTransitionShutter.tsx @@ -3,6 +3,7 @@ import React from 'react'; import { motion, AnimatePresence } from 'framer-motion'; import { useTransition } from './TransitionProvider'; +import Image from 'next/image'; export function PageTransitionShutter() { const { isTransitioning, transitionMessage } = useTransition(); @@ -12,34 +13,16 @@ export function PageTransitionShutter() { {isTransitioning && ( - {/* HDD Drill Head (Leading Edge during entrance) */} - - {/* The glowing drill bit at the center */} -
-
- + {/* Subtle grid background */} +
- {/* HDD Exit Trail (Trailing Edge during exit) */} - - - {/* Subtle underground grid background */} -
- - {/* Deep Glow simulating underground tunnel */} + {/* Deep Glow inside the Shutter */}
- {/* Masked Logo */} + {/* Single Masked Logo Container to prevent double-logo offset */}
+ {/* Base logo color (slightly dimmed to make the sweep visible) */}
+ + {/* Sweeping intense white light */}
- {/* Status Visualizer */} + {/* Transition Message or Graphical Visualizer */} {transitionMessage && ( transitionMessage.startsWith('LANG_SWITCH:') ? ( @@ -81,24 +67,48 @@ export function PageTransitionShutter() { return ( -
{fromLang}
+ {/* Old Language Flag - Fading out */} +
+ + {fromLang} +
- {/* Connecting Trasse */} -
- + {/* Animated Arrow connecting them */} +
+ + + + + + +
+ + + +
-
- {toLang} + {/* New Language Flag - Intense Glow */} +
+ {toLang} +
); @@ -106,17 +116,56 @@ export function PageTransitionShutter() { ) : ( - {transitionMessage} + + + + + + + + {transitionMessage} + ) )} + {/* Extremely minimalist transition indicator */} + + {[0, 1, 2].map((i) => ( + + ))} + )} diff --git a/components/ui/decorations/TrenchLines.tsx b/components/ui/decorations/TrenchLines.tsx deleted file mode 100644 index cc3af92d6..000000000 --- a/components/ui/decorations/TrenchLines.tsx +++ /dev/null @@ -1,57 +0,0 @@ -'use client'; - -import React, { useEffect, useState } from 'react'; -import { motion, useScroll, useSpring, useTransform } from 'framer-motion'; - -export function TrenchLines() { - const { scrollYProgress } = useScroll(); - - // Apply a spring to make the scroll movement feel heavier, industrial - const smoothProgress = useSpring(scrollYProgress, { - stiffness: 100, - damping: 30, - restDelta: 0.001 - }); - - // Map progress to vertical position - const yPosition = useTransform(smoothProgress, [0, 1], ['-15vh', '100vh']); - const yPositionMarker = useTransform(smoothProgress, [0, 1], ['-15vh', '100vh']); - - const [mounted, setMounted] = useState(false); - - useEffect(() => { - setMounted(true); - }, []); - - if (!mounted) return null; - - return ( -
- {/* Left Trench Line */} -
- - {/* Subtle digging pulse marker */} - -
- - {/* Right Trench Line */} -
- - {/* Subtle digging pulse marker */} - -
-
- ); -}