Files
jardin/frontend/src/stores/gardens.js
2026-02-22 04:12:35 +01:00

23 lines
731 B
JavaScript

import { defineStore } from 'pinia';
import { ref } from 'vue';
import { gardensApi } from '@/api/gardens';
export const useGardensStore = defineStore('gardens', () => {
const gardens = ref([]);
const loading = ref(false);
async function fetchAll() {
loading.value = true;
gardens.value = await gardensApi.list();
loading.value = false;
}
async function create(g) {
const created = await gardensApi.create(g);
gardens.value.push(created);
return created;
}
async function remove(id) {
await gardensApi.delete(id);
gardens.value = gardens.value.filter(g => g.id !== id);
}
return { gardens, loading, fetchAll, create, remove };
});