index.tsx 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import {Fragment} from 'react';
  2. import ContextBlock from 'sentry/components/events/contexts/contextBlock';
  3. import {Event} from 'sentry/types';
  4. import {getKnownData, getUnknownData} from '../utils';
  5. import {getOperatingSystemKnownDataDetails} from './getOperatingSystemKnownDataDetails';
  6. import {
  7. OperatingSystemIgnoredDataType,
  8. OperatingSystemKnownData,
  9. OperatingSystemKnownDataType,
  10. } from './types';
  11. type Props = {
  12. data: OperatingSystemKnownData;
  13. event: Event;
  14. };
  15. export const operatingSystemKnownDataValues = [
  16. OperatingSystemKnownDataType.NAME,
  17. OperatingSystemKnownDataType.VERSION,
  18. OperatingSystemKnownDataType.KERNEL_VERSION,
  19. OperatingSystemKnownDataType.ROOTED,
  20. ];
  21. const operatingSystemIgnoredDataValues = [OperatingSystemIgnoredDataType.BUILD];
  22. export function OperatingSystemEventContext({data, event}: Props) {
  23. const meta = event._meta?.contexts?.os ?? {};
  24. return (
  25. <Fragment>
  26. <ContextBlock
  27. data={getKnownData<OperatingSystemKnownData, OperatingSystemKnownDataType>({
  28. data,
  29. meta,
  30. knownDataTypes: operatingSystemKnownDataValues,
  31. onGetKnownDataDetails: v => getOperatingSystemKnownDataDetails(v),
  32. })}
  33. />
  34. <ContextBlock
  35. data={getUnknownData({
  36. allData: data,
  37. knownKeys: [
  38. ...operatingSystemKnownDataValues,
  39. ...operatingSystemIgnoredDataValues,
  40. ],
  41. meta,
  42. })}
  43. />
  44. </Fragment>
  45. );
  46. }