Skip to content

Commit b8e4c53

Browse files
committed
Cleanups
1 parent 5f357f2 commit b8e4c53

File tree

4 files changed

+37
-33
lines changed

4 files changed

+37
-33
lines changed

static/app/views/preprod/buildComparison/main/sizeCompareSelectionContent.tsx

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import {
2323
} from 'sentry/icons';
2424
import {IconBranch} from 'sentry/icons/iconBranch';
2525
import {t} from 'sentry/locale';
26-
import {formatBytesBase10} from 'sentry/utils/bytes/formatBytesBase10';
2726
import parseLinkHeader from 'sentry/utils/parseLinkHeader';
2827
import {useApiQuery, useMutation, type UseApiQueryResult} from 'sentry/utils/queryClient';
2928
import {decodeScalar} from 'sentry/utils/queryString';
@@ -35,11 +34,14 @@ import useOrganization from 'sentry/utils/useOrganization';
3534
import {useParams} from 'sentry/utils/useParams';
3635
import {
3736
BuildDetailsState,
38-
getPrimarySizeMetric,
3937
isSizeInfoCompleted,
4038
type BuildDetailsApiResponse,
4139
} from 'sentry/views/preprod/types/buildDetailsTypes';
4240
import type {ListBuildsApiResponse} from 'sentry/views/preprod/types/listBuildsTypes';
41+
import {
42+
formattedPrimaryMetricDownloadSize,
43+
formattedPrimaryMetricInstallSize,
44+
} from 'sentry/views/preprod/utils/labelUtils';
4345

4446
import {SizeCompareSelectedBuilds} from './sizeCompareSelectedBuilds';
4547

@@ -250,21 +252,13 @@ function BuildItem({build, isSelected, onSelect}: BuildItemProps) {
250252
{isSizeInfoCompleted(sizeInfo) && (
251253
<Flex align="center" gap="sm">
252254
<IconCode size="xs" color="gray300" />
253-
<Text>
254-
{formatBytesBase10(
255-
getPrimarySizeMetric(sizeInfo)?.install_size_bytes ?? 0
256-
)}
257-
</Text>
255+
<Text>{formattedPrimaryMetricInstallSize(sizeInfo)}</Text>
258256
</Flex>
259257
)}
260258
{isSizeInfoCompleted(sizeInfo) && (
261259
<Flex align="center" gap="sm">
262260
<IconDownload size="xs" color="gray300" />
263-
<Text>
264-
{formatBytesBase10(
265-
getPrimarySizeMetric(sizeInfo)?.download_size_bytes ?? 0
266-
)}
267-
</Text>
261+
<Text>{formattedPrimaryMetricDownloadSize(sizeInfo)}</Text>
268262
</Flex>
269263
)}
270264
</Flex>

static/app/views/preprod/buildDetails/sidebar/buildDetailsSidebarAppInfo.tsx

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,13 @@ import {openInstallModal} from 'sentry/views/preprod/components/installModal';
1515
import {MetricsArtifactType} from 'sentry/views/preprod/types/appSizeTypes';
1616
import {
1717
BuildDetailsSizeAnalysisState,
18-
getPrimarySizeMetric,
18+
getMainArtifactSizeMetric,
1919
type BuildDetailsAppInfo,
2020
type BuildDetailsSizeInfo,
2121
} from 'sentry/views/preprod/types/buildDetailsTypes';
2222
import {
23+
formattedPrimaryMetricDownloadSize,
24+
formattedPrimaryMetricInstallSize,
2325
getLabels,
2426
getPlatformIconFromPlatform,
2527
getReadableArtifactTypeLabel,
@@ -47,20 +49,16 @@ export function BuildDetailsSidebarAppInfo(props: BuildDetailsSidebarAppInfoProp
4749
props.sizeInfo &&
4850
props.sizeInfo.state === BuildDetailsSizeAnalysisState.COMPLETED
4951
) {
50-
const primarySizeMetric = getPrimarySizeMetric(props.sizeInfo);
52+
const primarySizeMetric = getMainArtifactSizeMetric(props.sizeInfo);
5153
const watchAppMetrics = props.sizeInfo.size_metrics.find(
5254
metric => metric.metrics_artifact_type === MetricsArtifactType.WATCH_ARTIFACT
5355
);
5456

5557
let installSizeContent = (
56-
<Text size="md">
57-
{formatBytesBase10(primarySizeMetric?.install_size_bytes ?? 0)}
58-
</Text>
58+
<Text size="md">{formattedPrimaryMetricInstallSize(props.sizeInfo)}</Text>
5959
);
6060
let downloadSizeContent = (
61-
<Text size="md">
62-
{formatBytesBase10(primarySizeMetric?.download_size_bytes ?? 0)}
63-
</Text>
61+
<Text size="md">{formattedPrimaryMetricDownloadSize(props.sizeInfo)}</Text>
6462
);
6563
if (watchAppMetrics) {
6664
installSizeContent = (
@@ -88,7 +86,7 @@ export function BuildDetailsSidebarAppInfo(props: BuildDetailsSidebarAppInfoProp
8886
position="left"
8987
>
9088
<Text size="md" underline="dotted">
91-
{formatBytesBase10(primarySizeMetric?.install_size_bytes ?? 0)}
89+
{formattedPrimaryMetricInstallSize(props.sizeInfo)}
9290
</Text>
9391
</Tooltip>
9492
);
@@ -117,7 +115,7 @@ export function BuildDetailsSidebarAppInfo(props: BuildDetailsSidebarAppInfoProp
117115
position="left"
118116
>
119117
<Text size="md" underline="dotted">
120-
{formatBytesBase10(primarySizeMetric?.download_size_bytes ?? 0)}
118+
{formattedPrimaryMetricDownloadSize(props.sizeInfo)}
121119
</Text>
122120
</Tooltip>
123121
);

static/app/views/preprod/types/buildDetailsTypes.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ export function isSizeInfoProcessing(
9191
);
9292
}
9393

94-
export function getPrimarySizeMetric(
94+
export function getMainArtifactSizeMetric(
9595
sizeInfo: BuildDetailsSizeInfoCompleted
9696
): BuildDetailsSizeInfoSizeMetric | undefined {
9797
return sizeInfo.size_metrics.find(

static/app/views/preprod/utils/labelUtils.tsx

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ import {formatBytesBase10} from 'sentry/utils/bytes/formatBytesBase10';
33
import {unreachable} from 'sentry/utils/unreachable';
44
import {
55
BuildDetailsArtifactType,
6-
getPrimarySizeMetric,
6+
getMainArtifactSizeMetric,
77
isSizeInfoCompleted,
8-
type BuildDetailsApiResponse,
8+
type BuildDetailsSizeInfo,
99
} from 'sentry/views/preprod/types/buildDetailsTypes';
1010
import type {Platform} from 'sentry/views/preprod/types/sharedTypes';
1111

@@ -115,18 +115,30 @@ export function getReadablePlatformLabel(platform: Platform): string {
115115
}
116116
}
117117

118-
export function formattedInstallSize(build: BuildDetailsApiResponse): string {
119-
if (isSizeInfoCompleted(build?.size_info)) {
120-
const primarySizeMetric = getPrimarySizeMetric(build.size_info);
121-
return formatBytesBase10(primarySizeMetric?.install_size_bytes ?? 0);
118+
export function formattedPrimaryMetricInstallSize(
119+
sizeInfo: BuildDetailsSizeInfo | undefined
120+
): string {
121+
if (isSizeInfoCompleted(sizeInfo)) {
122+
const primarySizeMetric = getMainArtifactSizeMetric(sizeInfo);
123+
if (!primarySizeMetric) {
124+
return '-';
125+
}
126+
127+
return formatBytesBase10(primarySizeMetric.install_size_bytes);
122128
}
123129
return '-';
124130
}
125131

126-
export function formattedDownloadSize(build: BuildDetailsApiResponse): string {
127-
if (isSizeInfoCompleted(build?.size_info)) {
128-
const primarySizeMetric = getPrimarySizeMetric(build.size_info);
129-
return formatBytesBase10(primarySizeMetric?.download_size_bytes ?? 0);
132+
export function formattedPrimaryMetricDownloadSize(
133+
sizeInfo: BuildDetailsSizeInfo | undefined
134+
): string {
135+
if (isSizeInfoCompleted(sizeInfo)) {
136+
const primarySizeMetric = getMainArtifactSizeMetric(sizeInfo);
137+
if (!primarySizeMetric) {
138+
return '-';
139+
}
140+
141+
return formatBytesBase10(primarySizeMetric.download_size_bytes);
130142
}
131143
return '-';
132144
}

0 commit comments

Comments
 (0)