-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.ts
More file actions
55 lines (43 loc) · 1.4 KB
/
types.ts
File metadata and controls
55 lines (43 loc) · 1.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import React from 'react';
import { DBItem, Tag } from './utils/db';
export interface FeatureCardProps {
title: string;
description: string;
icon: React.ReactNode;
}
export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
variant?: 'primary' | 'outline';
children: React.ReactNode;
}
// --- App Core Types ---
export interface FileSystemItem extends Omit<DBItem, 'fileData'> {
url?: string;
rawBlob?: Blob;
}
export interface LocationItem {
id: string; name: string; lat: number; lng: number; region: string;
}
export type ViewState = 'dashboard' | 'search' | 'trash' | 'settings' | 'storage' | 'themes' | 'fonts' | 'about' | 'vault';
export type AppTheme = 'dark' | 'light' | 'system';
// --- Theme Types ---
export type ThemeCategory = 'Neon' | 'Dark' | 'Light' | 'Nature' | 'Ocean' | 'Space' | 'Retro' | 'Royal' | 'Sunset' | 'Tech';
export type FontCategory = 'Modern' | 'Tech' | 'Serif' | 'Display' | 'Handwriting' | 'System';
export interface ThemeConfig {
id: string;
name: string;
accent: string;
bgMain: string;
bgCard: string;
bgSurface: string;
border: string;
textMain: string;
textMuted: string;
}
export interface FontConfig {
id: string;
name: string;
family: string;
category: FontCategory;
}
// --- CRYPTO TYPES ---
export type CryptoAlgorithm = 'AES-GCM' | 'AES-CTR' | 'ChaCha20-Poly1305' | 'XChaCha20-Poly1305' | 'Salsa20-Poly1305';