import { ref } from 'vue'; import { useNotifications } from '../../../../shared/composables/useNotifications'; import { useMangaStore } from '../../application/store/mangaStore'; export function useMangaRefresh() { const mangaStore = useMangaStore(); const { showSuccess, showError } = useNotifications(); const isRefreshing = ref(false); const refreshError = ref(null); const refreshMetadata = async (mangaId) => { if (isRefreshing.value || !mangaId) return; isRefreshing.value = true; refreshError.value = null; try { console.log(`Début du refresh des métadonnées pour le manga ${mangaId}`); // Appel à l'endpoint de refresh des chapitres await mangaStore.refreshMangaChapters(mangaId); showSuccess('Refresh des métadonnées lancé avec succès. Les nouveaux chapitres apparaîtront sous peu.'); console.log('Refresh des métadonnées déclenché avec succès'); return true; } catch (error) { console.error('Erreur lors du refresh des métadonnées:', error); refreshError.value = error.message || 'Erreur lors du refresh des métadonnées'; showError(`Erreur lors du refresh: ${error.message || 'Une erreur inattendue est survenue'}`); throw error; } finally { isRefreshing.value = false; } }; const clearError = () => { refreshError.value = null; }; return { isRefreshing, refreshError, refreshMetadata, clearError }; }