33 lines
769 B
TypeScript
33 lines
769 B
TypeScript
export const useAuth = () => {
|
|
const tokenCookie = useCookie('token')
|
|
|
|
const isLoggedIn = () => {
|
|
if (!import.meta.client) return false
|
|
const token = localStorage.getItem('token')
|
|
const tenantId = localStorage.getItem('tenantId')
|
|
return !!(token && tenantId)
|
|
}
|
|
|
|
const logout = () => {
|
|
if (import.meta.client) {
|
|
localStorage.removeItem('token')
|
|
localStorage.removeItem('tenantId')
|
|
localStorage.removeItem('user')
|
|
}
|
|
// Clear cookie for server-side check
|
|
tokenCookie.value = null
|
|
}
|
|
|
|
const getUser = () => {
|
|
if (!import.meta.client) return null
|
|
const userStr = localStorage.getItem('user')
|
|
return userStr ? JSON.parse(userStr) : null
|
|
}
|
|
|
|
return {
|
|
isLoggedIn,
|
|
logout,
|
|
getUser,
|
|
}
|
|
}
|