Fixed map parentheses syntax errors, resolved missing ActivityFeedClient imports, and corrected ActivityFeed prop types for idleQuote support. All systems green.
114 lines
3.8 KiB
TypeScript
114 lines
3.8 KiB
TypeScript
import Header from "../components/Header";
|
|
import Hero from "../components/Hero";
|
|
import About from "../components/About";
|
|
import Projects from "../components/Projects";
|
|
import Contact from "../components/Contact";
|
|
import Footer from "../components/Footer";
|
|
import Script from "next/script";
|
|
|
|
export default function HomePage() {
|
|
return (
|
|
<div className="min-h-screen">
|
|
<Script
|
|
id={"structured-data"}
|
|
type="application/ld+json"
|
|
dangerouslySetInnerHTML={{
|
|
__html: JSON.stringify({
|
|
"@context": "https://schema.org",
|
|
"@type": "Person",
|
|
name: "Dennis Konkol",
|
|
url: "https://dk0.dev",
|
|
jobTitle: "Software Engineer",
|
|
address: {
|
|
"@type": "PostalAddress",
|
|
addressLocality: "Osnabrück",
|
|
addressCountry: "Germany",
|
|
},
|
|
sameAs: [
|
|
"https://github.com/Denshooter",
|
|
"https://linkedin.com/in/dkonkol",
|
|
],
|
|
}),
|
|
}}
|
|
/>
|
|
<Header />
|
|
{/* Spacer to prevent navbar overlap */}
|
|
<div className="h-24 md:h-32" aria-hidden="true"></div>
|
|
<main className="relative">
|
|
<Hero />
|
|
|
|
{/* Wavy Separator 1 - Hero to About */}
|
|
<div className="relative h-24 overflow-hidden">
|
|
<svg
|
|
className="absolute inset-0 w-full h-full"
|
|
viewBox="0 0 1440 120"
|
|
preserveAspectRatio="none"
|
|
>
|
|
<path
|
|
d="M0,64 C240,96 480,32 720,64 C960,96 1200,32 1440,64 L1440,120 L0,120 Z"
|
|
fill="url(#gradient1)"
|
|
/>
|
|
<defs>
|
|
<linearGradient id="gradient1" x1="0%" y1="0%" x2="100%" y2="0%">
|
|
<stop offset="0%" stopColor="#BAE6FD" stopOpacity="0.4" />
|
|
<stop offset="50%" stopColor="#DDD6FE" stopOpacity="0.4" />
|
|
<stop offset="100%" stopColor="#FBCFE8" stopOpacity="0.4" />
|
|
</linearGradient>
|
|
</defs>
|
|
</svg>
|
|
</div>
|
|
|
|
<About />
|
|
|
|
{/* Wavy Separator 2 - About to Projects */}
|
|
<div className="relative h-24 overflow-hidden">
|
|
<svg
|
|
className="absolute inset-0 w-full h-full"
|
|
viewBox="0 0 1440 120"
|
|
preserveAspectRatio="none"
|
|
>
|
|
<path
|
|
d="M0,32 C240,64 480,96 720,32 C960,64 1200,96 1440,32 L1440,120 L0,120 Z"
|
|
fill="url(#gradient2)"
|
|
/>
|
|
<defs>
|
|
<linearGradient id="gradient2" x1="0%" y1="0%" x2="100%" y2="0%">
|
|
<stop offset="0%" stopColor="#FED7AA" stopOpacity="0.4" />
|
|
<stop offset="50%" stopColor="#FDE68A" stopOpacity="0.4" />
|
|
<stop offset="100%" stopColor="#FCA5A5" stopOpacity="0.4" />
|
|
</linearGradient>
|
|
</defs>
|
|
</svg>
|
|
</div>
|
|
|
|
<Projects />
|
|
|
|
{/* Wavy Separator 3 - Projects to Contact */}
|
|
<div className="relative h-24 overflow-hidden">
|
|
<svg
|
|
className="absolute inset-0 w-full h-full"
|
|
viewBox="0 0 1440 120"
|
|
preserveAspectRatio="none"
|
|
>
|
|
<path
|
|
d="M0,96 C240,32 480,64 720,96 C960,32 1200,64 1440,96 L1440,120 L0,120 Z"
|
|
fill="url(#gradient3)"
|
|
/>
|
|
<defs>
|
|
<linearGradient id="gradient3" x1="0%" y1="0%" x2="100%" y2="0%">
|
|
<stop offset="0%" stopColor="#99F6E4" stopOpacity="0.4" />
|
|
<stop offset="50%" stopColor="#A7F3D0" stopOpacity="0.4" />
|
|
<stop offset="100%" stopColor="#D9F99D" stopOpacity="0.4" />
|
|
</linearGradient>
|
|
</defs>
|
|
</svg>
|
|
</div>
|
|
|
|
<Contact />
|
|
</main>
|
|
<Footer />
|
|
</div>
|
|
);
|
|
}
|
|
|