This commit is contained in:
Vladimir Voronin
2024-11-06 19:14:53 +03:00
parent 04fae4dec7
commit 9d546f6069
23 changed files with 1008 additions and 108 deletions

22
src/stores/drawerStore.ts Normal file
View File

@@ -0,0 +1,22 @@
import {defineStore} from "pinia";
import {ref} from "vue";
export const useDrawerStore = defineStore('drawer', () => {
const visible = ref(false);
const transactionType = ref(null)
const categoryType = ref(null)
const setVisible = (isVisible: boolean) => {
visible.value = isVisible;
}
const setTransactionType = (type: string) => {
transactionType.value = type;
}
const setCategoryType = (type: string) => {
categoryType.value = type;
}
return {visible, transactionType, categoryType, setTransactionType, setCategoryType, setVisible}
})

29
src/stores/userStore.ts Normal file
View File

@@ -0,0 +1,29 @@
import { defineStore } from 'pinia';
import { ref } from 'vue';
import apiClient from "@/services/axiosSetup";
export const useUserStore = defineStore('user', () => {
const user = ref(null);
const loadingUser = ref(true);
async function fetchUserProfile() {
// Убираем проверку на `loadingUser`, чтобы не блокировать запрос
if (!user.value) {
loadingUser.value = true;
try {
const response = await apiClient.get('/auth/users/me'); // запрос к API для получения данных пользователя
if (response.status !== 200) throw new Error('Ошибка загрузки данных пользователя');
user.value = response.data;
} catch (error) {
console.error('Ошибка при загрузке данных пользователя:', error);
user.value = null;
} finally {
loadingUser.value = false; // Сбрасываем флаг `loadingUser` в `false` после завершения
console.log('Загрузка завершена, loadingUser:', loadingUser.value);
}
}
}
return { user, loadingUser, fetchUserProfile };
});