mirror of
https://github.com/The-Low-Code-Foundation/OpenNoodl.git
synced 2026-01-12 15:22:55 +01:00
4.5 KiB
4.5 KiB
DASH Series: Dashboard UX Foundation
Overview
The DASH series modernizes the OpenNoodl editor dashboard, transforming it from a basic project launcher into a proper workspace management hub. These tasks focus on the new React 19 launcher in packages/noodl-core-ui/src/preview/launcher/.
Target Environment
- Editor: React 19 version only
- Runtime: React 19 version (if applicable)
- Backwards Compatibility: Not required for old launcher
Task Dependency Graph
DASH-001 (Tabbed Navigation)
│
├── DASH-002 (Project List Redesign)
│ │
│ └── DASH-003 (Project Organization)
│
└── DASH-004 (Tutorial Section Redesign)
Task Summary
| Task ID | Name | Est. Hours | Priority |
|---|---|---|---|
| DASH-001 | Tabbed Navigation System | 5-8 | Critical |
| DASH-002 | Project List Redesign | 9-14 | High |
| DASH-003 | Project Organization | 16-22 | Medium |
| DASH-004 | Tutorial Section Redesign | 13-19 | Medium |
Total Estimated: 43-63 hours
Implementation Order
Week 1: Foundation
- DASH-001 - Tabbed navigation (foundation for everything)
- DASH-004 - Tutorial redesign (can parallel with DASH-002)
Week 2: Project Management
- DASH-002 - Project list redesign
- DASH-003 - Folders and tags
Key Technical Decisions
Location
All new components go in:
packages/noodl-core-ui/src/preview/launcher/Launcher/
State Management
- Use React Context for launcher-wide state
- Use electron-store for persistence
- Keep component state minimal
Styling
- Use existing noodl-core-ui components
- CSS Modules for custom styling
- Follow existing color/spacing tokens
Data
- Services in
packages/noodl-editor/src/editor/src/services/ - Hooks in launcher
hooks/folder - Types in component folders or shared types file
Shared Components to Create
These components will be reused across DASH tasks:
| Component | Created In | Used By |
|---|---|---|
| TabBar | DASH-001 | All views |
| GitStatusBadge | DASH-002 | Project list |
| ViewModeToggle | DASH-002 | Project list |
| FolderTree | DASH-003 | Sidebar |
| TagPill | DASH-003 | Project rows |
| ProgressRing | DASH-004 | Tutorial cards |
| DifficultyBadge | DASH-004 | Tutorial cards |
Testing Strategy
Each task includes a testing checklist. Additionally:
- Visual Testing: Use Storybook for component development
- Integration Testing: Test in actual launcher context
- Persistence Testing: Verify data survives app restart
- Performance Testing: Check with 100+ projects/tutorials
Cline Usage Notes
Before Starting Each Task
- Read the task document completely
- Explore the existing code in
packages/noodl-core-ui/src/preview/launcher/ - Check existing components in
packages/noodl-core-ui/src/components/ - Understand the data flow
During Implementation
- Create components incrementally with Storybook stories
- Test in isolation before integration
- Update imports/exports in index files
- Follow existing code style
Confidence Checkpoints
Rate confidence (1-10) at these points:
- After reading task document
- After exploring existing code
- Before creating first component
- After completing each phase
- Before marking task complete
Common Gotchas
- Mock Data: The launcher currently uses mock data - don't try to connect to real data yet
- FIXME Alerts: Many click handlers are
alert('FIXME: ...')- that's expected - Storybook: Run
npm run storybookin noodl-core-ui to test components - Imports: noodl-core-ui uses path aliases - check existing imports for patterns
Success Criteria (Series Complete)
- ✅ Launcher has tabbed navigation (Projects, Learn, Templates)
- ✅ Projects display in sortable list with git status
- ✅ Projects can be organized with folders and tags
- ✅ Tutorials are organized by category with progress tracking
- ✅ All preferences persist across sessions
- ✅ UI is responsive and accessible
- ✅ New components are reusable
Future Work (Post-DASH)
The DASH series sets up infrastructure for:
- GIT series: GitHub integration, sync status
- COMP series: Shared components system
- AI series: AI project creation
- DEPLOY series: Deployment automation
These will be documented separately.
Files in This Series
DASH-001-tabbed-navigation.mdDASH-002-project-list-redesign.mdDASH-003-project-organization.mdDASH-004-tutorial-section-redesign.mdDASH-OVERVIEW.md(this file)