schon/storefront/app/stores/user.ts
2026-02-27 21:59:51 +03:00

29 lines
723 B
TypeScript

import { orderStatuses } from '@appConstants';
import type { IUser } from '@types';
export const useUserStore = defineStore('user', () => {
const { $appHelpers } = useNuxtApp();
const cookieAccess = useCookie($appHelpers.COOKIES_ACCESS_TOKEN_KEY, {
default: () => '',
path: '/',
});
const user = ref<IUser | null>(null);
const isAuthenticated = computed(() => Boolean(cookieAccess.value && user.value));
const finishedOrdersQuantity = computed(() => {
return user.value?.orders.filter((order) => order.status === orderStatuses.FINISHED).length || 0;
});
const setUser = (data: IUser | null) => {
user.value = data;
};
return {
user,
setUser,
isAuthenticated,
finishedOrdersQuantity,
};
});