Skip to content

SidebarDrawerContent (ue-sidebar-drawer-content)

SidebarDrawerContent is the innermost layout component — the actual v-navigation-drawer. It renders the logo/app header, the navigation list, and the user footer with profile menu, logout, and About dialog.

NOTE

This is an internal component. You do not use it directly.

Layout

┌─────────────────────────────────────┐
│  [prepend]                          │
│  ┌────────────────────────────────┐ │
│  │ mini-logo  App Name            │ │ ← app info header
│  │            [email protected]   ◀◀  │ │ ← rail toggle (desktop only)
│  └────────────────────────────────┘ │
│  ─────────────────────────────────  │
│                                     │
│  ue-navigation-group (items)        │ ← main nav list
│                                     │
│  [append]                           │
│  ─────────────────────────────────  │
│  ┌────────────────────────────────┐ │
│  │ avatar  User Name          ▼   │ │ ← user info + profile toggle
│  │         [email protected]         │ │
│  └────────────────────────────────┘ │
│  [ue-navigation-group profileMenu]  │ ← collapsible profile menu
│  Logout                             │
│  About                              │
│  [bottom slot]                      │ ← impersonation toolbar, etc.
└─────────────────────────────────────┘

Prepend — app header

  • Displays the app name and email from store.getters.appName / store.getters.appEmail.
  • The avatar shows the miniSymbol SVG icon.
  • A rail toggle button (mdi-chevron-double-left / mdi-chevron-double-right) is shown on desktop when lgAndUp is true. Clicking emits rail-toggle.
    • When railManual is true (drawer is manually collapsed) the icon points right; otherwise left.

Body — navigation

Renders ue-navigation-group with:

  • items — the full nav tree
  • hideIcons — switches to text-only mode
  • showTooltip — enabled when in rail mode without hover expand (rail && !isHoverable), so hovering a collapsed item shows its label in a tooltip

Visible only when the user is authenticated (!store.getters.isGuest):

ElementDescription
AvatarShows userProfile.avatar_url; clicking calls $openProfileDialog
Name / emailFrom userProfile.name and userProfile.email; email has a tooltip
Profile togglemdi-chevron-down/up button; emits update:profileMenuOpen
Profile menuue-navigation-group with profileMenu items; shown in a v-expand-transition
Logoutue-logout-modal with CSRF token; shows tooltip when in collapsed rail mode
Aboutv-dialog showing package versions, app name, env, and debug state (superadmin only)

The bottom slot is rendered after the user section (used for impersonation toolbar etc.).

Props

PropTypeRequiredDefaultDescription
itemsArrayYesMain navigation items
profileMenuArrayNo[]Profile popover navigation items
miniSymbolStringNo'main-logo-dark'SVG symbol for the prepend avatar
profileMenuOpenBooleanNofalseControls the profile menu expand state
statusBooleanYesDrawer open/closed (v-navigation-drawer model-value)
railBooleanYesIcon-only rail mode
isHoverableBooleanYesexpand-on-hover on the drawer
hideIconsBooleanYesPassed to ue-navigation-group
optionsObjectYesContains location, railWidth, etc.
widthNumber|StringYesDrawer width
effectivePersistentBooleanYesVuetify persistent
effectivePermanentBooleanYesVuetify permanent
effectiveTemporaryBooleanNofalseVuetify temporary
railManualBooleanYesWhether the user manually collapsed to rail

Emits

EventPayloadDescription
update:statusBooleanDrawer open/close state change
update:profileMenuOpenBooleanProfile menu expand toggle
activateMenueventForwarded from ue-navigation-group profile menu
rail-toggleRail toggle button clicked

Slots

SlotDescription
bottomAppended after the user footer section in [append]

About dialog

The About entry is only visible when store.getters.versions is populated and the user is not a guest or a client. For superadmins it additionally shows appName, appEnv, and appDebug with colour-coded chips.