import {memo, useState} from 'react'; import ContextBlock from 'sentry/components/events/contexts/contextBlock'; import {EventDataSection} from 'sentry/components/events/eventDataSection'; import {SegmentedControl} from 'sentry/components/segmentedControl'; import {t} from 'sentry/locale'; import {Event} from 'sentry/types/event'; import {defined, objectIsEmpty} from 'sentry/utils'; import {getKnownData} from '../contexts/utils'; import {getEventExtraDataKnownDataDetails} from './getEventExtraDataKnownDataDetails'; import {EventExtraData as TEventExtraData, EventExtraDataType} from './types'; type Props = { event: Event; }; export const EventExtraData = memo( ({event}: Props) => { const [raw, setRaw] = useState(false); if (objectIsEmpty(event.context)) { return null; } return ( setRaw(key === 'raw')} > {t('Formatted')} {t('Raw')} } > {!defined(event.context) ? null : ( ({ data: event.context, knownDataTypes: Object.keys(event.context), meta: event._meta?.context, raw, onGetKnownDataDetails: v => getEventExtraDataKnownDataDetails(v), })} raw={raw} /> )} ); }, (prevProps: Props, nextProps: Props) => prevProps.event.id === nextProps.event.id );