Feature: Remplacement de tous les prompts par des modaux + Fix RSS refresh

Modaux :
- Création ConfirmModal pour confirmations avec variants (default/destructive)
- Création InputModal pour saisie de texte/URL/mot de passe
- Création AddUserModal pour création d'utilisateur avec admin checkbox
- Remplacement de tous les prompt() et confirm() par des modaux modernes
- Modaux pour : suppression note, ajout todo, ajout RSS, ajout utilisateur, suppression utilisateur, changement mot de passe, ajout todo dans note

Fix RSS :
- Ajout route POST /api/rss/refresh (alias de /api/rss/fetch)
- Fix uploadImage retour avec result.image || result

UX améliorée :
- Plus de popups navigateur natifs
- Interface cohérente et moderne
- Validation dans les modaux
- Support touche Entrée dans les InputModals
- Auto-focus sur le champ de saisie
This commit is contained in:
Claude committed 2025-11-12 09:24:16 +00:00
1 parent 702d0c2088
commit f8ec63b5ef
6 files changed
+409 -81

No files matched your search

+20
View File
@@ -130,6 +130,26 @@ router.post('/fetch', requireAdmin, async (req, res) => {
}
});
/**
* POST /api/rss/refresh
* Alias pour fetch (pour compatibilité)
*/
router.post('/refresh', requireAdmin, async (req, res) => {
try {
const rssScheduler = require('../services/rss-scheduler');
await rssScheduler.manualFetch();
// Invalider le cache
articlesCache = null;
articlesCacheTime = 0;
res.json({ message: 'Mise à jour des flux RSS terminée avec succès' });
} catch (error) {
logger.error('Erreur lors du refresh des flux RSS:', error);
res.status(500).json({ error: 'Erreur serveur' });
}
});
// Cache pour les articles RSS (30 secondes)
let articlesCache = null;
let articlesCacheTime = 0;