Auth: nombre por defecto 'Ricardo Gonzalez' + persistencia en localStorage
- Si KAPPA no devuelve first_name/last_name, usa 'Ricardo Gonzalez' - user se persiste en localStorage (kappa_user) y sobrevive refrescos
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
+15
-3
@@ -3,9 +3,18 @@ import { ref, computed } from 'vue'
|
||||
import { kappa } from '@/services/kappa-api'
|
||||
import type { KappaLoginPayload } from '@/types/kappa'
|
||||
|
||||
function loadUser(): { name: string; email: string } | null {
|
||||
const raw = localStorage.getItem('kappa_user')
|
||||
return raw ? JSON.parse(raw) : null
|
||||
}
|
||||
|
||||
function saveUser(user: { name: string; email: string }) {
|
||||
localStorage.setItem('kappa_user', JSON.stringify(user))
|
||||
}
|
||||
|
||||
export const useAuthStore = defineStore('auth', () => {
|
||||
const token = ref<string | null>(localStorage.getItem('kappa_token'))
|
||||
const user = ref<{ name: string; email: string } | null>(null)
|
||||
const user = ref<{ name: string; email: string } | null>(loadUser())
|
||||
const loading = ref(false)
|
||||
const error = ref<string | null>(null)
|
||||
|
||||
@@ -16,11 +25,13 @@ export const useAuthStore = defineStore('auth', () => {
|
||||
error.value = null
|
||||
try {
|
||||
const data = await kappa.login(payload)
|
||||
token.value = kappa['token'] // sync with the service instance
|
||||
token.value = kappa['token']
|
||||
const name = `${data.user?.first_name || ''} ${data.user?.last_name || ''}`.trim()
|
||||
user.value = {
|
||||
name: `${data.user?.first_name || ''} ${data.user?.last_name || ''}`.trim(),
|
||||
name: name || 'Ricardo Gonzalez',
|
||||
email: payload.email,
|
||||
}
|
||||
saveUser(user.value)
|
||||
return true
|
||||
} catch (e: any) {
|
||||
error.value = e.message
|
||||
@@ -34,6 +45,7 @@ export const useAuthStore = defineStore('auth', () => {
|
||||
kappa.logout()
|
||||
token.value = null
|
||||
user.value = null
|
||||
localStorage.removeItem('kappa_user')
|
||||
}
|
||||
|
||||
return { token, user, loading, error, isAuthenticated, login, logout }
|
||||
|
||||
Reference in New Issue
Block a user