import { defineStore } from 'pinia' interface AuthState { token: string | null username: string | null } export const useAuthStore = defineStore('auth', { state: (): AuthState => ({ token: localStorage.getItem('token'), username: localStorage.getItem('username'), }), getters: { isAuthenticated: (state): boolean => !!state.token, }, actions: { setToken(token: string, username: string): void { this.token = token this.username = username localStorage.setItem('token', token) localStorage.setItem('username', username) }, logout(): void { this.token = null this.username = null localStorage.removeItem('token') localStorage.removeItem('username') }, }, })