import { defineStore } from 'pinia' export const useUserStore = defineStore('user', { state: () => ({ token: localStorage.getItem('ry_token') || '', user: JSON.parse(localStorage.getItem('ry_user') || 'null') }), getters: { role: (s) => s.user?.role || '', isLogin: (s) => !!s.user, accountType: (s) => s.user?.accountType || 'MAIN', parentUserId: (s) => s.user?.parentUserId || null, isMain: (s) => (s.user?.accountType || 'MAIN') === 'MAIN', isSub: (s) => s.user?.accountType === 'SUB' }, actions: { setLogin(token, user) { this.token = token this.user = user localStorage.setItem('ry_token', token) localStorage.setItem('ry_user', JSON.stringify(user)) }, setToken(token) { this.token = token localStorage.setItem('ry_token', token) }, setUser(user) { this.user = user localStorage.setItem('ry_user', JSON.stringify(user)) }, logout() { this.token = '' this.user = null localStorage.removeItem('ry_token') localStorage.removeItem('ry_user') } } })