device.tsx 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import EventDataSection from 'sentry/components/events/eventDataSection';
  2. import {t} from 'sentry/locale';
  3. import {Event} from 'sentry/types/event';
  4. import KeyValueList from './interfaces/keyValueList';
  5. type Props = {
  6. event: Event;
  7. };
  8. function DeviceInterface({event}: Props) {
  9. const data = event.device ?? {};
  10. const extras = Object.entries<any>(data.data ?? {}).map(([key, value]) => ({
  11. key,
  12. value,
  13. subject: key,
  14. isContextData: true,
  15. }));
  16. return (
  17. <EventDataSection type="device" title={t('Device')} wrapTitle>
  18. <KeyValueList
  19. isSorted={false}
  20. data={[
  21. {
  22. key: 'name',
  23. subject: t('Name'),
  24. value: data.name,
  25. },
  26. {
  27. key: 'version',
  28. subject: t('Version'),
  29. value: data.version,
  30. },
  31. {
  32. key: 'build',
  33. subject: t('Build'),
  34. value: data.build,
  35. },
  36. ...extras,
  37. ]}
  38. />
  39. </EventDataSection>
  40. );
  41. }
  42. export default DeviceInterface;