|
| 1 | +<script setup lang="ts"> |
| 2 | +import { UFAdminSidebarMenuItems } from '@userfrosting/sprinkle-admin/components' |
| 3 | +import { useLogoutApi } from '@userfrosting/sprinkle-account/composables' |
| 4 | +import { useAuthStore } from '@userfrosting/sprinkle-account/stores' |
| 5 | +import { useConfigStore } from '@userfrosting/sprinkle-core/stores' |
| 6 | +const config = useConfigStore() |
| 7 | +
|
| 8 | +// Auth and Logout API variables |
| 9 | +const auth = useAuthStore() |
| 10 | +const { submitLogout } = useLogoutApi() |
| 11 | +</script> |
| 12 | + |
| 13 | +<template> |
| 14 | + <!-- User card, visible only on mobile --> |
| 15 | + <UFSideBarUserCard |
| 16 | + class="uk-hidden@m" |
| 17 | + v-if="auth.isAuthenticated" |
| 18 | + :username="auth.user?.full_name" |
| 19 | + :avatar="auth.user?.avatar" |
| 20 | + :meta="auth.user?.user_name" /> |
| 21 | + |
| 22 | + <!-- Navbar element repeated for mobile --> |
| 23 | + <UFSideBarItem class="uk-hidden@m" :to="{ name: 'about' }" :label="$t('ABOUT')" /> |
| 24 | + <UFSideBarItem |
| 25 | + class="uk-hidden@m" |
| 26 | + :to="{ name: 'account.register' }" |
| 27 | + :label="$t('REGISTER')" |
| 28 | + v-if="!auth.isAuthenticated && config.get('site.registration.enabled')" /> |
| 29 | + <UFSideBarItem |
| 30 | + class="uk-hidden@m" |
| 31 | + :to="{ name: 'account.login' }" |
| 32 | + :label="$t('LOGIN')" |
| 33 | + v-if="!auth.isAuthenticated" /> |
| 34 | + <UFSideBarItem |
| 35 | + class="uk-hidden@m" |
| 36 | + :label="$t('ACCOUNT.SETTINGS')" |
| 37 | + v-if="$checkAccess('update_account_settings')" |
| 38 | + :to="{ name: 'account.settings' }" /> |
| 39 | + <UFSideBarItem |
| 40 | + class="uk-hidden@m" |
| 41 | + :label="$t('LOGOUT')" |
| 42 | + @click="submitLogout()" |
| 43 | + v-if="auth.isAuthenticated" /> |
| 44 | + |
| 45 | + <!-- Admin Panel Section, always visible --> |
| 46 | + <UFSideBarLabel :label="$t('ADMIN_PANEL')" v-if="$checkAccess('uri_dashboard')" /> |
| 47 | + <UFAdminSidebarMenuItems /> |
| 48 | +</template> |
0 commit comments