import React, { useState } from "react"; import { Card, CardContent, Typography, Box, IconButton, Divider, } from "@mui/material"; import ChevronLeftIcon from "@mui/icons-material/ChevronLeft"; import ChevronRightIcon from "@mui/icons-material/ChevronRight"; import DocumentItem from "./DocumentItem"; function SourceCard({ source, documents, threadId }) { const [pageIndex, setPageIndex] = useState(0); const itemsPerPage = 8; const handlePageChange = (direction) => { setPageIndex((prev) => Math.max( 0, Math.min( documents.length - itemsPerPage, prev + direction * itemsPerPage, ), ), ); }; return ( {documents .slice(pageIndex, pageIndex + itemsPerPage) .map((document, index) => ( ))} handlePageChange(-1)} disabled={pageIndex === 0} size="small" sx={{ color: "primary.main" }} > {`${pageIndex + 1} - ${Math.min(pageIndex + itemsPerPage, documents.length)} of ${documents.length}`} handlePageChange(1)} disabled={pageIndex + itemsPerPage >= documents.length} size="small" sx={{ color: "primary.main" }} > ); } export default SourceCard;