{"version":3,"file":"ProductListingPagePagination-C_-RH8V6-chunk.js","sources":["../../../GSDClient/Scripts/Components/ProductListingPagePagination.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { IPaginationViewModel } from 'Types/Litium';\n\ninterface IProductListingPagePaginationProps {\n pagination: IPaginationViewModel;\n loadMoreProductsText: string;\n allProductsLoadedText: string;\n getLoadMoreProducts: (\n params: {\n name: string;\n value: string;\n }[]\n ) => void;\n isFetching: boolean;\n}\n\nexport const ProductListingPagePagination = ({\n pagination,\n loadMoreProductsText,\n allProductsLoadedText,\n getLoadMoreProducts,\n isFetching,\n}: IProductListingPagePaginationProps) => {\n const [currentPageIndex, setCurrentIndex] = useState(\n pagination.currentPageIndex\n );\n\n useEffect(() => {\n setCurrentIndex(pagination.currentPageIndex);\n }, [pagination]);\n\n const handleOnClick = () => {\n const nextPagesIndex = currentPageIndex + 1;\n const urlParams = new URLSearchParams(window.location.search);\n urlParams.set('page', `${nextPagesIndex}`);\n\n const currentUrlParams = Array.from(urlParams).map(filterValue => ({\n name: filterValue[0],\n value: filterValue[1],\n }));\n\n const queryState = currentUrlParams\n .map(facet => `${facet.name}=${facet.value}`)\n .join('&');\n\n const urlWithoutQueryString =\n window.location.origin + window.location.pathname;\n\n getLoadMoreProducts(currentUrlParams);\n window.history.replaceState(\n {},\n '',\n `${urlWithoutQueryString}?${queryState}`\n );\n setCurrentIndex(nextPagesIndex);\n };\n\n return (\n
\n {currentPageIndex < pagination.pageCount ? (\n handleOnClick()}\n disabled={isFetching}\n className=\"mb-2 min-w-full bg-cadillac px-8 py-2 font-montserrat text-xl font-medium text-white md:min-w-96\"\n >\n {loadMoreProductsText}\n \n ) : (\n

{allProductsLoadedText}

\n )}\n
\n );\n};\n"],"names":["ProductListingPagePagination","pagination","loadMoreProductsText","allProductsLoadedText","getLoadMoreProducts","isFetching","currentPageIndex","setCurrentIndex","useState","useEffect","handleOnClick","nextPagesIndex","urlParams","currentUrlParams","filterValue","queryState","facet","urlWithoutQueryString","jsx"],"mappings":"sDAiBO,MAAMA,EAA+B,CAAC,CACzC,WAAAC,EACA,qBAAAC,EACA,sBAAAC,EACA,oBAAAC,EACA,WAAAC,CACJ,IAA0C,CAChC,KAAA,CAACC,EAAkBC,CAAe,EAAIC,EAAA,SACxCP,EAAW,gBAAA,EAGfQ,EAAAA,UAAU,IAAM,CACZF,EAAgBN,EAAW,gBAAgB,CAAA,EAC5C,CAACA,CAAU,CAAC,EAEf,MAAMS,EAAgB,IAAM,CACxB,MAAMC,EAAiBL,EAAmB,EACpCM,EAAY,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAC5DA,EAAU,IAAI,OAAQ,GAAGD,CAAc,EAAE,EAEzC,MAAME,EAAmB,MAAM,KAAKD,CAAS,EAAE,IAAoBE,IAAA,CAC/D,KAAMA,EAAY,CAAC,EACnB,MAAOA,EAAY,CAAC,CACtB,EAAA,EAEIC,EAAaF,EACd,IAAIG,GAAS,GAAGA,EAAM,IAAI,IAAIA,EAAM,KAAK,EAAE,EAC3C,KAAK,GAAG,EAEPC,EACF,OAAO,SAAS,OAAS,OAAO,SAAS,SAE7Cb,EAAoBS,CAAgB,EACpC,OAAO,QAAQ,aACX,CAAC,EACD,GACA,GAAGI,CAAqB,IAAIF,CAAU,EAAA,EAE1CR,EAAgBI,CAAc,CAAA,EAGlC,aACK,MAAI,CAAA,UAAU,uDACV,SAAAL,EAAmBL,EAAW,UAC3BiB,EAAA,IAAC,SAAA,CACG,QAAS,IAAMR,EAAc,EAC7B,SAAUL,EACV,UAAU,mGAET,SAAAH,CAAA,CAAA,EAGJgB,EAAA,IAAA,IAAA,CAAE,UAAU,wBAAyB,WAAsB,CAEpE,CAAA,CAER"}