"use client"; import Image from "next/image"; import Link from "next/link"; import { useState } from "react"; const LibraryClient = ({ did, incompleteBooks, rankedBooks }) => { let maxRating = -Infinity; let minRating = Infinity; rankedBooks.forEach((book) => { maxRating = Math.max(book.averageRating, maxRating); minRating = Math.min(book.averageRating, minRating); }); rankedBooks = rankedBooks .map((book) => ({ ...book, normalizedRating: (100 * (book.averageRating - minRating)) / (maxRating - minRating) })) .map((book) => ({ ...book, hrsToRead: (275 * book.pageCount) / 60 / 250 })) .map((book) => ({ ...book, eph: book.normalizedRating / book.hrsToRead })); rankedBooks.sort((a, b) => b.eph - a.eph); console.log(rankedBooks); const [displayedBooks, setDisplayedBooks] = useState(rankedBooks); const [showRankedBooks, setShowRankedBooks] = useState(true); return (
{displayedBooks?.map((book) => { return (
{`Book
); })}
); }; export default LibraryClient;