Skip to content

Commit fbd8856

Browse files
authored
Refactor byte size formatting across components to use formatBytes utility for improved consistency and readability. Update related components to reflect MiB instead of MB for accurate representation of file sizes. (#514)
1 parent bc54717 commit fbd8856

File tree

8 files changed

+31
-31
lines changed

8 files changed

+31
-31
lines changed

apps/frontend/src/components/molecules/FileCard.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
'use client';
22

3-
import bytes from 'bytes';
43
import { Popover, PopoverButton, PopoverPanel } from '@headlessui/react';
54
import {
65
Download,
@@ -18,6 +17,7 @@ import { shortenString } from 'utils/misc';
1817
import { useNetwork } from 'contexts/network';
1918
import { ROUTES } from '@auto-drive/ui';
2019
import { OffchainMetadata } from '@autonomys/auto-drive';
20+
import { formatBytes } from '../../utils/number';
2121

2222
interface FileCardProps {
2323
icon?: React.ReactNode;
@@ -100,7 +100,7 @@ export const FileCard = ({
100100
<h2 className='dark:text-darkBlack mb-2 text-lg font-semibold text-gray-800'>
101101
{name ? shortenString(name, 20) : shortenString(cid, 20)}
102102
</h2>
103-
<p className='mb-4 text-gray-500'>Size: {bytes(Number(size))}</p>
103+
<p className='mb-4 text-gray-500'>Size: {formatBytes(Number(size))}</p>
104104
<button
105105
onClick={handleDownloadClick}
106106
className='flex w-full items-center justify-center rounded-lg bg-blue-500 px-4 py-2 font-semibold text-white hover:bg-blue-600'

apps/frontend/src/components/organisms/FileTable/FileTableRow.tsx

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import { Triangle } from '@/components/atoms/Triangle';
2323
import { shortenString } from 'utils/misc';
2424
import { ConditionalRender } from '@/components/atoms/ConditionalRender';
2525
import { FileActionButtons } from '@/components/organisms/FileTable';
26-
import bytes from 'bytes';
2726
import { Button, NetworkId } from '@auto-drive/ui';
2827
import { File, Folder, MoreVertical } from 'lucide-react';
2928
import { OwnerBadge } from './OwnerBadge';
@@ -39,6 +38,7 @@ import { CopiableText } from '@/components/atoms/CopiableText';
3938
import toast from 'react-hot-toast';
4039
import { useUserAsyncDownloadsStore } from '../UserAsyncDownloads/state';
4140
import { useFileInCache } from '@/hooks/useFileInCache';
41+
import { formatBytes } from '../../../utils/number';
4242

4343
export const FileTableRow = ({
4444
file,
@@ -215,7 +215,7 @@ export const FileTableRow = ({
215215
<Fragment key={file.headCid}>
216216
<TableBodyRow
217217
className={cn(
218-
'hover:bg-background-hover hover:text-background-hover-foreground bg-background text-foreground',
218+
'bg-background text-foreground hover:bg-background-hover hover:text-background-hover-foreground',
219219
isSelected && 'bg-blue-50 dark:bg-blue-900/20',
220220
isFolder && 'cursor-pointer',
221221
)}
@@ -279,7 +279,7 @@ export const FileTableRow = ({
279279
<TableBodyCell>
280280
<Badge label={file.status} status={file.status} />
281281
</TableBodyCell>
282-
<TableBodyCell>{bytes(Number(file.size))}</TableBodyCell>
282+
<TableBodyCell>{formatBytes(Number(file.size))}</TableBodyCell>
283283
<TableBodyCell>
284284
<div className='group relative'>
285285
<span className='flex cursor-default items-center'>
@@ -430,7 +430,7 @@ export const FileTableRow = ({
430430
<TableBodyRow
431431
key={child.cid}
432432
className={cn(
433-
'hover:bg-background-hover hover:text-background-hover-foreground bg-background text-foreground',
433+
'bg-background text-foreground hover:bg-background-hover hover:text-background-hover-foreground',
434434
isChildSelected && 'bg-blue-50 dark:bg-blue-900/20',
435435
isChildFolder && 'cursor-pointer',
436436
)}
@@ -472,7 +472,9 @@ export const FileTableRow = ({
472472
<TableBodyCell>
473473
<OwnerBadge />
474474
</TableBodyCell>
475-
<TableBodyCell>{bytes(Number(child.totalSize))}</TableBodyCell>
475+
<TableBodyCell>
476+
{formatBytes(Number(child.totalSize))}
477+
</TableBodyCell>
476478
<TableBodyCell>
477479
{child.type === 'file' ? 'File' : 'Folder'}
478480
</TableBodyCell>

apps/frontend/src/components/organisms/ObjectDetails/ObjectUploadDetails.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@ import {
55
InformationCircleIcon,
66
} from '@heroicons/react/24/outline';
77
import { getTypeFromMetadata } from '../../../utils/file';
8-
import { formatNumberWithCommas } from '../../../utils/number';
8+
import { formatBytes, formatNumberWithCommas } from '../../../utils/number';
99
import { EXTERNAL_ROUTES } from '@auto-drive/ui';
10-
import bytes from 'bytes';
1110

1211
export const ObjectUploadDetails = ({
1312
object,
@@ -16,7 +15,6 @@ export const ObjectUploadDetails = ({
1615
object: ObjectInformation;
1716
isOwner: boolean;
1817
}) => {
19-
2018
return (
2119
<div className='grid grid-cols-1 gap-6 md:grid-cols-2'>
2220
<div className='dark:bg-darkWhite rounded-lg border border-gray-200 p-6 dark:border-gray-200'>
@@ -51,7 +49,7 @@ export const ObjectUploadDetails = ({
5149
Size:
5250
</span>
5351
<span className='text-sm font-medium'>
54-
{bytes(Number(object.metadata.totalSize))}
52+
{formatBytes(Number(object.metadata.totalSize))}
5553
</span>
5654
</div>
5755
<div className='flex justify-between'>

apps/frontend/src/components/organisms/UserTable/CreditsUpdateModal.tsx

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ export const CreditsUpdateModal = ({
8383
leaveFrom='opacity-100'
8484
leaveTo='opacity-0'
8585
>
86-
<div className='bg-background-hover fixed inset-0' />
86+
<div className='fixed inset-0 bg-background-hover' />
8787
</TransitionChild>
8888

8989
<div className='fixed inset-0 overflow-y-auto'>
@@ -128,41 +128,41 @@ export const CreditsUpdateModal = ({
128128
<div className='flex items-center space-x-2'>
129129
<input
130130
type='text'
131-
className='border-background-hover bg-background-hover text-foreground-hover w-full rounded border px-2 py-1'
131+
className='text-foreground-hover w-full rounded border border-background-hover bg-background-hover px-2 py-1'
132132
placeholder='Download credits'
133133
value={downloadCredits}
134134
onChange={(e) => setDownloadCredits(e.target.value)}
135135
/>
136136
<select
137-
className='border-background-hover bg-background-hover text-foreground-hover rounded border px-2 py-1'
137+
className='text-foreground-hover rounded border border-background-hover bg-background-hover px-2 py-1'
138138
value={downloadCreditsUnit}
139139
onChange={(e) =>
140140
setDownloadCreditsUnit(Number(e.target.value))
141141
}
142142
>
143-
<option value={1024 ** 2}>MB</option>
144-
<option value={1024 ** 3}>GB</option>
145-
<option value={1024 ** 4}>TB</option>
143+
<option value={1024 ** 2}>MiB</option>
144+
<option value={1024 ** 3}>GiB</option>
145+
<option value={1024 ** 4}>TiB</option>
146146
</select>
147147
</div>
148148
<div className='flex items-center space-x-2'>
149149
<input
150150
type='text'
151-
className='border-background-hover bg-background-hover text-foreground-hover w-full rounded border px-2 py-1'
151+
className='text-foreground-hover w-full rounded border border-background-hover bg-background-hover px-2 py-1'
152152
placeholder='Upload credits'
153153
value={uploadCredits}
154154
onChange={(e) => setUploadCredits(e.target.value)}
155155
/>
156156
<select
157-
className='border-background-hover bg-background-hover text-foreground-hover rounded border px-2 py-1'
157+
className='text-foreground-hover rounded border border-background-hover bg-background-hover px-2 py-1'
158158
value={uploadCreditsUnit}
159159
onChange={(e) =>
160160
setUploadCreditsUnit(Number(e.target.value))
161161
}
162162
>
163-
<option value={1024 ** 2}>MB</option>
164-
<option value={1024 ** 3}>GB</option>
165-
<option value={1024 ** 4}>TB</option>
163+
<option value={1024 ** 2}>MiB</option>
164+
<option value={1024 ** 3}>GiB</option>
165+
<option value={1024 ** 4}>TiB</option>
166166
</select>
167167
</div>
168168
<div className='flex justify-end'>

apps/frontend/src/components/views/PurchaseCredits/CreditCurrentPrice.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { usePrices } from '../../../hooks/usePrices';
22

3-
const MB = 10 ** 6;
3+
const MiB = 1024 ** 2;
44

55
export const CreditCurrentPrice = () => {
66
const { shannonsPerByte, formatCreditsAsAi3 } = usePrices();
@@ -12,7 +12,7 @@ export const CreditCurrentPrice = () => {
1212
<div className='text-sm opacity-90'>Current Price</div>
1313
<div className='text-3xl font-bold'>
1414
{typeof shannonsPerByte === 'number'
15-
? `${formatCreditsAsAi3(MB).toFixed(2)} AI3 per MiB`
15+
? `${formatCreditsAsAi3(MiB).toFixed(2)} AI3 per MiB`
1616
: '—'}
1717
</div>
1818
</div>

apps/frontend/src/components/views/PurchaseCredits/steps/Step2_ConfirmPurchase.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ export const PurchaseStep2ConnectWallet = ({
105105
</div>
106106
</div>
107107
<div className='text-right'>
108-
<div className='text-xl font-bold'>{sizeMB}MB</div>
108+
<div className='text-xl font-bold'>{sizeMB}MiB</div>
109109
<div className='text-xs text-muted-foreground'>Storage</div>
110110
</div>
111111
</div>
@@ -123,7 +123,7 @@ export const PurchaseStep2ConnectWallet = ({
123123
onChange={(e) => onChangeMb(e.target.value)}
124124
/>
125125
) : (
126-
<span>{sizeMB}MB</span>
126+
<span>{sizeMB}MiB</span>
127127
)
128128
}
129129
/>
@@ -181,7 +181,7 @@ export const PurchaseStep2ConnectWallet = ({
181181
/>
182182
<InfoRow
183183
label='After Purchase'
184-
value={<span className='font-semibold'>{sizeMB}MB</span>}
184+
value={<span className='font-semibold'>{sizeMB}MiB</span>}
185185
className='rounded-md bg-primary/20 p-4'
186186
accent
187187
/>

apps/frontend/src/components/views/PurchaseCredits/steps/Step4_Success.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ export const PurchaseStep4Success = ({
2626
<InfoRow
2727
className='items-center font-bold'
2828
label='Storage Added'
29-
value={<span>{sizeMB}MB</span>}
29+
value={<span>{sizeMB}MiB</span>}
3030
/>
3131
<InfoRow
3232
label='AI3 Paid'
@@ -63,7 +63,7 @@ export const PurchaseStep4Success = ({
6363
label='Credits Added'
6464
value={
6565
<span className='font-bold text-primary'>
66-
{Number(context.sizeMB)} MB
66+
{Number(context.sizeMB)} MiB
6767
</span>
6868
}
6969
/>

apps/frontend/src/services/download.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@ export const createDownloadService = (api: Api) => {
7979
}
8080
};
8181

82-
const MB = 1024 * 1024;
83-
const MAX_CACHEABLE_FILE_SIZE = 150 * MB;
82+
const MiB = 1024 * 1024;
83+
const MAX_CACHEABLE_FILE_SIZE = 150 * MiB;
8484

8585
const getObjectStoreName = () => {
8686
const objectStoreVersion =

0 commit comments

Comments
 (0)