eventSdk.tsx 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import {EventDataSection} from 'sentry/components/events/eventDataSection';
  2. import {t} from 'sentry/locale';
  3. import {Event} from 'sentry/types/event';
  4. import {objectIsEmpty} from 'sentry/utils';
  5. import KeyValueList from './interfaces/keyValueList';
  6. import {AnnotatedText} from './meta/annotatedText';
  7. type Props = {
  8. meta?: Record<any, any>;
  9. sdk?: Event['sdk'];
  10. };
  11. export function EventSdk({sdk, meta}: Props) {
  12. if (!sdk || objectIsEmpty(sdk)) {
  13. return null;
  14. }
  15. return (
  16. <EventDataSection type="sdk" title={t('SDK')}>
  17. <KeyValueList
  18. data={[
  19. {
  20. key: 'name',
  21. subject: t('Name'),
  22. value: (
  23. <pre className="val-string">
  24. {meta?.name?.[''] ? (
  25. <AnnotatedText value={sdk.name} meta={meta?.name?.['']} />
  26. ) : (
  27. sdk.name
  28. )}
  29. </pre>
  30. ),
  31. },
  32. {
  33. key: 'version',
  34. subject: t('Version'),
  35. value: (
  36. <pre className="val-string">
  37. {meta?.version?.[''] ? (
  38. <AnnotatedText value={sdk.version} meta={meta?.version?.['']} />
  39. ) : (
  40. sdk.version
  41. )}
  42. </pre>
  43. ),
  44. },
  45. ]}
  46. />
  47. </EventDataSection>
  48. );
  49. }