Skip to content

Layouts

Two layouts are provided, each registered as a parent route in the router.

Dashboard Layout (Layout/index.vue)

Renders the full application shell for authenticated pages:

┌──────────────────────────────────┐
│           Header                 │
│  ☰  Page Title  🔄  🌙  👤     │
├──────────┬───────────────────────┤
│          │                       │
│ Sidebar  │   <router-view />    │
│          │                       │
│  📊      │    (page content)     │
│  Posts   │                       │
│  Users   │                       │
│          │                       │
├──────────┴───────────────────────┤
│            Footer                │
└──────────────────────────────────┘

Components

ComponentFileDescription
SidebarLayout/Sidebar.vueLeft navigation with accordion menus, active state highlighting, collapse persistence
HeaderLayout/Header.vueSidebar toggle, page title (receives teleported content from Pagebar), refresh button, theme switch, user dropdown
FooterLayout/Footer.vueSimple footer with copyright

Auth Layout (AuthLayout.vue)

Minimal centered card layout for guest-only pages:

┌──────────────────────────────────┐
│                                  │
│      ┌──────────────────┐        │
│      │                  │        │
│      │   Logo           │        │
│      │                  │        │
│      │   <router-view>  │        │
│      │   (login form,   │        │
│      │    register,     │        │
│      │    password       │        │
│      │    reset, etc.)  │        │
│      │                  │        │
│      └──────────────────┘        │
│                                  │
└──────────────────────────────────┘

Used by: login, register, forgetPassword, resetPassword, verifyEmail routes.

Released under the MIT License.