"use client"; import { Star, ArrowLeft } from "lucide-react"; import Link from "next/link"; import Image from "next/image"; import { useEffect, useState } from "react"; import { useLocale } from "next-intl"; import { Skeleton } from "@/app/components/ui/Skeleton"; import { BookReview } from "@/lib/directus"; export default function BooksPage() { const locale = useLocale(); const [reviews, setReviews] = useState([]); const [loading, setLoading] = useState(true); useEffect(() => { const fetchBooks = async () => { try { const res = await fetch(`/api/book-reviews?locale=${locale}`); const data = await res.json(); if (data.bookReviews) setReviews(data.bookReviews); } catch (error) { console.error("Books fetch failed:", error); } finally { setLoading(false); } }; fetchBooks(); }, [locale]); return (
{locale === 'de' ? 'Zurück' : 'Back Home'}

Library.

{locale === "de" ? "Bücher, die meine Denkweise verändert und mein Wissen erweitert haben." : "Books that shaped my mindset and expanded my horizons."}

{loading ? ( Array.from({ length: 6 }).map((_, i) => (
)) ) : ( reviews?.map((review) => (
{review.book_image && (
{review.book_title}
)}

{review.book_title}

{review.rating && (
{review.rating}
)}

{review.book_author}

{review.review && (

“{review.review.replace(/<[^>]*>/g, '')}”

)}
)) )}
); }