summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2024-01-31 09:14:55 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2024-01-31 09:14:55 +0700
commitdbb71d75b5ea051a25040bab23715f80e1c046d2 (patch)
treed1cc78ec428506d4d63eac480451d0cb457104fb
parent0550b0dbe9b8e369cfe211b78ab0de49a6e1f49d (diff)
Fix pagination on category detail page
-rw-r--r--src/lib/product/components/ProductSearch.jsx33
-rw-r--r--src/pages/shop/category/[slug].jsx43
2 files changed, 42 insertions, 34 deletions
diff --git a/src/lib/product/components/ProductSearch.jsx b/src/lib/product/components/ProductSearch.jsx
index 90e93aa0..99ffef44 100644
--- a/src/lib/product/components/ProductSearch.jsx
+++ b/src/lib/product/components/ProductSearch.jsx
@@ -1,25 +1,28 @@
import { useEffect, useMemo, useState } from 'react';
-import useProductSearch from '../hooks/useProductSearch';
-import ProductCard from './ProductCard';
-import Pagination from '@/core/components/elements/Pagination/Pagination';
-import { toQuery } from 'lodash-contrib';
-import _ from 'lodash';
-import ProductSearchSkeleton from './Skeleton/ProductSearchSkeleton';
-import ProductFilter from './ProductFilter';
-import useActive from '@/core/hooks/useActive';
-import MobileView from '@/core/components/views/MobileView';
-import DesktopView from '@/core/components/views/DesktopView';
import NextImage from 'next/image';
-import ProductFilterDesktop from './ProductFilterDesktop';
import { useRouter } from 'next/router';
-import searchSpellApi from '@/core/api/searchSpellApi';
-import Link from '@/core/components/elements/Link/Link';
-import whatsappUrl from '@/core/utils/whatsappUrl';
+
+import axios from 'axios';
+import _ from 'lodash';
+import { toQuery } from 'lodash-contrib';
import { HStack, Image, Tag, TagCloseButton, TagLabel } from '@chakra-ui/react';
+
import odooApi from '@/core/api/odooApi';
+import searchSpellApi from '@/core/api/searchSpellApi';
+import Link from '@/core/components/elements/Link/Link';
+import Pagination from '@/core/components/elements/Pagination/Pagination';
+import DesktopView from '@/core/components/views/DesktopView';
+import MobileView from '@/core/components/views/MobileView';
+import useActive from '@/core/hooks/useActive';
import { formatCurrency } from '@/core/utils/formatValue';
-import axios from 'axios';
import { createSlug } from '@/core/utils/slug';
+import whatsappUrl from '@/core/utils/whatsappUrl';
+
+import useProductSearch from '../hooks/useProductSearch';
+import ProductCard from './ProductCard';
+import ProductFilter from './ProductFilter';
+import ProductFilterDesktop from './ProductFilterDesktop';
+import ProductSearchSkeleton from './Skeleton/ProductSearchSkeleton';
const ProductSearch = ({
query,
diff --git a/src/pages/shop/category/[slug].jsx b/src/pages/shop/category/[slug].jsx
index 6d3985a8..64f1e350 100644
--- a/src/pages/shop/category/[slug].jsx
+++ b/src/pages/shop/category/[slug].jsx
@@ -1,25 +1,30 @@
-import dynamic from 'next/dynamic'
-import { getIdFromSlug, getNameFromSlug } from '@/core/utils/slug'
-import { useRouter } from 'next/router'
-import _ from 'lodash'
-import Seo from '@/core/components/Seo'
-import Breadcrumb from '@/lib/category/components/Breadcrumb'
+import dynamic from 'next/dynamic';
+import { getIdFromSlug, getNameFromSlug } from '@/core/utils/slug';
+import { useRouter } from 'next/router';
+import _ from 'lodash';
+import Seo from '@/core/components/Seo';
+import Breadcrumb from '@/lib/category/components/Breadcrumb';
-const BasicLayout = dynamic(() => import('@/core/components/layouts/BasicLayout'))
-const ProductSearch = dynamic(() => import('@/lib/product/components/ProductSearch'))
+const BasicLayout = dynamic(() =>
+ import('@/core/components/layouts/BasicLayout')
+);
+const ProductSearch = dynamic(() =>
+ import('@/lib/product/components/ProductSearch')
+);
export default function CategoryDetail() {
- const router = useRouter()
- const { slug = '' } = router.query
+ const router = useRouter();
+ const { slug = '', page = 1 } = router.query;
- const categoryName = getNameFromSlug(slug)
- const categoryId = getIdFromSlug(slug)
- const q = router?.query.q || null
+ const categoryName = getNameFromSlug(slug);
+ const categoryId = getIdFromSlug(slug);
+ const q = router?.query.q || null;
const query = {
- fq: `category_id_i:${categoryId}`
- }
+ fq: `category_id_i:${categoryId}`,
+ page,
+ };
if (q) {
- query.q = q
+ query.q = q;
}
return (
@@ -30,8 +35,8 @@ export default function CategoryDetail() {
additionalMetaTags={[
{
property: 'keywords',
- content: `Jual ${categoryName}, harga ${categoryName}, ${categoryName} murah, toko ${categoryName}, ${categoryName} jakarta, ${categoryName} surabaya`
- }
+ content: `Jual ${categoryName}, harga ${categoryName}, ${categoryName} murah, toko ${categoryName}, ${categoryName} jakarta, ${categoryName} surabaya`,
+ },
]}
/>
@@ -41,5 +46,5 @@ export default function CategoryDetail() {
<ProductSearch query={query} prefixUrl={`/shop/category/${slug}`} />
)}
</BasicLayout>
- )
+ );
}