/ src / lib / config.ts
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  };