index.tsx 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import {Alert} from 'sentry/components/alert';
  2. import {EventDataSection} from 'sentry/components/events/eventDataSection';
  3. import {t, tct} from 'sentry/locale';
  4. import {Event} from 'sentry/types/event';
  5. import getSdkUpdateSuggestion from 'sentry/utils/getSdkUpdateSuggestion';
  6. type Props = {
  7. event: Event;
  8. };
  9. export function EventSdkUpdates({event}: Props) {
  10. const eventDataSectionContent =
  11. event.sdkUpdates
  12. ?.map((sdkUpdate, index) => {
  13. const suggestion = getSdkUpdateSuggestion({
  14. suggestion: sdkUpdate,
  15. sdk: event.sdk,
  16. });
  17. if (!suggestion) {
  18. return null;
  19. }
  20. return (
  21. <Alert key={index} type="info" showIcon>
  22. {tct('We recommend you [suggestion] ', {suggestion})}
  23. {sdkUpdate.type === 'updateSdk' &&
  24. t(
  25. '(All sentry packages should be updated and their versions should match)'
  26. )}
  27. </Alert>
  28. );
  29. })
  30. .filter(alert => !!alert) ?? [];
  31. if (!eventDataSectionContent.length) {
  32. return null;
  33. }
  34. return (
  35. <EventDataSection title={null} type="sdk-updates">
  36. {eventDataSectionContent}
  37. </EventDataSection>
  38. );
  39. }