From a70fd5b6d9c7a769ac1aaa22a7d037ba3be27a05 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Tue, 16 Jan 2024 16:08:43 +0700 Subject: Update improve product detail performance --- .../product-detail/components/Breadcrumb.tsx | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src-migrate/modules/product-detail/components/Breadcrumb.tsx (limited to 'src-migrate/modules/product-detail/components/Breadcrumb.tsx') diff --git a/src-migrate/modules/product-detail/components/Breadcrumb.tsx b/src-migrate/modules/product-detail/components/Breadcrumb.tsx new file mode 100644 index 00000000..0ee5b115 --- /dev/null +++ b/src-migrate/modules/product-detail/components/Breadcrumb.tsx @@ -0,0 +1,40 @@ +import React, { Fragment } from 'react' +import { useQuery } from 'react-query' +import { getProductCategoryBreadcrumb } from '~/services/product' +import Link from 'next/link' +import { createSlug } from '~/libs/slug' + +type Props = { + id: number, + name: string +} + +const Breadcrumb = ({ id, name }: Props) => { + const query = useQuery({ + queryKey: ['product-category-breadcrumb'], + queryFn: () => getProductCategoryBreadcrumb(id) + }) + + const breadcrumbs = query.data || [] + + return ( +
+ Home + / + {breadcrumbs.map((category, index) => ( + + + {category.name} + + / + + ))} + {name} +
+ ) +} + +export default Breadcrumb \ No newline at end of file -- cgit v1.2.3