reggi/dev-engines
@reggi/path-to-regexp
dependabot/npm_and_yarn/main/copy-to-clipboard-4.0.2
dependabot/npm_and_yarn/main/eslint-10.4.0
dependabot/npm_and_yarn/main/npmcli/eslint-config-7.0.0
dependabot/npm_and_yarn/main/proc-log-7.0.0
dependabot/npm_and_yarn/npm_and_yarn-826852524d
dependabot/npm_and_yarn/npm_and_yarn-ab9a7f4bc2
deprecate-totp-2fa
dhei/classic-tokens
gat-bypass-2fa-docs
jpg619/fix-accessibility-content-flow
jpg619/version-bump-tar-2
kartykp/gat-bypass-2fa-docs
kartykp/upgrade-path-to-regex
main
maitxn/version-bump-tar
patch-1
reggi/cache-based-on-version
reggi/dev-engines
reggi/fix-transform-prettier
reggi/overrides
update-search-sensitivity
| 1 | import React from 'react' |
| 2 | import {Breadcrumbs as PrimerBreadcrumbs} from '@primer/react' |
| 3 | import {Link as GatsbyLink} from 'gatsby' |
| 4 | import * as getNav from '../util/get-nav' |
| 5 | import usePage from '../hooks/use-page' |
| 6 | |
| 7 | const BreadcrumbItem = ({item, path}) => { |
| 8 | const selected = getNav.isPathForItem(path, getNav.getItem(item.url)) |
| 9 | |
| 10 | return ( |
| 11 | <PrimerBreadcrumbs.Item as={GatsbyLink} to={item.url} {...(selected ? {selected} : {})}> |
| 12 | {item.shortName || item.title} |
| 13 | </PrimerBreadcrumbs.Item> |
| 14 | ) |
| 15 | } |
| 16 | |
| 17 | const Breadcrumbs = () => { |
| 18 | const {pathname} = usePage().location |
| 19 | const items = getNav.getItemBreadcrumbs(pathname, {hideVariants: true}) |
| 20 | |
| 21 | if (items.length <= 1) { |
| 22 | return null |
| 23 | } |
| 24 | |
| 25 | return ( |
| 26 | <PrimerBreadcrumbs sx={{mb: 4}}> |
| 27 | {items.map(item => ( |
| 28 | <BreadcrumbItem key={item.url} item={item} path={pathname} /> |
| 29 | ))} |
| 30 | </PrimerBreadcrumbs> |
| 31 | ) |
| 32 | } |
| 33 | |
| 34 | export default Breadcrumbs |