import styled from '@emotion/styled'; import {DeviceName} from 'sentry/components/deviceName'; import AnnotatedText from 'sentry/components/events/meta/annotatedText'; import {getMeta} from 'sentry/components/events/meta/metaProxy'; import TextOverflow from 'sentry/components/textOverflow'; import {t} from 'sentry/locale'; import space from 'sentry/styles/space'; import {Meta} from 'sentry/types'; import ContextSummaryNoSummary from './contextSummaryNoSummary'; import generateClassName from './generateClassName'; import Item from './item'; type Props = { data: Data; }; type Data = { arch?: string; model?: string; model_id?: string; }; type SubTitle = { subject: string; value: string; meta?: Meta; }; const ContextSummaryDevice = ({data}: Props) => { if (Object.keys(data).length === 0) { return ; } const renderName = () => { if (!data.model) { return t('Unknown Device'); } const meta = getMeta(data, 'model'); return ( {deviceName => { return ; }} ); }; const getSubTitle = (): SubTitle | null => { if (data.arch) { return { subject: t('Arch:'), value: data.arch, meta: getMeta(data, 'arch'), }; } if (data.model_id) { return { subject: t('Model:'), value: data.model_id, meta: getMeta(data, 'model_id'), }; } return null; }; // TODO(dcramer): we need a better way to parse it const className = generateClassName(data.model); const subTitle = getSubTitle(); return ( }>

{renderName()}

{subTitle && ( {subTitle.subject} )}
); }; export default ContextSummaryDevice; const Subject = styled('strong')` margin-right: ${space(0.5)}; `;