diff --git a/src/stores/config/index.ts b/src/stores/config/index.ts new file mode 100644 index 00000000..9ab43cda --- /dev/null +++ b/src/stores/config/index.ts @@ -0,0 +1,23 @@ +import { defineStore } from 'pinia'; +import { api } from 'src/boot/axios'; +import { ref } from 'vue'; + +export const useConfigStore = defineStore('config-store', () => { + const data = ref(); + + return { + data, + + async getConfig() { + if (data.value) return data.value; + + const res = await api.get('/config'); + + if (res.status < 400) { + data.value = res.data; + } + + return data.value; + }, + }; +}); diff --git a/src/stores/config/types.ts b/src/stores/config/types.ts new file mode 100644 index 00000000..5090f8d4 --- /dev/null +++ b/src/stores/config/types.ts @@ -0,0 +1,3 @@ +type AppConfig = { + vat: number; +};