Fix - Mail vom 16.02.2025

This commit is contained in:
Damjan Savic 2025-04-16 13:03:50 +02:00
parent b8d8c59bce
commit 32cbb16318
6 changed files with 50 additions and 42 deletions

View File

@ -94,13 +94,6 @@ export default function ExtendedGroup() {
Zentrale: Oberhausen
</p>
</div>
{/* Link for more information */}
<a href="#" className="absolute bottom-4 right-4 bg-[#C25B3F] hover:bg-[#A34832] text-white
px-4 py-2 rounded-full shadow-lg transform transition-all duration-300
group-hover:scale-105 font-medium">
Mehr Informationen zur Unternehmensgruppe
</a>
</div>
</div>
</div>

View File

@ -7,8 +7,8 @@ type FooterSection = {
};
const links = [
{ href: '#technologies', text: 'Unterstützte Technologien' },
{ href: '#group', text: 'Gruppenbeitritt' },
{ href: '#technologien', text: 'Unterstützte Technologien' },
{ href: '#gruppenmehrwert', text: 'Gruppenmehrwert' },
{ href: 'mailto:kontakt@technologie.team?subject=Gruppenbeitritt%20anfragen', text: 'Gruppenbeitritt anfragen' },
{ href: '#impressum', text: 'Impressum' },
];
@ -39,12 +39,22 @@ export default function Footer() {
};
}, []);
// Funktion zum Öffnen von mailto Links
const handleMailtoClick = (e: React.MouseEvent<HTMLAnchorElement>, mailtoUrl: string) => {
e.preventDefault(); // Verhindert die Standard-Link-Aktion
window.location.href = mailtoUrl; // Öffnet den mailto-Link direkt
};
const sections: FooterSection[] = [
{
title: 'Links',
content: (
<div className="space-y-3">
{links.map((link) => (
{links.map((link) => {
// Prüfen, ob es ein mailto-Link ist
const isMailto = link.href.startsWith('mailto:');
return (
<a
key={link.href}
href={link.href}
@ -53,13 +63,15 @@ export default function Footer() {
group relative"
onMouseEnter={() => setHoveredLink(link.href)}
onMouseLeave={() => setHoveredLink(null)}
onClick={isMailto ? (e) => handleMailtoClick(e, link.href) : undefined}
>
<span className="relative z-10 inline-block">{link.text}</span>
<span className={`absolute left-0 bottom-0 w-0 h-0.5 bg-[#C25B3F]
transition-all duration-300 group-hover:w-full
${hoveredLink === link.href ? 'w-full' : 'w-0'}`} />
</a>
))}
);
})}
</div>
),
},
@ -82,7 +94,8 @@ export default function Footer() {
<div>
<a href="mailto:kontakt@technologie.team"
className="block mb-4 transition-all duration-300 hover:text-white
hover:translate-x-1 relative group">
hover:translate-x-1 relative group"
onClick={(e) => handleMailtoClick(e, "mailto:kontakt@technologie.team")}>
<span>kontakt@technologie.team</span>
<span className="absolute left-0 bottom-0 w-0 h-0.5 bg-[#C25B3F]
transition-all duration-300 group-hover:w-full" />
@ -129,7 +142,8 @@ export default function Footer() {
{sections.map((section, index) => (
<div key={section.title}
className={`transition-all duration-500 delay-${index * 100}
${isVisible ? 'opacity-100 translate-y-0' : 'opacity-0 translate-y-4'}`}>
${isVisible ? 'opacity-100 translate-y-0' : 'opacity-0 translate-y-4'}`}
style={{ transitionDelay: `${index * 100}ms` }}>
<h3 className="font-outfit text-white font-semibold mb-4 text-base sm:text-lg
transform transition-all duration-300 hover:text-[#C25B3F]">
{section.title}

View File

@ -38,7 +38,7 @@ const companies = [
},
{
name: 'DEMOS COMPUTER',
logo: '/images/2gdigital.png', // Placeholder, should be replaced with the actual image
logo: '/images/demoscomputer.png', // Korrigiert zu einem passenderen Namen
link: 'https://www.demoscomputer.de'
}
];
@ -94,12 +94,13 @@ export default function GroupCompanies() {
aspect-[4/3] group
border border-gray-100
${hoveredIndex === index ? 'shadow-lg scale-[1.02]' : 'shadow-sm'}
${isVisible ? 'animate-fade-in' : 'opacity-0'}
animate-delay-${(index + 1) * 100}
${isVisible ? 'opacity-100' : 'opacity-0'}
transition-opacity duration-500
`}
onMouseEnter={() => setHoveredIndex(index)}
onMouseLeave={() => setHoveredIndex(null)}
aria-label={`Besuchen Sie ${company.name}`}
style={{ transitionDelay: `${(index % 8) * 100}ms` }}
>
{/* Logo */}
<img

View File

@ -68,7 +68,7 @@ export default function GroupValue() {
{ threshold: 0.1 }
);
const section = document.getElementById('group-value');
const section = document.getElementById('gruppenmehrwert');
if (section) {
observer.observe(section);
}
@ -81,7 +81,7 @@ export default function GroupValue() {
}, []);
return (
<section id="group-value" className="bg-[#C25B3F] py-12 sm:py-16 lg:py-24 overflow-hidden">
<section id="gruppenmehrwert" className="bg-[#C25B3F] py-12 sm:py-16 lg:py-24 overflow-hidden">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className={`mb-8 sm:mb-12 lg:mb-16 mx-auto text-center
${isVisible ? 'animate-fade-in' : 'opacity-0'}`}>

View File

@ -7,6 +7,12 @@ export default function Hero() {
setIsLoaded(true);
}, []);
// Funktion zum Öffnen von mailto-Links
const handleMailtoClick = (e: React.MouseEvent<HTMLAnchorElement>, mailtoUrl: string) => {
e.preventDefault(); // Verhindert die Standard-Link-Aktion
window.location.href = mailtoUrl; // Öffnet den mailto-Link direkt
};
return (
<section className="relative overflow-hidden bg-gray-900">
{/* Hero section with background */}
@ -51,6 +57,7 @@ export default function Hero() {
text-white w-full sm:w-auto shadow-lg
transition-all duration-300 ease-out
hover:bg-[#A34832]"
onClick={(e) => handleMailtoClick(e, "mailto:kontakt@technologie.team?subject=Gruppenbeitritt%20anfragen")}
>
<span className="flex items-center gap-2">
Gruppenbeitritt anfragen
@ -69,13 +76,6 @@ export default function Hero() {
</svg>
</span>
</a>
<a
href="mailto:kontakt@technologie.team"
className="font-outfit text-white text-base sm:text-lg md:text-xl
hover:text-[#C25B3F] transition-colors duration-300"
>
kontakt@technologie.team
</a>
</div>
</div>
</div>

View File

@ -65,7 +65,7 @@ export default function Technologies() {
};
return (
<section className="bg-gray-50 overflow-hidden">
<section id="technologien" className="bg-gray-50 overflow-hidden">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8 sm:py-12">
{/* Header */}
<div className="flex items-center justify-between mb-6">