mirror of
https://github.com/Litlyx/litlyx
synced 2025-12-10 15:58:38 +01:00
add dashboard
This commit is contained in:
30
dashboard/composables/useLoggedUser.ts
Normal file
30
dashboard/composables/useLoggedUser.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import type { AuthContext } from "~/server/middleware/01-authorization";
|
||||
|
||||
const LOGGED_USER_STATE_KEY = 'logged_user';
|
||||
|
||||
|
||||
export function useLoggedUser() {
|
||||
const loggedUserState = useState<AuthContext | undefined>(LOGGED_USER_STATE_KEY);
|
||||
return loggedUserState;
|
||||
}
|
||||
|
||||
export function setLoggedUser(authContext?: AuthContext) {
|
||||
useLoggedUser().value = authContext;
|
||||
}
|
||||
|
||||
export const isAdminHidden = ref<boolean>(false);
|
||||
|
||||
export function useUserRoles() {
|
||||
|
||||
const isPremium = computed(() => {
|
||||
const loggedUser = useLoggedUser();
|
||||
if (!loggedUser.value?.logged) return false;
|
||||
return loggedUser.value.user.roles.includes('PREMIUM');
|
||||
});
|
||||
const isAdmin = computed(() => {
|
||||
const loggedUser = useLoggedUser();
|
||||
if (!loggedUser.value?.logged) return false;
|
||||
return loggedUser.value.user.roles.includes('ADMIN');
|
||||
});
|
||||
return { isPremium, isAdmin }
|
||||
}
|
||||
Reference in New Issue
Block a user