1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import {useMemo} from 'react';
- import {iOSDeviceMapping} from 'sentry/constants/ios-device-list';
- export function deviceNameMapper(model: string | undefined): string | null {
-
- if (typeof model !== 'string') {
- return null;
- }
-
- if (module === null) {
- return model;
- }
- const [identifier, ...rest] = model.split(' ');
- const modelName = iOSDeviceMapping[identifier];
- return modelName === undefined ? model : `${modelName} ${rest.join(' ')}`;
- }
- interface DeviceNameProps {
- value: string;
- children?: (name: string) => React.ReactNode;
- }
- function DeviceName({value, children}: DeviceNameProps): React.ReactElement | null {
- const deviceName = useMemo(() => deviceNameMapper(value), [value]);
- return deviceName ? (
- <span data-test-id="loaded-device-name">
- {children ? children(deviceName) : deviceName}
- </span>
- ) : null;
- }
- export {DeviceName};
|