Appearance
Navigation & Toolbar
EaseLab supports two navigation layouts (sidebar or top bar) plus a consistent toolbar for global actions. Layout is per-user — set on Account & Profile.
Sidebar layout (default)
mermaid
flowchart LR
subgraph Left
SB[Sidebar - nav groups]
end
subgraph Top
TOG[Collapse toggle]
TB[Toolbar icons]
end
subgraph Main
BAN[Banners - offline / trial / readonly]
PG[Page content]
end
SB --- Main
TOG --- TB
TB --- Main| Element | Behavior |
|---|---|
| Sidebar | Grouped links; collapsible Reports section |
| Collapse toggle | Hamburger — show/hide sidebar on mobile/desktop |
| Toolbar | Right-aligned action icons |
| Backdrop | Tap outside sidebar on mobile to close |
Sidebar open/closed state persists in browser storage (easelab.sidebarOpen).
Top bar layout
| Element | Behavior |
|---|---|
| App topbar | Lab name + horizontal nav links (no Reports group — use toolbar dropdown) |
| Toolbar | Embedded in top bar |
| No sidebar | All routes via top links + dropdowns |
Sidebar navigation groups
| Group | Items | Notes |
|---|---|---|
| Overview | Dashboard | |
| Clinic | Invoices, Patients, Collection centers, Home sampling | |
| Laboratory | Samples, Results, Analyzers | Analyzers plan-gated |
| Reference laboratory | B2B reference lab | Reference plan only |
| Reports | 8 report links | Collapsible; sidebar only |
| Account | Billing, Settings | Settings → /account |
Active route is highlighted. Icons accompany each label.
Toolbar — left to right
| Icon / control | Title | Action |
|---|---|---|
| Pen (SquarePen) | Create invoice | Opens new invoice dialog — disabled in read-only |
| Gear (Settings) | Settings | Popover grid → six settings dialogs |
| Bell | Notifications | Staff notification panel |
| Theme | Theme | Light / dark / system |
| Language | Language | English ↔ Urdu |
| Reports | Reports | Dropdown — eight report routes |
| Shield | Administration | Permission-filtered admin links |
| Avatar + name | Account menu | Profile, password, subscription, apps, logout |
Settings popover grid
| Tile | Opens |
|---|---|
| Patient fields | Patient fields settings dialog |
| Invoice setting | Invoice settings dialog |
| Report setting | Report settings dialog |
| Sticker setting | Sticker settings dialog |
| Account setting | Lab account settings dialog |
| SMS templates | SMS templates dialog |
See Settings for every field.
Reports dropdown
| Item | Route |
|---|---|
| Cash flow | /reports/cash-flow |
| Cash flow summary | /reports/cash-flow-summary |
| Financial summary | /reports/financial-summary |
| Labs | /reports/labs |
| Outsource tests | /reports/outsource-tests |
| Referrals | /reports/referrals |
| Test performance | /reports/test-performance |
| Turnaround time | /reports/turnaround-time |
In sidebar layout, the same links appear under the collapsible Reports group.
Overview: Reports documentation.
Administration dropdown
Items appear only when your role has the required permission (or you are tenant admin). Hidden entirely if none apply.
| Item | Route | Permission area |
|---|---|---|
| Contacts | /admin/contacts | contacts |
| CRM | /admin/crm | crm |
| Daily expense | /admin/daily-expense | expenses |
| Deleted invoices | /admin/deleted-invoices | deleted_invoices |
| Ledgers | /admin/ledgers | ledgers |
| Medicine groups | /admin/medicine-groups | catalog_parameters |
| Rate lists | /admin/rate-lists | rate_lists |
| Referrals | /admin/referrals | referrals |
| Roles | /admin/roles | roles |
| SMS campaign | /admin/sms-campaign | sms_log |
| Messaging test | /admin/messaging-test | quick.send_sms |
| Stock | /admin/stock | stock |
| Test departments | /admin/test-departments | departments |
| Tests | /admin/tests | catalog |
| Backups | /admin/backups | backups |
| Users | /admin/users | users |
Full admin guide: Lab Administration.
Notifications
| Element | Behavior |
|---|---|
| Bell icon | Opens popover |
| Unread badge | Count of unread notifications |
| Auto-refresh | Every 60 seconds + on window focus |
| Notification type | Icon | Typical action |
|---|---|---|
| Home sampling | Home | Navigate to /home-sampling |
| Other | Bell | Custom actionPath |
| Action | Effect |
|---|---|
| Click notification | Mark read; navigate if path set |
| Mark all read | Clears unread count |
Theme switcher
| Option | Description |
|---|---|
| Light | Light background |
| Dark | Dark mode |
| System | Follow OS preference |
Choice persists across sessions.
Language switcher
Switches UI between English and اردو (Urdu) when Urdu is enabled for your lab.
Account menu
| Item | Action |
|---|---|
| Header | Avatar, display name, email, Admin/Lab badge |
| My profile | /admin/profile |
| Update password | /admin/password |
| Subscription | /admin/subscription |
| Apps ▸ Dashboard | Quick jump |
| Apps ▸ Invoices | Quick jump |
| Logout | Signs out |
Display name priority: first + last name → tenant name → email local part.
Banners (below toolbar / topbar)
| Banner | When shown |
|---|---|
| Offline | No network — offline invoice queue active |
| Trial | Countdown during trial period |
| Read-only | Subscription lock — subscribe CTA |
Page header
Individual pages add an App header with title, optional description, and page-specific actions (e.g. dashboard date filter, home sampling portal link).
Related documentation
- Tenant portal overview — plan gating summary
- Account & Profile — change layout mode
- Dashboard — quick actions panel (alternate entry points)