diff --git a/routes/rss.routes.js b/routes/rss.routes.js index 92865f2..a953271 100644 --- a/routes/rss.routes.js +++ b/routes/rss.routes.js @@ -157,15 +157,17 @@ const ARTICLES_CACHE_DURATION = 30000; // 30 secondes /** * GET /api/rss/articles - * Récupérer les 5 derniers articles (avec cache) + * Récupérer les articles RSS (avec cache et paramètre limit) */ router.get('/articles', async (req, res) => { try { + const limit = parseInt(req.query.limit) || 5; + // Utiliser le cache si disponible et récent const now = Date.now(); if (articlesCache && (now - articlesCacheTime) < ARTICLES_CACHE_DURATION) { logger.debug('Articles RSS servis depuis le cache'); - return res.json(articlesCache); + return res.json(articlesCache.slice(0, limit)); } const articles = await getAll(` @@ -176,8 +178,8 @@ router.get('/articles', async (req, res) => { LEFT JOIN rss_feeds f ON a.feed_id = f.id WHERE a.pub_date IS NOT NULL ORDER BY a.pub_date DESC - LIMIT 5 - `); + LIMIT ? + `, [limit]); // Mettre en cache articlesCache = articles || []; diff --git a/src/pages/Index.tsx b/src/pages/Index.tsx index 8980b93..47fd352 100644 --- a/src/pages/Index.tsx +++ b/src/pages/Index.tsx @@ -223,16 +223,15 @@ const Index = () => { }; const loadOpenRouterModels = async () => { - if (settings.openrouter_api_key) { - setLoadingModels(true); - try { - const models = await OpenRouterService.getModels(); - setOpenRouterModels(models); - } catch (error) { - console.error("Erreur lors du chargement des modèles:", error); - } finally { - setLoadingModels(false); - } + setLoadingModels(true); + try { + const models = await OpenRouterService.getModels(); + setOpenRouterModels(models); + } catch (error) { + console.error("Erreur lors du chargement des modèles:", error); + setOpenRouterModels([]); // Vider en cas d'erreur + } finally { + setLoadingModels(false); } }; @@ -1934,70 +1933,6 @@ const Index = () => {
-- {settings.openrouter_api_key - ? `${openRouterModels.length} modèles disponibles. Cliquez sur "Actualiser" pour charger la liste.` - : "Ajoutez d'abord une clé API pour voir les modèles disponibles."} -
-