diff options
| author | it-fixcomart <it@fixcomart.co.id> | 2024-07-19 16:45:46 +0700 |
|---|---|---|
| committer | it-fixcomart <it@fixcomart.co.id> | 2024-07-19 16:45:46 +0700 |
| commit | 8564ea1361d40560679df6823b28dfc7e02ab197 (patch) | |
| tree | 85518861fe4ae190c1f62264adace5040ca92b86 /src/lib | |
| parent | 0840f5ccc7493dfa091508db84bad8a21e073268 (diff) | |
<iman> update view category dynamic
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/home/components/CategoryDynamic.jsx | 81 | ||||
| -rw-r--r-- | src/lib/home/hooks/useCategoryManagement.js | 2 |
2 files changed, 38 insertions, 45 deletions
diff --git a/src/lib/home/components/CategoryDynamic.jsx b/src/lib/home/components/CategoryDynamic.jsx index e3052d11..4180438a 100644 --- a/src/lib/home/components/CategoryDynamic.jsx +++ b/src/lib/home/components/CategoryDynamic.jsx @@ -18,66 +18,59 @@ const CategoryDynamic = () => { // console.error("Error loading promo items:", loadError) } } - - loadPromo() },[]); - - const image = 'https://erp.indoteknik.com/api/image/product.template/image_256/544371?ratio=square' - const handleLink = (name, id) => { - return `/shop/category/${name}/${id}`; -}; console.log("promoItems",promoItems) return ( <div> - <div className='font-semibold sm:text-h-lg mb-6 px-4 sm:px-0'>Kategori Pilihan</div> + {/* <div className='font-semibold sm:text-h-lg mb-2 px-4 sm:px-0'>Kategori Pilihan</div> */} {/* Render category data */} {promoItems && promoItems.map((category) => ( <div key={category.id}> - <div className='bagian-judul flex flex-row justify-start items-center gap-3'> + <div className='bagian-judul flex flex-row justify-start items-center gap-3 mb-4 mt-4'> <div className='font-semibold sm:text-h-lg mr-2'>{category.name}</div> <p className='text-gray_r-10 text-sm'>999 rb+ Produk tersedia</p> - <Link href={createSlug('/shop/category/', category?.name, category?.id)} className="!text-red-500 font-semibold">Lihat Semua</Link> + <Link href={createSlug('/shop/category/', category?.name, category?.category_id)} className="!text-red-500 font-semibold">Lihat Semua</Link> </div> - <p> - Kategori level 1 : {category.name} - ID level 1 : {category.id} - <NextImage - src={category.image? category.image : image} - alt={category.name} - width={90} - height={30} - /> - </p> - <div> + <div className='grid grid-cols-3 gap-2'> {category.category_id2.map((index)=> ( - <div key={index.id}> - <p> - id LEVEL 2: {index.id_level_2} - Name LEVEL 2: {index.name} - <NextImage - src={index.image? index.image : image} - alt={index.name} - width={90} - height={30} - /> - <div> - {index.child_frontend_id_i.map((x)=> ( - <div key={x.id}> - <p> - id LEVEL 3: {x.id_level_3} - name LEVEL 3: {x.name} - <NextImage - src={x.image? x.image : image} - alt={x.name} - width={90} - height={30} - /> - </p> - </div> - ))} + <div key={index.id} className='border justify-start items-start'> + <div className='p-3'> + <div className='flex flex-row border mb-2 justify-start items-center'> + <NextImage + src={index.image? index.image : "https://erp.indoteknik.com/api/image/product.template/image_256/120726?ratio=square"} + alt={index.name} + width={90} + height={30} + className='object-fit' + /> + <div className='bagian-judul flex flex-col justify-center items-start gap-2 ml-2'> + <div className='font-semibold text-lg mr-2'>{index.name}</div> + <p className='text-gray_r-10 text-sm'>999 rb+ Produk</p> + <Link href={createSlug('/shop/category/', index?.name, index?.id_level_2)} className="!text-red-500 font-semibold">Lihat Semua</Link> + </div> + </div> + <div className='grid grid-cols-2 gap-2 overflow-y-auto max-h-[240px]' > + {index.child_frontend_id_i.map((x)=> ( + <div key={x.id}> + <Link href={createSlug('/shop/category/', x?.name, x?.id_level_3)} className="flex flex-row gap-2 border group hover:border-red-500"> + <NextImage + src={x.image? x.image : "https://erp.indoteknik.com/api/image/product.template/image_256/127221?ratio=square"} + alt={x.name} + width={40} + height={40} + /> + <div className='bagian-judul flex flex-col justify-center items-center gap-2 break-words line-clamp-2 group-hover:text-red-500'> + <div className='font-semibold line-clamp-2 group-hover:text-red-500 text-sm mr-2'>{x.name}</div> + </div> + </Link> + </div> + ))} </div> - </p> + </div> </div> ))} </div> diff --git a/src/lib/home/hooks/useCategoryManagement.js b/src/lib/home/hooks/useCategoryManagement.js index 7c01df6e..db4e79e1 100644 --- a/src/lib/home/hooks/useCategoryManagement.js +++ b/src/lib/home/hooks/useCategoryManagement.js @@ -1,7 +1,7 @@ export const fetchProductManagementSolr = async () => { try { const queryParams = new URLSearchParams({q: 'type_value_s:bundling'}) - const response = await fetch(`/solr/product_category_management/query?q=*:*&q.op=OR&indent=true`); + const response = await fetch(`/solr/product_category_management/query?q=*:*&q.op=OR&sort=sequence_i asc&indent=true`); // console.log("response", response) if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); |
