mirror of
https://github.com/R0m1k3/noteflow.git
synced 2026-10-24 07:38:17 +02:00
UX: Titre 'À faire' + Source RSS + Tri todos + Notifications internes
1. Titre 'À faire' au lieu de 'Quick Tasks' - Changé public/index.html ligne 126 - Meilleure localisation française 2. Affichage source RSS au lieu du modèle IA - Ajout colonne feed_title à rss_summaries (migration auto) - Backend stocke feed_title lors de la génération - GET /api/rss/summaries retourne feed_title - Frontend affiche 📰 Source + 📅 Date au lieu du modèle - Plus pertinent pour l'utilisateur 3. Tri automatique des todos : actives en premier - renderTodos() trie : actives avant complétées - Si même statut : tri par ID décroissant (récentes en premier) - Sort: a.completed ? 1 : -1 4. Système de notifications internes - Remplacé TOUS les alert() par showNotification() - Types : success, error, warning, info - Animations : slide-in/slide-out depuis la droite - Auto-fermeture après 4 secondes - Bouton de fermeture manuelle - Position : top-right, z-index 300 - Icônes SVG selon le type - Couleurs : vert (success), rouge (error), jaune (warning), bleu (info) Frontend - Notifications: - showNotification(message, type, duration) - closeNotification(notification) - Container fixe en haut à droite - Empilage vertical des notifications - Escape HTML automatique CSS - Nouveaux styles: - .notifications-container (fixed, top-right) - .notification + variations par type - Animations slideInRight / slideOutRight - Border-left colorée selon le type - Responsive et accessible Impact utilisateur: ✓ Plus de popups système alert() invasives ✓ Notifications élégantes et non-bloquantes ✓ Feedback visuel clair avec icônes et couleurs ✓ Source RSS affichée au lieu du modèle IA ✓ Todos actives toujours en haut ✓ Interface 100% en français Files: - public/index.html: Titre + container notifications - public/css/skeleton.css: Styles notifications - public/js/complete-app.js: showNotification() + remplacement 40+ alert() - config/database.js: Migration feed_title - routes/rss.routes.js: Stockage et retour feed_title
This commit is contained in:
5 files changed
+260
-47
No files matched your search
@@ -241,10 +241,10 @@ Résumé (100 mots max):`;
|
||||
|
||||
const summary = response.data.choices[0].message.content;
|
||||
|
||||
// Sauvegarder le résumé individuel
|
||||
// Sauvegarder le résumé individuel avec feed_title
|
||||
await runQuery(
|
||||
'INSERT INTO rss_summaries (summary, model, articles_count, created_at) VALUES (?, ?, ?, datetime("now"))',
|
||||
[`**${article.title}**\n\n${summary}\n\n🔗 [Lire l'article](${article.link})`, selectedModel, 1]
|
||||
'INSERT INTO rss_summaries (summary, model, articles_count, feed_title, created_at) VALUES (?, ?, ?, ?, datetime("now"))',
|
||||
[`**${article.title}**\n\n${summary}\n\n🔗 [Lire l'article](${article.link})`, selectedModel, 1, article.feed_title]
|
||||
);
|
||||
|
||||
return {
|
||||
@@ -300,7 +300,7 @@ Résumé (100 mots max):`;
|
||||
router.get('/summaries', async (req, res) => {
|
||||
try {
|
||||
const summaries = await getAll(`
|
||||
SELECT id, summary, model, articles_count, created_at
|
||||
SELECT id, summary, model, articles_count, feed_title, created_at
|
||||
FROM rss_summaries
|
||||
ORDER BY created_at DESC
|
||||
LIMIT 5
|
||||
|
||||
Reference in new issue
Block a user