38f58327c4
- Rewrite all components to use Tailwind utility classes (Tailwind v4 broke custom CSS classes) - New landing page at / with hero, features bento grid, how-it-works, privacy section - Converter tool moved to /convert route - Fonts: Fraunces (serif headlines) + Plus Jakarta Sans (body) + JetBrains Mono (labels) - Warm cream palette with pastel category colors (pink, blue, purple, orange, mint) - Remove all gradients — solid colors only throughout - Remove floating badge bounce animation - Responsive action bar and file grid for mobile - Register design tokens via @theme inline for Tailwind v4 compatibility
54 lines
1.2 KiB
TypeScript
54 lines
1.2 KiB
TypeScript
export type FileCategory = 'image' | 'document' | 'audio' | 'video' | 'data' | 'unknown';
|
|
|
|
export type ConversionStatus = 'idle' | 'converting' | 'done' | 'error';
|
|
|
|
export interface UploadedFile {
|
|
id: string;
|
|
file: File;
|
|
name: string;
|
|
size: number;
|
|
type: string;
|
|
category: FileCategory;
|
|
extension: string;
|
|
preview?: string;
|
|
targetFormat: string | null;
|
|
availableFormats: string[];
|
|
status: ConversionStatus;
|
|
progress: number;
|
|
convertedBlob?: Blob;
|
|
convertedName?: string;
|
|
error?: string;
|
|
}
|
|
|
|
export interface ConversionResult {
|
|
blob: Blob;
|
|
filename: string;
|
|
}
|
|
|
|
export const CATEGORY_COLORS: Record<FileCategory, string> = {
|
|
image: '#f472b6', // soft pink
|
|
document: '#60a5fa', // soft blue
|
|
audio: '#a78bfa', // soft purple
|
|
video: '#fb923c', // soft orange
|
|
data: '#34d399', // soft mint
|
|
unknown: '#94a3b8', // soft slate
|
|
};
|
|
|
|
export const CATEGORY_ICONS: Record<FileCategory, string> = {
|
|
image: '\u{1F5BC}',
|
|
document: '\u{1F4C4}',
|
|
audio: '\u{1F3B5}',
|
|
video: '\u{1F3AC}',
|
|
data: '\u{1F4CA}',
|
|
unknown: '\u{1F4C1}',
|
|
};
|
|
|
|
export const CATEGORY_LABELS: Record<FileCategory, string> = {
|
|
image: 'Image',
|
|
document: 'Document',
|
|
audio: 'Audio',
|
|
video: 'Video',
|
|
data: 'Data',
|
|
unknown: 'File',
|
|
};
|