feat: improve book reviews, restore detailed privacy policy, fix header logo, add theme toggle, integrate boneyard-js
Some checks failed
CI / CD / test-build (push) Failing after 5m28s
CI / CD / deploy-dev (push) Has been skipped
CI / CD / deploy-production (push) Has been skipped

- Book reviews: add line-clamp for longer review text with expand/collapse per review
- Privacy policy: restore full detailed DSGVO-compliant fallback content
- Header (legal pages): change logo from 'dk' to 'dk0' in circle
- Header (main page): add ThemeToggle for dark/light mode switching
- Skeleton loading: integrate boneyard-js for ReadBooks, CurrentlyReading, Projects
- Add boneyard.config.json and bones/registry.ts placeholder
This commit is contained in:
2026-04-15 14:26:08 +02:00
parent 7b5fdbd611
commit 87e337a3a0
14 changed files with 201 additions and 69 deletions

View File

@@ -5,6 +5,7 @@ import { SiGithub, SiLinkedin } from "react-icons/si";
import Link from "next/link";
import { usePathname, useSearchParams } from "next/navigation";
import type { NavTranslations } from "@/types/translations";
import { ThemeToggle } from "./ThemeToggle";
// Inline SVG icons to avoid loading the full lucide-react chunk (~116KB)
const MenuIcon = ({ size = 24 }: { size?: number }) => (
@@ -128,6 +129,7 @@ export default function HeaderClient({ locale, translations }: HeaderClientProps
>
DE
</Link>
<ThemeToggle />
</div>
</nav>
@@ -188,7 +190,7 @@ export default function HeaderClient({ locale, translations }: HeaderClientProps
</nav>
{/* Language Switcher Mobile */}
<div className="flex gap-2 mt-6 pt-6 border-t border-stone-200">
<div className="flex items-center gap-2 mt-6 pt-6 border-t border-stone-200">
<Link
href={enHref}
onClick={() => setIsOpen(false)}
@@ -211,6 +213,7 @@ export default function HeaderClient({ locale, translations }: HeaderClientProps
>
DE
</Link>
<ThemeToggle />
</div>
<div className="mt-8 pt-6 border-t border-stone-200">