// stores/user.ts import { defineStore } from 'pinia' interface User { username: string role?: string permissions?: string[] } export const useUserStore = defineStore('user', { state: (): { user: User | null } => ({ user: null }), getters: { isLoggedIn: (state) => !!state.user, username: (state) => state.user?.username || '', role: (state) => state.user?.role || '', permissions: (state) => state.user?.permissions || [] }, actions: { login(user: User) { this.user = user }, logout() { this.user = null } }, persist: { enabled: true, strategies: [{ storage: sessionStorage }] } })