index.tsx 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import {ReactChild} from 'react';
  2. import {EvidencePreview} from 'sentry/components/groupPreviewTooltip/evidencePreview';
  3. import {IssueCategory} from 'sentry/types';
  4. import {SpanEvidencePreview} from './spanEvidencePreview';
  5. import {StackTracePreview} from './stackTracePreview';
  6. type GroupPreviewTooltipProps = {
  7. children: ReactChild;
  8. groupId: string;
  9. groupingCurrentLevel?: number;
  10. issueCategory?: IssueCategory;
  11. projectId?: string;
  12. query?: string;
  13. };
  14. function GroupPreviewTooltip({
  15. children,
  16. groupId,
  17. groupingCurrentLevel,
  18. issueCategory,
  19. query,
  20. }: GroupPreviewTooltipProps) {
  21. if (!issueCategory) {
  22. return null;
  23. }
  24. switch (issueCategory) {
  25. case IssueCategory.ERROR:
  26. return (
  27. <StackTracePreview
  28. groupId={groupId}
  29. groupingCurrentLevel={groupingCurrentLevel}
  30. query={query}
  31. >
  32. {children}
  33. </StackTracePreview>
  34. );
  35. case IssueCategory.PERFORMANCE:
  36. return (
  37. <SpanEvidencePreview groupId={groupId} query={query}>
  38. {children}
  39. </SpanEvidencePreview>
  40. );
  41. default:
  42. return (
  43. <EvidencePreview groupId={groupId} query={query}>
  44. {children}
  45. </EvidencePreview>
  46. );
  47. }
  48. }
  49. export default GroupPreviewTooltip;