// Application configuration export interface AppConfig { cache: { maxSizeMB: number; // Maximum cache size in megabytes maxAge: number; // Maximum age of cache entries in milliseconds enabled: boolean; }; search: { maxDepth: number; // Maximum recursion depth for path search maxResults: number; // Maximum number of results to return }; } // Default configuration export const defaultConfig: AppConfig = { cache: { maxSizeMB: 10, // 10 MB default maxAge: 1000 * 60 * 30, // 30 minutes enabled: true, }, search: { maxDepth: 10, maxResults: 1000, }, }; // Load configuration from localStorage export function loadConfig(): AppConfig { try { const saved = localStorage.getItem('vaultGuiConfig'); if (saved) { return { ...defaultConfig, ...JSON.parse(saved) }; } } catch (error) { console.error('Failed to load config:', error); } return defaultConfig; } // Save configuration to localStorage export function saveConfig(config: AppConfig): void { try { localStorage.setItem('vaultGuiConfig', JSON.stringify(config)); } catch (error) { console.error('Failed to save config:', error); } }