Skip to content

[HARD][DASHBOARD] Build unified role-based dashboard shell and navigation system #42

@Obiajulu-gif

Description

@Obiajulu-gif

Overview

Build a unified dashboard shell that adapts navigation, layout, and quick actions based on the authenticated user's role: admin, driver, or investor.

Problem

ChainMove has multiple user roles with different workflows. A scalable dashboard shell is needed so contributors can add new dashboard modules without duplicating layout logic or creating inconsistent navigation patterns.

Expected solution

Implement a reusable dashboard layout system that includes:

  • role-aware sidebar navigation
  • mobile-friendly collapsible navigation
  • dashboard header with user profile, notifications, and role badge
  • quick action slots per role
  • active route highlighting
  • protected route handling
  • graceful loading and unauthorized states

Role examples

Investor

  • Portfolio
  • Pools
  • Wallet
  • Transactions
  • Governance

Driver

  • Repayments
  • Vehicle progress
  • Wallet
  • Notifications
  • Profile/KYC

Admin

  • Users
  • KYC
  • Fleet
  • Investments
  • Reports
  • Payments
  • Settings

Files likely involved

  • dashboard layout files
  • sidebar/navigation components
  • auth/current-user helpers
  • route guard utilities
  • dashboard pages
  • shared UI components

Acceptance criteria

  • A reusable role-based dashboard shell exists.
  • Navigation changes based on user role.
  • Unauthorized users cannot access protected dashboard sections.
  • Layout works on desktop and mobile.
  • Loading and empty states are handled.
  • Existing dashboard routes are not broken.
  • npm run lint and npm run build pass.

Suggested labels

dashboard, frontend, auth, hard, architecture

Difficulty

Hard

Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial CampaignCampaign: Official Campaign

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions