import { assertAbsolutePath } from '@h5web/shared'; import { useDataContext } from '../providers/DataProvider'; import styles from './BreadcrumbsBar.module.css'; import CopyableCrumb from './CopyableCrumb'; import Crumb from './Crumb'; interface Props { path: string; onSelect: (path: string) => void; showFilename: boolean; fileIndex:number; } function Breadcrumbs(props: Props) { const { path, onSelect, showFilename,fileIndex } = props; assertAbsolutePath(path); const { filename } = useDataContext(); if (path === '/') { return (

{filename}

); } // Remove leading / const crumbs = path.slice(1).split('/'); return (

{showFilename && onSelect('/')} />} {crumbs.slice(0, -1).map((crumb, i) => { const crumbPath = `/${crumbs.slice(0, i + 1).join('/')}`; return ( onSelect(crumbPath)} /> ); })}

); } export default Breadcrumbs;