import beautify from 'js-beautify'; import {CodeSnippet} from 'sentry/components/codeSnippet'; import ExternalLink from 'sentry/components/links/externalLink'; import {t} from 'sentry/locale'; import type {HydratedA11yFrame} from 'sentry/utils/replays/hydrateA11yFrame'; import type {KeyValueTuple} from 'sentry/views/replays/detail/accessibility/details/components'; import { keyValueTableOrNotFound, SectionItem, } from 'sentry/views/replays/detail/accessibility/details/components'; export type SectionProps = { item: HydratedA11yFrame; }; export function ElementSection({item}: SectionProps) { return ( {beautify.html(item.element.element, {indent_size: 2})} ); } export function GeneralSection({item}: SectionProps) { const data: KeyValueTuple[] = [ { key: t('Impact'), value: item.impact, type: item.impact === 'critical' ? 'warning' : undefined, }, {key: t('Type'), value: item.id}, { key: t('Help'), value: {item.description}, }, {key: t('Path'), value: item.element.target.join(' ')}, ]; return ( {keyValueTableOrNotFound(data, t('Missing details'))} ); }