import {CSSProperties, memo, MouseEvent, useCallback} from 'react'; import BreadcrumbItem from 'sentry/components/replays/breadcrumbs/breadcrumbItem'; import type {Crumb} from 'sentry/types/breadcrumbs'; import useCrumbHandlers from 'sentry/utils/replays/hooks/useCrumbHandlers'; interface Props { breadcrumb: Crumb; index: number; isCurrent: boolean; isHovered: boolean; onDimensionChange: ( index: number, path: string, expandedState: Record, event: MouseEvent ) => void; startTimestampMs: number; style: CSSProperties; breadcrumbIndex?: number[][]; expandPaths?: string[]; } function BreadcrumbRow({ breadcrumb, expandPaths, index, isCurrent, onDimensionChange, isHovered, startTimestampMs, style, }: Props) { const {handleMouseEnter, handleMouseLeave, handleClick} = useCrumbHandlers(startTimestampMs); const onClickTimestamp = useCallback( () => handleClick(breadcrumb), [handleClick, breadcrumb] ); const onMouseEnter = useCallback( () => handleMouseEnter(breadcrumb), [handleMouseEnter, breadcrumb] ); const onMouseLeave = useCallback( () => handleMouseLeave(breadcrumb), [handleMouseLeave, breadcrumb] ); return ( ); } export default memo(BreadcrumbRow);