import {EventDataSection} from 'sentry/components/events/eventDataSection';
import KeyValueList from 'sentry/components/events/interfaces/keyValueList';
import {ProfileEventEvidence} from 'sentry/components/events/profileEventEvidence';
import {Event, Group} from 'sentry/types';
import {eventIsProfilingIssue} from 'sentry/utils/events';
import {
getConfigForIssueType,
getIssueCategoryAndTypeFromOccurrenceType,
} from 'sentry/utils/issueTypeConfig';
type EvidenceProps = {event: Event; projectSlug: string; group?: Group};
/**
* This component is rendered whenever an `event.occurrence.evidenceDisplay` is
* present and the issue type config is set up to use evidenceDisplay.
*/
export function EventEvidence({event, group, projectSlug}: EvidenceProps) {
if (!event.occurrence) {
return null;
}
if (eventIsProfilingIssue(event)) {
return ;
}
const {issueCategory, issueType} =
group ?? getIssueCategoryAndTypeFromOccurrenceType(event.occurrence.type);
const config = getConfigForIssueType({issueCategory, issueType}).evidence;
const evidenceDisplay = event.occurrence?.evidenceDisplay;
if (!evidenceDisplay?.length || !config) {
return null;
}
return (
({
subject: item.name,
key: item.name,
value: item.value,
}))}
shouldSort={false}
/>
);
}