- Remove duplicate app/projects/ route (was causing 5xx and soft 404) - Fix nginx: redirect www.dk0.dev → dk0.dev (non-www canonical) - Fix not-found.tsx: locale-prefixed links, remove framer-motion dependency - Add fetchPriority='high' and will-change to Hero LCP image - Add preconnect hints for hardcover.app and cms.dk0.dev - Reduce background blur from 100px to 80px (LCP rendering delay) - Remove boneyard-js (~20 KiB), replace with custom Skeleton component - Remove react-icons (~10 KiB), replace with inline SVGs - Conditionally render mobile menu (saves ~20 DOM nodes) - Add /books to sitemap - Optimize image config with explicit deviceSizes/imageSizes
34 lines
1.2 KiB
TypeScript
34 lines
1.2 KiB
TypeScript
// Pure CSS gradient background — replaces the Three.js/WebGL shader gradient.
|
|
// Server component: no "use client", zero JS bundle cost, renders in initial HTML.
|
|
// Visual result is identical since all original spheres had animate="off" (static).
|
|
export default function ShaderGradientBackground() {
|
|
return (
|
|
<div
|
|
aria-hidden="true"
|
|
className="fixed inset-0 -z-10 overflow-hidden pointer-events-none"
|
|
>
|
|
<div
|
|
className="absolute -top-[10%] -left-[15%] w-[55%] h-[65%] rounded-full opacity-60"
|
|
style={{
|
|
background: "radial-gradient(ellipse at 50% 50%, #b01040 0%, #e167c5 40%, transparent 70%)",
|
|
filter: "blur(80px)",
|
|
}}
|
|
/>
|
|
<div
|
|
className="absolute top-[25%] -right-[10%] w-[50%] h-[60%] rounded-full opacity-55"
|
|
style={{
|
|
background: "radial-gradient(ellipse at 50% 50%, #e167c5 0%, #b01040 40%, transparent 70%)",
|
|
filter: "blur(80px)",
|
|
}}
|
|
/>
|
|
<div
|
|
className="absolute -bottom-[15%] left-[5%] w-[50%] h-[60%] rounded-full opacity-50"
|
|
style={{
|
|
background: "radial-gradient(ellipse at 50% 50%, #b04a17 0%, #e167c5 40%, transparent 70%)",
|
|
filter: "blur(80px)",
|
|
}}
|
|
/>
|
|
</div>
|
|
);
|
|
}
|