mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-09-07 16:03:21 +00:00
* 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
32 lines
899 B
TypeScript
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) {
|
|
}
|
|
} |