+ {/* Tombol Prev */}
- {Array.from({ length: categoryTotalPages }, (_, i) => (
-
- ))}
+ {(() => {
+ const maxVisible = 4;
+ let startPage = Math.max(
+ 1,
+ Math.min(
+ categoryPage - Math.floor(maxVisible / 2),
+ categoryTotalPages - maxVisible + 1
+ )
+ );
+ const endPage = Math.min(
+ categoryTotalPages,
+ startPage + maxVisible - 1
+ );
+ const visiblePages = [];
+ for (let i = startPage; i <= endPage; i++) {
+ visiblePages.push(i);
+ }
+
+ return visiblePages.map((pageNum) => (
+
+ ));
+ })()}
+
+ {/* Tombol Next */}