Files
windmill/frontend/src/lib/logout.ts
T
Ádám Kovács 8445697e31 feat(frontend): Trigger settings drawer with URL hash (#1185)
* feat(frontend): Trigger settings drawer by URL hash

* fix(frontend): Add setting auto-open to workspace selector

* fix(frontend): full path redirects

* fix(frontend): Slice safety check
2023-02-15 14:47:47 +01:00

32 lines
899 B
TypeScript

import { goto } from '$app/navigation'
import { UserService } from '$lib/gen'
import { clearStores } from './stores.js'
import { sendUserToast } from './utils.js'
export async function logoutWithRedirect(rd?: string): Promise<void> {
await clearUser()
if (rd && rd != "/" && rd?.split('?')[0] != '/user/login') {
const error = document.cookie.includes('token')
? `error=${encodeURIComponent('You have been logged out because your session has expired.')}&`
: ''
console.log({rd});
goto(`/user/login?${error}${rd ? 'rd=' + encodeURIComponent(rd) : ''}`, { replaceState: true })
} else {
goto('/user/login', { replaceState: true })
}
}
export async function logout(): Promise<void> {
await clearUser()
goto(`/user/login`)
sendUserToast('you have been logged out')
}
export async function clearUser() {
try {
clearStores()
await UserService.logout()
} catch (error) {
}
}