import { ToggleGroup, ToggleBtn, LinkBtn, Separator, Btn } from '@h5web/lib'; import { useEventListener, useToggle } from '@react-hookz/web'; import { FiMaximize, FiMessageCircle, FiMinimize, FiSidebar, } from 'react-icons/fi'; import { useDataContext } from '../providers/DataProvider'; import Breadcrumbs from './Breadcrumbs'; import styles from './BreadcrumbsBar.module.css'; import type { FeedbackContext } from './models'; interface Props { path: string; fileIndex:number isExplorerOpen: boolean; isInspecting: boolean; onToggleExplorer: () => void; onChangeInspecting: (b: boolean) => void; onSelectPath: (path: string) => void; getFeedbackURL?: (context: FeedbackContext) => string; } function BreadcrumbsBar(props: Props) { const { path, fileIndex, isExplorerOpen, isInspecting, onToggleExplorer, onChangeInspecting, onSelectPath, getFeedbackURL, } = props; const { filepath } = useDataContext(); const [isFullscreen, toggleFullScreen] = useToggle( !!document.fullscreenElement ); useEventListener(document.documentElement, 'fullscreenchange', () => { toggleFullScreen(); }); return (
{ onChangeInspecting(val === 'true' || false); }} > {document.fullscreenEnabled && ( { if (!document.fullscreenElement) { void document.documentElement.requestFullscreen(); } else if (document.exitFullscreen) { void document.exitFullscreen(); } }} /> )} {getFeedbackURL && ( <> { const feedbackUrl = getFeedbackURL({ filePath: filepath, entityPath: path, }); evt.currentTarget.setAttribute('href', feedbackUrl); }} /> )}
); } export default BreadcrumbsBar;