import odooApi from '@/core/api/odooApi'; import { createSlug } from '@/core/utils/slug'; import { Breadcrumb as ChakraBreadcrumb, BreadcrumbItem, BreadcrumbLink, Skeleton, } from '@chakra-ui/react'; import Link from 'next/link'; import React from 'react'; import { useQuery } from 'react-query'; import useDevice from '@/core/hooks/useDevice'; const Breadcrumb = ({ categoryId }) => { const { isDesktop, isMobile } = useDevice(); const breadcrumbs = useQuery( ['category-breadcrumbs', categoryId], async () => await odooApi('GET', `/api/v1/category/${categoryId}/category-breadcrumb`) ); const cats = breadcrumbs.data ?? []; const total = cats.length; const showEllipsis = total > 2; const parent = total >= 2 ? cats[total - 2] : null; const last = total ? cats[total - 1] : null; const hiddenText = showEllipsis ? cats .slice(0, total - 2) .map((c) => c.name) .join(' / ') : ''; // ===== MOBILE: 2 BARIS -> (1) Home/..//Parent (2) Last (wrap) ===== if (isMobile) { return (
{/* Baris 1 */} Home {showEllipsis && ( .. )} {parent && ( {parent.name} )} {/* Baris 2 */} {last && ( {last.name} )}
); } // ===== DESKTOP: biarkan seperti semula ===== if (isDesktop) { return (
Home {cats.map((category, index) => ( {index === cats.length - 1 ? ( {category.name} ) : ( {category.name} )} ))}
); } // Fallback → layout desktop return (
Home {cats.map((category, index) => ( {index === cats.length - 1 ? ( {category.name} ) : ( {category.name} )} ))}
); }; export default Breadcrumb;