first commit

This commit is contained in:
2025-11-27 11:44:23 +01:00
commit 989253c72f
32 changed files with 4983 additions and 0 deletions

53
components/Footer.tsx Executable file
View File

@@ -0,0 +1,53 @@
import Link from 'next/link'
export default function Footer() {
return (
<footer className="footer">
<div className="container">
<div className="footer-content">
<div className="footer-section">
<h3>doing-it</h3>
<p>IT Weiterbildung und Schulungen</p>
</div>
<div className="footer-section">
<h4>Kontakt</h4>
<a href="mailto:info@doing-it.de">info@doing-it.de</a>
</div>
<div className="footer-section">
<h4>Social Media</h4>
<div className="footer-social">
<a href="https://www.linkedin.com/company/doing-it" target="_blank" rel="noopener noreferrer" aria-label="LinkedIn">
LinkedIn
</a>
<a href="https://www.xing.com/companies/doing-it" target="_blank" rel="noopener noreferrer" aria-label="Xing">
Xing
</a>
</div>
</div>
<div className="footer-section">
<h4>Navigation</h4>
<Link href="/">Home</Link>
<Link href="/unternehmen">Für Unternehmen</Link>
<Link href="/quereinsteiger">Für Quereinsteiger</Link>
<Link href="/ueber-uns">Über uns</Link>
<Link href="/kontakt">Kontakt</Link>
</div>
<div className="footer-section">
<h4>Rechtliches</h4>
<Link href="/impressum">Impressum</Link>
<Link href="/datenschutz">Datenschutzerklärung</Link>
<Link href="/agb">AGB</Link>
</div>
</div>
<div className="footer-bottom">
<p>&copy; {new Date().getFullYear()} doing-it. Alle Rechte vorbehalten.</p>
</div>
</div>
</footer>
)
}

81
components/Navigation.tsx Executable file
View File

@@ -0,0 +1,81 @@
'use client'
import { useState } from 'react'
import Link from 'next/link'
import { motion, AnimatePresence } from 'framer-motion'
export default function Navigation() {
const [isOpen, setIsOpen] = useState(false)
return (
<nav className="nav">
<div className="nav-container">
<Link href="/" className="nav-logo">
doing-it
</Link>
{/* Desktop Menu */}
<div className="nav-menu">
<Link href="/" className="nav-link">
Home
</Link>
<Link href="/unternehmen" className="nav-link">
Für Unternehmen
</Link>
<Link href="/quereinsteiger" className="nav-link">
Für Quereinsteiger
</Link>
<Link href="/ueber-uns" className="nav-link">
Über uns
</Link>
<Link href="/kontakt" className="nav-link">
Kontakt
</Link>
<a href="https://www.linkedin.com/company/doing-it" target="_blank" rel="noopener noreferrer" className="nav-link" style={{ fontSize: '18px' }}>
<span aria-label="LinkedIn">🔗</span>
</a>
</div>
{/* Mobile Menu Button */}
<button
className="nav-toggle"
onClick={() => setIsOpen(!isOpen)}
aria-label="Menu"
>
<span className={isOpen ? 'open' : ''}></span>
<span className={isOpen ? 'open' : ''}></span>
<span className={isOpen ? 'open' : ''}></span>
</button>
</div>
{/* Mobile Menu */}
<AnimatePresence>
{isOpen && (
<motion.div
initial={{ opacity: 0, height: 0 }}
animate={{ opacity: 1, height: 'auto' }}
exit={{ opacity: 0, height: 0 }}
className="nav-mobile"
>
<Link href="/" className="nav-mobile-link" onClick={() => setIsOpen(false)}>
Home
</Link>
<Link href="/unternehmen" className="nav-mobile-link" onClick={() => setIsOpen(false)}>
Für Unternehmen
</Link>
<Link href="/quereinsteiger" className="nav-mobile-link" onClick={() => setIsOpen(false)}>
Für Quereinsteiger
</Link>
<Link href="/ueber-uns" className="nav-mobile-link" onClick={() => setIsOpen(false)}>
Über uns
</Link>
<Link href="/kontakt" className="nav-mobile-link" onClick={() => setIsOpen(false)}>
Kontakt
</Link>
</motion.div>
)}
</AnimatePresence>
</nav>
)
}