import axiosInstance from '@/plugins/axios-plugin'; import { mountStoreDevtool } from 'simple-zustand-devtools'; import { route } from 'ziggy-js'; import { create } from 'zustand'; import { devtools } from 'zustand/middleware'; const useUserStore = create( devtools((set, get) => ({ // Pricing Plans user: null, user_usage: null, plan: { name: 'Free', tier: 'free', }, billing: null, isLoadingUser: false, // Fetch backgrounds fetchUser: async () => { set({ isLoadingUser: true }); try { const response = await axiosInstance.post(route('api.user')); set({ user: response.data.success.data.user, user_usage: response.data.success.data.user.user_usage, plan: response.data.success.data.user.plan, billing: response.data.success.data.billing, }); //return response.data.success.data; } catch (error) { console.error(route('api.user')); console.error('Error fetching:', error); } finally { set({ isLoadingUser: false }); } }, })), { name: 'UserStore', store: 'UserStore', }, ); if (import.meta.env.APP_ENV === 'local') { mountStoreDevtool('UserStore', useUserStore); } export default useUserStore;