44 fetchAllProductsAsync ,
55 fetchProductsByFiltersAsync ,
66 selectAllProducts ,
7+ selectTotalItems ,
78} from "../productSlice" ;
89import { Dialog , Disclosure , Menu , Transition } from "@headlessui/react" ;
910import { StarIcon , XMarkIcon } from "@heroicons/react/24/outline" ;
@@ -64,6 +65,7 @@ function classNames(...classes) {
6465export default function ProductList ( ) {
6566 const [ mobileFiltersOpen , setMobileFiltersOpen ] = useState ( false ) ;
6667 const products = useSelector ( selectAllProducts ) ;
68+ const totalItems = useSelector ( selectTotalItems ) ;
6769 const dispatch = useDispatch ( ) ;
6870 const [ filter , setFilter ] = useState ( { } ) ;
6971 const [ sort , setSort ] = useState ( { } ) ;
@@ -208,7 +210,12 @@ export default function ProductList() {
208210
209211 { /* section of product and filters ends */ }
210212
211- < Pagination page = { page } setPage = { setPage } handlePage = { handlePage } />
213+ < Pagination
214+ page = { page }
215+ setPage = { setPage }
216+ handlePage = { handlePage }
217+ totalItems = { totalItems }
218+ />
212219 </ main >
213220 </ div >
214221 </ div >
@@ -437,7 +444,7 @@ function ProductGrid({ products }) {
437444 ) ;
438445}
439446
440- function Pagination ( { page, setPage, handlePage, totalItems = 30 } ) {
447+ function Pagination ( { page, setPage, handlePage, totalItems } ) {
441448 return (
442449 < div className = "flex items-center justify-between border-t border-gray-200 bg-white px-4 py-3 sm:px-6" >
443450 < div className = "flex flex-1 justify-between sm:hidden" >
@@ -457,7 +464,7 @@ function Pagination({ page, setPage, handlePage, totalItems = 30 }) {
457464 < div className = "hidden sm:flex sm:flex-1 sm:items-center sm:justify-between" >
458465 < div >
459466 < p className = "text-sm text-gray-700" >
460- Showing
467+ Showing-
461468 { /* (3-1) * 6 + 1 =13 */ }
462469 < span className = "font-medium" >
463470 { ( page - 1 ) * ITEMS_PER_PAGE + 1 }
0 commit comments