diff --git a/app/components/About.tsx b/app/components/About.tsx index 0db4a66..d847c07 100644 --- a/app/components/About.tsx +++ b/app/components/About.tsx @@ -175,7 +175,7 @@ const About = () => { : itemIdx % 4 === 1 ? "bg-liquid-lavender/10 border-liquid-lavender/30 hover:bg-liquid-lavender/20 hover:border-liquid-lavender/50" : itemIdx % 4 === 2 - ? "bg-liquid-rose/10 border-liquid-rose/30 hover:bg-liquid-rose/20 hover:border-liquid-rose/50" + ? "bg-stone-100 border-stone-200 hover:bg-stone-200 hover:border-stone-300 shadow-sm" : "bg-liquid-sky/10 border-liquid-sky/30 hover:bg-liquid-sky/20 hover:border-liquid-sky/50" }`} > diff --git a/app/components/Contact.tsx b/app/components/Contact.tsx index cf853b5..4be310e 100644 --- a/app/components/Contact.tsx +++ b/app/components/Contact.tsx @@ -243,7 +243,7 @@ const Contact = () => { htmlFor="name" className="block text-sm font-medium text-stone-600 mb-2" > - Name * + Name * { htmlFor="email" className="block text-sm font-medium text-stone-600 mb-2" > - Email * + Email * { htmlFor="subject" className="block text-sm font-medium text-stone-600 mb-2" > - Subject * + Subject * { htmlFor="message" className="block text-sm font-medium text-stone-600 mb-2" > - Message * + Message * { - - dk0 + + dk0 - Software Engineer + Software Engineer @@ -67,7 +67,7 @@ const Footer = () => { rel="noopener noreferrer" whileHover={{ scale: 1.15, y: -3 }} whileTap={{ scale: 0.95 }} - className="p-3 bg-stone-50 hover:bg-white rounded-xl text-stone-600 hover:text-stone-900 transition-all duration-200 border border-stone-200 hover:border-stone-300 shadow-sm" + className="p-3 bg-white hover:bg-stone-50 rounded-xl text-stone-600 hover:text-stone-900 transition-all duration-200 border border-stone-200 hover:border-stone-300 shadow-sm" aria-label={social.label} > @@ -83,14 +83,14 @@ const Footer = () => { transition={{ duration: 0.4, delay: 0.1 }} className="flex items-center space-x-2 text-stone-400 text-sm" > - © {currentYear} + © {currentYear} - + - Made in Germany + Made in Germany diff --git a/app/components/Hero.tsx b/app/components/Hero.tsx index 1f71d64..cbb16fe 100644 --- a/app/components/Hero.tsx +++ b/app/components/Hero.tsx @@ -12,7 +12,7 @@ const Hero = () => { ]; return ( - + {/* Profile Image with Organic Blob Mask */} { {/* Large Rotating Liquid Blobs behind image - Very slow and smooth */} { }} /> { transition={{ duration: 0.6, delay: 0.2, ease: [0.25, 0.1, 0.25, 1] }} className="mb-8 flex flex-col items-center justify-center relative" > - + Dennis Konkol @@ -153,15 +153,15 @@ const Hero = () => { className="text-lg md:text-xl text-stone-700 mb-12 max-w-2xl mx-auto leading-relaxed" > Student and passionate{" "} - + self-hoster {" "} building full-stack web apps and mobile solutions. I run my own{" "} - + infrastructure {" "} and love exploring{" "} - + DevOps . diff --git a/app/components/Projects.tsx b/app/components/Projects.tsx index bcb1df9..e327234 100644 --- a/app/components/Projects.tsx +++ b/app/components/Projects.tsx @@ -98,14 +98,15 @@ const Projects = () => { + + {/* Project Cover / Image Area */} - + {project.imageUrl ? ( <> { {/* Featured Badge */} {project.featured && ( - + + Featured )} - - {/* Overlay Links */} - - {project.github && ( - - - - )} - {project.live && ( - - - - )} - {/* Content */} - + {project.title} @@ -194,7 +170,7 @@ const Projects = () => { {project.tags.slice(0, 3).map((tag, tIdx) => ( {tag} @@ -206,20 +182,46 @@ const Projects = () => { )} - + Read more{" "} - + + + {/* External Overlay Links - positioned above the main Link */} + + {project.github && ( + e.stopPropagation()} + className="p-3 bg-white text-stone-900 rounded-full hover:scale-110 transition-all duration-300 shadow-xl border border-white/50" + aria-label="GitHub" + > + + + )} + {project.live && ( + e.stopPropagation()} + className="p-3 bg-white text-stone-900 rounded-full hover:scale-110 transition-all duration-300 shadow-xl border border-white/50" + aria-label="Live Demo" + > + + + )} + ))} + ))} { initial={{ opacity: 0, y: 30 }} animate={{ opacity: 1, y: 0 }} transition={{ duration: 0.6, delay: index * 0.1 }} - whileHover={{ y: -8 }} - className="group flex flex-col bg-white/40 backdrop-blur-xl rounded-2xl overflow-hidden border border-white/60 shadow-[0_4px_20px_rgba(0,0,0,0.02)] hover:shadow-[0_20px_40px_rgba(0,0,0,0.06)] transition-all duration-500" + className="group relative flex flex-col bg-white/40 backdrop-blur-xl rounded-2xl overflow-hidden border border-white/60 shadow-[0_4px_20px_rgba(0,0,0,0.02)] hover:shadow-[0_20px_40px_rgba(0,0,0,0.06)] transition-all duration-500" > + + {/* Image / Fallback / Cover Area */} - + {project.imageUrl ? ( <> { {project.featured && ( - + + Featured )} - - {/* Overlay Links */} - - {project.github && ( - - - - )} - {project.live && ( - - - - )} - - + {project.title} @@ -247,28 +226,53 @@ const ProjectsPage = () => { - + {project.github && ( - + e.stopPropagation()} className="text-stone-400 hover:text-stone-900 transition-colors"> )} {project.live && ( - + e.stopPropagation()} className="text-stone-400 hover:text-stone-900 transition-colors"> )} - + Read More - + + + {/* External Overlay Links for full width on hover if you want to keep that style */} + + {project.github && ( + e.stopPropagation()} + className="p-3 bg-white text-stone-900 rounded-full hover:scale-110 transition-all duration-300 shadow-xl border border-white/50" + aria-label="GitHub" + > + + + )} + {project.live && ( + e.stopPropagation()} + className="p-3 bg-white text-stone-900 rounded-full hover:scale-110 transition-all duration-300 shadow-xl border border-white/50" + aria-label="Live Demo" + > + + + )} + ))} diff --git a/components/BackgroundBlobs.tsx b/components/BackgroundBlobs.tsx index 80b1a38..6bd8b41 100644 --- a/components/BackgroundBlobs.tsx +++ b/components/BackgroundBlobs.tsx @@ -84,7 +84,7 @@ const BackgroundBlobs = () => { {/* Rose blob - bottom left */}
Software Engineer