* stash * refactor, working in non-collab + collab editor * attachment styling * Avoid crypto require in browser * AttachmentIcon, handling unknown types * Do not allow attachment creation for file sizes over limit * Allow image as file attachment * Upload placeholder styling * lint * Refactor: Do not use placeholder for file attachmentuploads * Add loading spinner * fix: Extra paragraphs around attachments on insert * Bump editor * fix build error * Remove attachment placeholder when upload fails * Remove unused styles * fix: Attachments on shared pages * Merge fixes
22 lines
499 B
TypeScript
22 lines
499 B
TypeScript
/**
|
|
* Converts bytes to human readable string for display
|
|
*
|
|
* @param bytes filesize in bytes
|
|
* @returns Human readable filesize as a string
|
|
*/
|
|
export const bytesToHumanReadable = (bytes: number) => {
|
|
const out = ("0".repeat((bytes.toString().length * 2) % 3) + bytes).match(
|
|
/.{3}/g
|
|
);
|
|
|
|
if (!out || bytes < 1000) {
|
|
return bytes + " Bytes";
|
|
}
|
|
|
|
const f = out[1].substring(0, 2);
|
|
|
|
return `${Number(out[0])}${f === "00" ? "" : `.${f}`} ${
|
|
" kMGTPEZY"[out.length]
|
|
}B`;
|
|
};
|