[FEATURE] Build Reusable Member Dashboard Layout with Sidebar, Header, Responsive Structure & Shared UI Components
@Shreyashi-77 ci sta già lavorando.
Dal 6/5/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Create a scalable and reusable Member Dashboard Layout System for the Commdesk platform.
This layout will serve as the foundation for all authenticated member/dashboard pages such as:
- Dashboard
- Profile
- Settings
- Messages
- Notifications
- Workspace
- Teams
- Analytics
- Tasks
- Billing
- Admin Pages
- Future Modules
The goal is to establish a clean architecture, responsive UX, and production-ready dashboard foundation that can scale as the platform grows.
🎯 Objectives
- Create a reusable dashboard shell/layout
- Add a modern responsive sidebar
- Create common dashboard navigation
- Ensure mobile responsiveness
- Improve maintainability
- Support nested routes/pages
- Build scalable layout architecture
- Add theme-ready structure
- Improve UX consistency across all member pages
🏗️ Layout Requirements
1. Main Dashboard Structure
Create a reusable layout wrapper:
<MemberLayout>
├── Sidebar
├── Top Navbar/Header
├── Main Content Area
├── Page Container
├── Mobile Navigation
└── Optional Right Panel/Future Widgets
📂 Suggested Folder Structure
src/
│
├── layouts/
│ └── MemberLayout/
│ ├── MemberLayout.tsx
│ ├── Sidebar.tsx
│ ├── Header.tsx
│ ├── MobileSidebar.tsx
│ ├── NavItem.tsx
│ ├── Breadcrumb.tsx
│ ├── UserDropdown.tsx
│ └── index.ts
│
├── components/
│ └── dashboard/
│ ├── DashboardContainer.tsx
│ ├── PageHeader.tsx
│ ├── SearchBar.tsx
│ ├── NotificationBell.tsx
│ ├── ThemeToggle.tsx
│ ├── EmptyState.tsx
│ ├── LoadingState.tsx
│ └── ErrorState.tsx
│
├── routes/
│ └── dashboard/
│
└── styles/
🎨 Sidebar Features
Sidebar should include:
- Logo/Brand section
- Navigation links
- Active route highlighting
- Collapsible sidebar
- Expand/collapse animation
- Icons for each menu item
- Scrollable menu
- Bottom utility section
- Logout button
- Mobile drawer support
- Responsive behavior
📋 Sidebar Navigation Example
- Dashboard
- Workspace
- Messages
- Tasks
- Calendar
- Teams
- Analytics
- Notifications
- Settings
- Billing
- Help Center
🧩 Header/Navbar Requirements
Header should contain:
- Page title
- Breadcrumbs
- Search bar
- Notification icon
- User profile dropdown
- Theme toggle
- Mobile menu button
- Quick actions
- Workspace switcher (optional)
📱 Responsive Requirements
Mobile
- Sidebar becomes drawer
- Smooth open/close animation
- Sticky header
- Optimized spacing
- Bottom navigation optional
Tablet
- Semi-collapsed sidebar
- Adaptive content spacing
Desktop
- Full sidebar
- Fixed navigation
- Scrollable content area
✨ UI/UX Expectations
- Modern SaaS dashboard style
- Clean spacing system
- Consistent typography
- Smooth transitions
- Professional animations
- Minimal but premium design
- Accessibility support
- Keyboard navigation support
🌙 Theme Support
Prepare architecture for:
- Light mode
- Dark mode
- System theme detection
⚙️ Technical Requirements
Tech Stack
- React
- TypeScript
- Tailwind CSS
- React Router
- Framer Motion (optional)
- Lucide Icons
🧠 Recommended Architecture
Layout should support:
- Nested routing
- Protected routes
- Dynamic sidebar items
- Role-based navigation
- Future plugin/modules
- Permission-based rendering
🔐 Authentication Integration
Layout should:
- Only render for authenticated users
- Support user session state
- Handle unauthorized access
- Support loading states
🚀 Performance Considerations
- Lazy load dashboard pages
- Memoize sidebar items if needed
- Optimize re-renders
- Responsive image handling
- Avoid layout shifts
🧪 Suggested Testing
- Sidebar open/close
- Responsive layout behavior
- Route highlighting
- Mobile drawer
- Theme switching
- Accessibility navigation
- Keyboard shortcuts
✅ Acceptance Criteria
- Reusable MemberLayout created
- Responsive sidebar implemented
- Header/navbar implemented
- Mobile navigation working
- Nested routes supported
- Active navigation state working
- Dark mode ready
- Layout accessible
- Smooth animations added
- Production-ready folder structure
- Shared dashboard components added
- Clean TypeScript types/interfaces added
🔥 Expected Outcome
A scalable, modern, reusable, and production-ready dashboard layout system that becomes the core foundation of the entire Commdesk member experience.
- Lingua principale
- TypeScript
- Stelle
- 7
- Fork
- 17
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di NexGenStudioDev/CommDesk
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
NexGenStudioDev/CommDesk#140 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
NexGenStudioDev/CommDesk#138 ·
-
[Bug] signup.ts: uploadCommunityLogo is a simulated stub that converts files to data URLs with no size or type validation, sending multi-megabyte base64 strings in the signup payloadForse di nuovo libera @anshul23102 l’ha presa 124 giorni fa e non c’è nessuna pull request aperta. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
NexGenStudioDev/CommDesk#130 · 2 commenti ·
-
Input text not visible in authentication formsForse di nuovo libera @anshul23102 l’ha presa 124 giorni fa e non c’è nessuna pull request aperta. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
NexGenStudioDev/CommDesk#123 · 2 commenti ·
-
[UX] Hardcoded window dimensions not DPI-aware — UI broken on high-DPI displaysForse già presa @anshul23102 l’ha presa 94 giorni fa. Aperta
NexGenStudioDev/CommDesk#141 · 1 assegnatario ·
Tutte le issue di NexGenStudioDev/CommDesk
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
cameri/nostream#811 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug p3 triaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
bug javascript P2-medium python release:v3.1
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
adrirubio/claude-deck#546 ·
I maintainer di solito rispondono entro 1 giorno
-
area: desktop area: website priority: P2 type: feature
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
appandflow/stim#3411 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
rjsf-team/react-jsonschema-form#5485 ·
I maintainer di solito rispondono entro 2 giorni