diff --git a/src/src/app/shared/filesize.pipe.ts b/src/src/app/shared/filesize.pipe.ts new file mode 100644 index 0000000..3af6cd5 --- /dev/null +++ b/src/src/app/shared/filesize.pipe.ts @@ -0,0 +1,12 @@ +import { Pipe, PipeTransform } from '@angular/core'; + +@Pipe({ name: 'fileSize', standalone: true }) +export class FileSizePipe implements PipeTransform { + transform(bytes: number, digits: number = 2): string { + if (isNaN(bytes) || bytes === 0) return '0 B'; + + const sizes = ['B', 'KB', 'MB', 'GB', 'TB']; + const i = Math.floor(Math.log(bytes) / Math.log(1024)); + return `${parseFloat((bytes / Math.pow(1024, i)).toFixed(digits))} ${sizes[i]}`; + } +}