getOperatingSystemKnownDataDetails.tsx 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import {t} from 'sentry/locale';
  2. import {defined} from 'sentry/utils';
  3. import {OperatingSystemKnownData, OperatingSystemKnownDataType} from './types';
  4. type Output = {
  5. subject: string;
  6. value: React.ReactNode | null;
  7. };
  8. type Props = {
  9. data: OperatingSystemKnownData;
  10. type: OperatingSystemKnownDataType;
  11. };
  12. export function getOperatingSystemKnownDataDetails({
  13. data,
  14. type,
  15. }: Props): Output | undefined {
  16. switch (type) {
  17. case OperatingSystemKnownDataType.NAME:
  18. return {
  19. subject: t('Name'),
  20. value: data.name,
  21. };
  22. case OperatingSystemKnownDataType.VERSION:
  23. return {
  24. subject: t('Version'),
  25. value: `${data.version}${data.build ? `(${data.build})` : ''}`,
  26. };
  27. case OperatingSystemKnownDataType.KERNEL_VERSION:
  28. return {
  29. subject: t('Kernel Version'),
  30. value: data.kernel_version,
  31. };
  32. case OperatingSystemKnownDataType.ROOTED:
  33. return {
  34. subject: t('Rooted'),
  35. value: defined(data.rooted) ? (data.rooted ? t('yes') : t('no')) : null,
  36. };
  37. default:
  38. return undefined;
  39. }
  40. }