feat: intégration de @tanstack/vue-query pour la gestion des requêtes dans l'application Vue, ajout de nouveaux composables pour les chapitres et les détails des mangas, et mise à jour du store pour une meilleure gestion des états de chargement et d'erreur

This commit is contained in:
ext.jeremy.guillot@maxicoffee.domains
2025-03-30 16:58:05 +02:00
parent fd2d3cd640
commit 71242433e6
10 changed files with 355 additions and 169 deletions

View File

@@ -0,0 +1,25 @@
import { VueQueryPlugin, QueryClient } from '@tanstack/vue-query';
// Créez une instance de QueryClient
const queryClient = new QueryClient({
defaultOptions: {
queries: {
// Options par défaut pour toutes les requêtes (queries)
staleTime: 5 * 60 * 1000, // 5 minutes: temps pendant lequel les données sont considérées "fraîches" (ne déclenche pas de re-fetch en arrière-plan juste en montant le composant)
gcTime: 10 * 60 * 1000, // 10 minutes: temps avant que les données inactives soient supprimées du cache (garbage collected)
retry: 1, // Nombre de tentatives en cas d'erreur
refetchOnWindowFocus: true // Re-fetcher quand la fenêtre reprend le focus (bon pour garder les données à jour)
}
}
});
export const vueQueryPluginOptions = {
queryClient // Fournir le client au plugin
};
export const installVueQuery = app => {
app.use(VueQueryPlugin, vueQueryPluginOptions);
};
// Exportez aussi le client si vous avez besoin d'y accéder directement ailleurs (rare)
export { queryClient };