29 lines
712 B
TypeScript
29 lines
712 B
TypeScript
import { writable } from 'svelte/store';
|
|
import { browser } from '$app/environment';
|
|
|
|
export const token = writable<string | null>(
|
|
browser ? localStorage.getItem('token') : null
|
|
);
|
|
|
|
export const isSuperadmin = writable<boolean>(
|
|
browser ? localStorage.getItem('is_superadmin') === 'true' : false
|
|
);
|
|
|
|
if (browser) {
|
|
token.subscribe((value) => {
|
|
if (value) {
|
|
localStorage.setItem('token', value);
|
|
} else {
|
|
localStorage.removeItem('token');
|
|
}
|
|
});
|
|
isSuperadmin.subscribe((value) => {
|
|
localStorage.setItem('is_superadmin', value ? 'true' : 'false');
|
|
});
|
|
}
|
|
|
|
export function logout() {
|
|
token.set(null);
|
|
isSuperadmin.set(false);
|
|
}
|