-
+
+
{isMobile ? (
-
+
) : (
- buildPagedList(numPages, page).map((pageItem) => {
- if (pageItem === "left" || pageItem === "right") {
- return (
-
- );
- }
-
- return (
-
onChange(pageItem)}
- />
- );
- })
+
)}
-
+
);
};
+
+type PaginationRowProps = {
+ currentPage: number;
+ totalPages: number;
+ onChange: (newPage: number) => void;
+};
+
+function PaginationRow({
+ currentPage,
+ totalPages,
+ onChange,
+}: PaginationRowProps) {
+ const pageInfo = buildPagedList(totalPages, currentPage);
+ const pagesOmitted = totalPages - pageInfo.length - 1;
+
+ return (
+ <>
+ {pageInfo.map((pageEntry) => {
+ if (pageEntry === "left" || pageEntry === "right") {
+ return (
+