| 12345678910111213141516171819202122232425262728293031 |
- import { type ClassValue, clsx } from 'clsx';
- export function cn(...inputs: ClassValue[]) {
- return clsx(inputs);
- }
- export function formatFileSize(bytes: number): string {
- if (bytes === 0) return '0 Bytes';
- const k = 1024;
- const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];
- const i = Math.floor(Math.log(bytes) / Math.log(k));
- return Math.round(bytes / Math.pow(k, i) * 100) / 100 + ' ' + sizes[i];
- }
- export function downloadImage(dataUrl: string, filename: string = 'generated-image.png') {
- const link = document.createElement('a');
- link.href = dataUrl;
- link.download = filename;
- document.body.appendChild(link);
- link.click();
- document.body.removeChild(link);
- }
- export function fileToBase64(file: File): Promise<string> {
- return new Promise((resolve, reject) => {
- const reader = new FileReader();
- reader.readAsDataURL(file);
- reader.onload = () => resolve(reader.result as string);
- reader.onerror = error => reject(error);
- });
- }
|