import type {IUserBaseDataResponse} from "~/types"; import {getUserBaseData} from "~/graphql/queries/combined/userBaseData"; import {orderStatuses} from "~/config/constants"; export async function useUserBaseData(userEmail: string) { const wishlistStore = useWishlistStore(); const cartStore = useCartStore(); const promocodeStore = usePromocodeStore(); const { document, variables } = getUserBaseData( { userEmail, status: orderStatuses.PENDING }, ); const { mutate, error } = useMutation(document); const result = await mutate(variables); const data = result?.data; if (data?.wishlists.edges) { wishlistStore.setWishlist(data.wishlists.edges[0].node); } if (data?.orders.edges) { cartStore.setCurrentOrders(data.orders.edges[0].node); } if (data?.promocodes.edges) { promocodeStore.setPromocodes(data.promocodes.edges); } watch(error, (err) => { if (err) { console.error('useUserBaseData error:', err); } }); return { }; }