feat: ajout de la fonctionnalité de monitoring des mangas, incluant l'activation et la désactivation du suivi, la synchronisation des chapitres, et la mise à jour de l'API pour gérer ces nouvelles actions. Création de nouveaux composants Vue pour le rafraîchissement des chapitres et l'affichage des notifications. Intégration de tests unitaires pour valider le bon fonctionnement de ces fonctionnalités.

This commit is contained in:
ext.jeremy.guillot@maxicoffee.domains
2025-07-22 15:57:25 +02:00
parent d9e78b5229
commit 00d63dffeb
45 changed files with 2021 additions and 264 deletions

View File

@@ -195,11 +195,37 @@ export const useMangaStore = defineStore('manga', {
this.chaptersError = null;
try {
// Déclenche la récupération initiale des chapitres depuis la source externe
await mangaRepository.fetchMangaChapters(mangaId);
this.mangaChapters[mangaId] = chaptersData;
console.log('Chapitres récupérés avec succès');
console.log('Récupération initiale des chapitres déclenchée avec succès');
// Note: Les nouveaux chapitres seront disponibles après traitement asynchrone
// Le MercureListener se chargera de mettre à jour l'interface
} catch (err) {
this.chaptersError = err.message;
console.error('Erreur lors de la récupération des chapitres:', err);
throw err;
} finally {
this.loadingChapters = false;
}
},
async refreshMangaChapters(mangaId) {
if (this.loadingChapters) return;
this.loadingChapters = true;
this.chaptersError = null;
try {
// Déclenche la synchronisation incrémentale avec scraping automatique
await mangaRepository.refreshMangaChapters(mangaId);
console.log('Synchronisation incrémentale déclenchée avec succès');
// Note: Les chapitres mis à jour seront disponibles après traitement asynchrone
// Le MercureListener se chargera de mettre à jour l'interface
} catch (err) {
this.chaptersError = err.message;
console.error('Erreur lors de la synchronisation des chapitres:', err);
throw err;
} finally {
this.loadingChapters = false;
}