<tyro-ui-dashboard-layout>

Dashboard Layout

Full layout with collapsible sidebar, integrated navbar and mobile management. Wraps tyro-ui-navbar and projects page content via <ng-content>.

Inputs

Property
Type
Default
Description
[project] string ''Project name displayed in the topbar and sidebar (e.g. "Useritium")
[logo] string ''Color logo URL displayed in the topbar
[logoWhite] string ''White logo URL displayed in the mobile sidebar
[utility] string ''Utility label displayed below the project name in the sidebar (e.g. "Dashboard", "Hub")
[requireLogin] boolean trueRedirects to the login page if the user is not authenticated via TyroUiAuthService
[navItems] ITyroUiDashNavItem[] []Navigation tree displayed in the sidebar (see interfaces below)

Navigation interfaces

ITyroUiDashNavItem - niveau 1

Field
Type
Description
label string Text displayed in the sidebar
icon string Remix-icon class (used if iconImg is absent)
iconImg? string Image URL replacing the icon (project logos, etc.)
link? string Angular route - omitted if group or category
category? boolean Turns the item into a collapsible section (not a link)
children? ITyroUiDashNavChild[] Sub-items (level 2)
open? boolean Open/closed state of the group or category

ITyroUiDashNavChild - niveau 2

Field
Type
Description
label string Displayed text
icon string Remix-icon class
iconImg? string Image URL replacing the icon
link? string Route - omitted if sub-group
children? ITyroUiDashNavSubItem[] Sub-sub-items (level 3)
open? boolean Sub-group open state

ITyroUiDashNavSubItem - niveau 3

Field
Type
Description
label string Displayed text
icon string Remix-icon class
iconImg? string Image URL replacing the icon
link string Angular route (required at level 3)

Sidebar behaviour

State
Trigger
Effect
Expanded (desktop)DefaultSidebar 240px, labels visible
Collapsed (desktop)Chevron button at the top of the sidebarSidebar 60px, icons only + hover tooltip
Open (mobile)Topbar burger buttonSidebar as overlay (z-index: 1002) above the content
Closed (mobile)Overlay click · link · close button · EscapeSidebar returns to translateX(-100%)

Usage

Wrap your <router-outlet> inside the component in your main layout.

<tyro-ui-dashboard-layout
  [project]="'Useritium'"
  [utility]="'Dashboard'"
  [logo]="'assets/tyrolium-ui/projects/Useritium.png'"
  [logoWhite]="'assets/tyrolium-ui/projects/Useritium-White.png'"
  [navItems]="navItems">
  <router-outlet />
</tyro-ui-dashboard-layout>