-
Notifications
You must be signed in to change notification settings - Fork 847
Open
Description
Overview
Create the basic Courses page component in the Coach plugin with navigation, following the same structure as Lessons and Quizzes.
Design Reference
See parent product issue for screenshots and Figma designs:
- Figma designs
- Screenshot showing courses navigation at same level as lessons/quizzes
Implementation
1. Add Courses Navigation Item
Add "Courses" to the Coach plugin navigation at the same level as "Lessons" and "Quizzes".
Conditional display:
Use the courses_exist plugin data to show/hide the courses navigation item. Only display when course content is available on the device.
const { courses_exist } = usePluginData();
if (!courses_exist) return null;2. Create Top-Level Route
Add top-level /courses route in the Coach plugin routes configuration.
Follow the routing patterns from Lessons and Quizzes, including:
- Route definition with proper parameters (classId, etc.)
- Route guards/permissions
- Child routes for side panels (implemented in separate issue)
3. Create Page Component
Create the main Courses page Vue component:
- Page shell/layout
- Page header with title
- "Add course" button (launches side panel)
- Placeholder for course list (implemented in separate issue)
References
- Lessons page structure:
kolibri/plugins/coach/assets/src/views/lessons/ - Coach routes:
kolibri/plugins/coach/assets/src/routes/ - Coach navigation: Coach app navigation components
- Coach plugin data:
kolibri/plugins/coach/kolibri_plugin.py
Metadata
Metadata
Assignees
Labels
No labels
