import { defineStore } from 'pinia' import type { List } from '~/types/lists' export const useListStore = defineStore('lists', { state: () => ({ lists: [] as List[], loading: false as boolean, }), actions: { saveLists(lists:Array){ this.lists = lists }, resetLists(){ this.lists = [] }, async fetchLists() { // On récupère notre plugin API injecté const { $api } = useNuxtApp(); this.loading = true; try { // L'appel est maintenant ultra simple et typé const data = await $api.lists.getAll(); this.lists = data; } catch (error) { // La gestion d'erreur est centralisée, // mais tu peux ajouter une logique spécifique ici (ex: notification) console.error("Erreur lors du chargement des listes:", error); throw error; } finally { this.loading = false; } } // async updateList(id, title, content) { // const config = useRuntimeConfig(); // try { // const data = await $fetch<[]|null>(`${config.public.apiBase}/lists`, { // method: 'GET', // headers: { // // On injecte le token ici // 'Authorization': `Bearer ${this.token}` // }, // // Si tu as besoin d'envoyer un corps de message vide ou spécifique // // body: {} // }); // this.lists = data; // console.log(data); // console.log(this.token); // return data; // } catch (error) { // console.error("Erreur lors de la récupération des listes:", error); // } // } } })