import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from "@/components/ui/card"; import { useState, useMemo } from "react"; import { Category } from "@/lib/types"; import Link from "next/link"; import Image from "next/image"; import { Button } from "./ui/button"; import { extractDate } from "@/lib/time"; const ITEMS_PER_PAGE = 3; export default function MostViewedScripts({ items }: { items: Category[] }) { const [page, setPage] = useState(1); const mostViewedScripts = useMemo(() => { if (!items) return []; const scripts = items.flatMap((category) => category.expand.items || []); const mostViewedScripts = scripts .filter((script) => script.isMostViewed) .map((script) => ({ ...script, })) .sort((a, b) => a.mostViewedPosition - b.mostViewedPosition); return mostViewedScripts; }, [items]); const goToNextPage = () => { setPage((prevPage) => prevPage + 1); }; const goToPreviousPage = () => { setPage((prevPage) => prevPage - 1); }; const startIndex = (page - 1) * ITEMS_PER_PAGE; const endIndex = page * ITEMS_PER_PAGE; return (
This data, unfortunately, is not directly influenced by interacting with the website. (yet)
> )}Date added: {extractDate(item.created)}