config.ts
1 import type { YacyConfig } from './types'; 2 3 /** 4 * Configuración de la API YaCy. 5 * Todas las configuraciones relacionadas con YaCy se centralizan aquí para facilitar 6 * cambios y mantenimiento. 7 */ 8 export const yacyConfig: YacyConfig = { 9 // Asegurarse de que la URL base sea accesible desde la aplicación 10 baseUrl: 'http://localhost:8090', // URL base del servidor YaCy 11 timeout: 15000, // Timeout para peticiones (reducido a 15 segundos) 12 defaultMaxResults: 10, // Número de resultados por página por defecto 13 imageMaxResults: 50 // Número de resultados para búsquedas de imágenes (reducido para evitar sobrecarga) 14 }; 15 16 /** 17 * Tiempos de espera para diferentes operaciones (en milisegundos) 18 */ 19 export const timeouts = { 20 search: 30000, // Timeout para búsquedas (30 segundos) 21 statusCheck: 10000, // Timeout para verificar estado (10 segundos) 22 debounce: 300 // Debounce para búsqueda en tiempo real 23 }; 24 25 /** 26 * Valores por defecto para diferentes funcionalidades 27 */ 28 export const defaults = { 29 pageSize: 10, // Resultados por página 30 imagePageSize: 50, // Resultados de imágenes por página 31 language: 'all', // Idioma por defecto 32 mapCenter: { lat: 40.416775, lng: -3.703790 }, // Madrid 33 mapZoom: 13, // Nivel de zoom de mapa por defecto 34 viewColumns: 4 // Columnas de visualización por defecto 35 }; 36 37 /** 38 * Rutas API internas 39 */ 40 export const apiRoutes = { 41 search: '/api/search', // Endpoint de búsqueda 42 yacySearch: '/api/yacy/search' // Endpoint de proxy para búsqueda en YaCy 43 }; 44 45 /** 46 * Configuración de recursos externos 47 */ 48 export const external = { 49 placeholderImage: 'https://picsum.photos/800/600', // Imágenes de placeholder 50 faviconApi: 'https://www.google.com/s2/favicons' // API para obtener favicons 51 }; 52 53 /** 54 * Configuración de características 55 */ 56 export const features = { 57 useDebugMode: true, // Activar modo debug por defecto 58 enableMockData: false, // Usar datos mock por defecto 59 infiniteScroll: true, // Habilitar scroll infinito 60 lazyLoading: true // Habilitar carga perezosa de imágenes 61 };