Skip to main content
Glama
AdminBreadcrumb.tsx2.24 kB
'use client'; import { Breadcrumb, type BreadcrumbLink, type BreadcrumbProps, } from '@intlayer/design-system'; import { useParams, usePathname } from 'next/navigation'; import { useIntlayer } from 'next-intlayer'; import { type FC, useMemo } from 'react'; import { PagesRoutes } from '@/Routes'; type AdminBreadcrumbProps = Omit<BreadcrumbProps, 'links'>; export const AdminBreadcrumb: FC<AdminBreadcrumbProps> = (props) => { const pathname = usePathname(); const params = useParams(); const locale = params.locale as string; const { home, users, organizations, projects, dashboard, userDetail } = useIntlayer('admin-breadcrumb'); const breadcrumbLinks: BreadcrumbLink[] = useMemo(() => { const links: BreadcrumbLink[] = [ { text: home.value, href: PagesRoutes.Admin_Dashboard, }, ]; const pathSegments = pathname.split('/').filter(Boolean); const adminIndex = pathSegments.indexOf('admin'); if (adminIndex === -1) return links; const adminSegments = pathSegments.slice(adminIndex + 1); let currentPath = `/${locale}/admin`; adminSegments.forEach((segment, index) => { currentPath = `${currentPath}/${segment}`; switch (segment) { case 'dashboard': links.push({ text: dashboard.value, href: currentPath }); break; case 'users': links.push({ text: users.value, href: currentPath }); break; case 'organizations': links.push({ text: organizations.value, href: currentPath }); break; case 'projects': links.push({ text: projects.value, href: currentPath }); break; default: if (!Number.isNaN(Number(segment)) || /^[0-9a-f]{24}$/i.test(segment)) { const previousSegment = adminSegments[index - 1]; if (previousSegment === 'users') { links.push({ text: userDetail.value, href: currentPath }); } } break; } }); return links; }, [ pathname, locale, home, users, organizations, projects, dashboard, userDetail, ]); return <Breadcrumb links={breadcrumbLinks} locale={locale} {...props} />; };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aymericzip/intlayer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server