const EDIT_ROLES = Object.freeze(['admin', 'leader']) export function useUser() { const requestFetch = useRequestFetch() const { data: user, refresh, status } = useAsyncData( 'user', () => (requestFetch ?? $fetch)('/api/me').catch(() => null), { default: () => null }, ) const authPending = computed(() => status.value === 'pending') const canEditPois = computed(() => EDIT_ROLES.includes(user.value?.role)) const isAdmin = computed(() => user.value?.role === 'admin') return Object.freeze({ user, authPending, canEditPois, isAdmin, refresh }) }