Skip to content

Commit 61c41df

Browse files
Fix bugs
1 parent d837d77 commit 61c41df

File tree

2 files changed

+23
-32
lines changed

2 files changed

+23
-32
lines changed

src/containers/Node/NodeNetwork/columns.ts

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ import {
1212
} from '../../../components/nodesColumns/columns';
1313
import type {GetNodesColumnsParams} from '../../../components/nodesColumns/types';
1414
import {EMPTY_DATA_PLACEHOLDER} from '../../../lib';
15+
import {formatBytes} from '../../../utils/bytesParsers';
1516
import {formatDateTime} from '../../../utils/dataFormatters/dataFormatters';
1617
import type {Column} from '../../../utils/tableUtils/types';
17-
import {bytesToMB, isNumeric} from '../../../utils/utils';
1818

1919
import {
2020
NODE_NETWORK_COLUMNS_IDS,
@@ -35,15 +35,22 @@ function getPeerConnectTimeColumn<T extends {ConnectTime?: string}>(): Column<T>
3535
};
3636
}
3737

38+
function renderSent(bytes?: number | string) {
39+
return formatBytes({
40+
value: bytes,
41+
size: 'mb',
42+
withSizeLabel: true,
43+
});
44+
}
45+
3846
function getPeerSentBytesColumn<T extends {BytesSend?: string | number}>(): Column<T> {
3947
return {
4048
name: NODE_NETWORK_COLUMNS_IDS.BytesSend,
4149
header: NODE_NETWORK_COLUMNS_TITLES.BytesSend,
4250
align: DataTable.RIGHT,
4351
width: 140,
4452
resizeMinWidth: 120,
45-
render: ({row}) =>
46-
isNumeric(row.BytesSend) ? bytesToMB(row.BytesSend, 0, true) : EMPTY_DATA_PLACEHOLDER,
53+
render: ({row}) => renderSent(row.BytesSend) ?? EMPTY_DATA_PLACEHOLDER,
4754
};
4855
}
4956

@@ -54,10 +61,7 @@ function getPeerReceivedBytesColumn<T extends {BytesReceived?: string | number}>
5461
align: DataTable.RIGHT,
5562
width: 160,
5663
resizeMinWidth: 130,
57-
render: ({row}) =>
58-
isNumeric(row.BytesReceived)
59-
? bytesToMB(row.BytesReceived, 0, true)
60-
: EMPTY_DATA_PLACEHOLDER,
64+
render: ({row}) => renderSent(row.BytesReceived) ?? EMPTY_DATA_PLACEHOLDER,
6165
};
6266
}
6367

src/utils/utils.ts

Lines changed: 12 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -34,40 +34,27 @@ export function bytesToSize(bytes: number) {
3434
return val.toPrecision(3) + sizes[i];
3535
}
3636

37-
function formatMbWithMaxFractionDigits(value: number, fractionDigits?: number): string {
38-
if (isNumeric(fractionDigits)) {
39-
const fixed = value.toFixed(fractionDigits);
40-
const trimmed = fixed.replace(/\.?0+$/, '');
41-
42-
return trimmed === '' ? '0' : trimmed;
43-
}
44-
45-
if (value < 10) {
46-
return value.toFixed(2);
47-
} else if (value < 100) {
48-
return value.toFixed(1);
49-
}
50-
51-
return value.toFixed();
52-
}
53-
54-
export function bytesToMB(
55-
bytes?: number | string,
56-
fractionDigits?: number,
57-
withThousandsGrouping?: boolean,
58-
) {
37+
export function bytesToMB(bytes?: number | string, fractionDigits?: number) {
5938
const bytesNumber = Number(bytes);
6039
if (isNaN(bytesNumber)) {
6140
return '';
6241
}
6342

6443
const val = bytesNumber / base ** 2;
6544

66-
const roundedStr = formatMbWithMaxFractionDigits(val, fractionDigits);
45+
if (isNumeric(fractionDigits)) {
46+
const rounded = Number(val.toFixed(fractionDigits));
6747

68-
const result = withThousandsGrouping ? formatNumber(roundedStr) : roundedStr;
48+
return String(rounded) + sizes[2];
49+
}
6950

70-
return `${result}${sizes[2]}`;
51+
if (val < 10) {
52+
return val.toFixed(2) + sizes[2];
53+
} else if (val < 100) {
54+
return val.toFixed(1) + sizes[2];
55+
} else {
56+
return val.toFixed() + sizes[2];
57+
}
7158
}
7259

7360
export function bytesToSpeed(bytes?: number | string, fractionDigits?: number) {

0 commit comments

Comments
 (0)