diff --git a/kolibri/plugins/coach/assets/src/app.js b/kolibri/plugins/coach/assets/src/app.js
index fc0d1f84f4e..afec85d8f2f 100644
--- a/kolibri/plugins/coach/assets/src/app.js
+++ b/kolibri/plugins/coach/assets/src/app.js
@@ -71,6 +71,9 @@ class CoachToolsModule extends KolibriApp {
PageNames.LESSON_EDIT_DETAILS_BETTER,
PageNames.LESSON_PREVIEW_SELECTED_RESOURCES,
PageNames.LESSON_PREVIEW_RESOURCE,
+ PageNames.LESSON_SELECT_RESOURCES_INDEX,
+ PageNames.LESSON_SELECT_RESOURCES_BOOKMARKS,
+ PageNames.LESSON_SELECT_RESOURCES_CHANNELS,
];
// If we're navigating to the same page for a quiz summary page, don't set loading
if (
diff --git a/kolibri/plugins/coach/assets/src/constants/index.js b/kolibri/plugins/coach/assets/src/constants/index.js
index 80f1dfb72c8..afdd4c8a18b 100644
--- a/kolibri/plugins/coach/assets/src/constants/index.js
+++ b/kolibri/plugins/coach/assets/src/constants/index.js
@@ -35,6 +35,9 @@ export const PageNames = {
LESSON_EDIT_DETAILS: 'LESSON_EDIT_DETAILS',
LESSON_EDIT_DETAILS_BETTER: 'LESSON_EDIT_DETAILS_BETTER',
LESSON_SELECT_RESOURCES: 'LESSON_SELECT_RESOURCES',
+ LESSON_SELECT_RESOURCES_INDEX: 'LESSON_SELECT_RESOURCES_INDEX',
+ LESSON_SELECT_RESOURCES_BOOKMARKS: 'LESSON_SELECT_RESOURCES_BOOKMARKS',
+ LESSON_SELECT_RESOURCES_CHANNELS: 'LESSON_SELECT_RESOURCES_CHANNELS',
LESSON_PREVIEW_SELECTED_RESOURCES: 'LESSON_PREVIEW_SELECTED_RESOURCES',
LESSON_PREVIEW_RESOURCE: 'LESSON_PREVIEW_RESOURCE',
LESSON_LEARNER_REPORT: 'LESSON_LEARNER_REPORT',
diff --git a/kolibri/plugins/coach/assets/src/routes/lessonsRoutes.js b/kolibri/plugins/coach/assets/src/routes/lessonsRoutes.js
index 542a23d10d2..8f8273abe58 100644
--- a/kolibri/plugins/coach/assets/src/routes/lessonsRoutes.js
+++ b/kolibri/plugins/coach/assets/src/routes/lessonsRoutes.js
@@ -39,6 +39,9 @@ import QuestionLearnersPage from '../views/common/reports/QuestionLearnersPage.v
import EditLessonDetails from '../views/lessons/LessonSummaryPage/sidePanels/EditLessonDetails';
import PreviewSelectedResources from '../views/lessons/LessonSummaryPage/sidePanels/PreviewSelectedResources';
import LessonResourceSelection from '../views/lessons/LessonSummaryPage/sidePanels/LessonResourceSelection';
+import SelectionIndex from '../views/lessons/LessonSummaryPage/sidePanels/LessonResourceSelection/subPages/SelectionIndex.vue';
+import SelectFromBookmarks from '../views/lessons/LessonSummaryPage/sidePanels/LessonResourceSelection/subPages/SelectFromBookmarks.vue';
+import SelectFromChannels from '../views/lessons/LessonSummaryPage/sidePanels/LessonResourceSelection/subPages/SelectFromChannels.vue';
import { classIdParamRequiredGuard, RouteSegments } from './utils';
const {
@@ -132,8 +135,26 @@ export default [
},
{
name: PageNames.LESSON_SELECT_RESOURCES,
- path: 'select-resources/:viewId?',
+ path: 'select-resources/',
component: LessonResourceSelection,
+ redirect: 'select-resources/index',
+ children: [
+ {
+ name: PageNames.LESSON_SELECT_RESOURCES_INDEX,
+ path: 'index',
+ component: SelectionIndex,
+ },
+ {
+ name: PageNames.LESSON_SELECT_RESOURCES_BOOKMARKS,
+ path: 'bookmarks',
+ component: SelectFromBookmarks,
+ },
+ {
+ name: PageNames.LESSON_SELECT_RESOURCES_CHANNELS,
+ path: 'channels',
+ component: SelectFromChannels,
+ },
+ ],
},
{
name: PageNames.LESSON_PREVIEW_SELECTED_RESOURCES,
diff --git a/kolibri/plugins/coach/assets/src/views/common/commonCoachStrings.js b/kolibri/plugins/coach/assets/src/views/common/commonCoachStrings.js
index 20dc35722ba..2c602fff59e 100644
--- a/kolibri/plugins/coach/assets/src/views/common/commonCoachStrings.js
+++ b/kolibri/plugins/coach/assets/src/views/common/commonCoachStrings.js
@@ -630,6 +630,11 @@ const coachStrings = createTranslator('CommonCoachStrings', {
context:
"Indicates the amount of resources selected along with the file size. For example:\n\n'727 resources selected (22 GB)'",
},
+ manageLessonResourcesTitle: {
+ message: 'Manage lesson resources',
+ context:
+ "In the 'Manage lesson resources' coaches can add new/remove resource material to a lesson.",
+ },
});
// Strings for the Missing Content modals, tooltips, alerts, etc.
diff --git a/kolibri/plugins/coach/assets/src/views/lessons/LessonSummaryPage/UpdatedResourceSelection.vue b/kolibri/plugins/coach/assets/src/views/lessons/LessonSummaryPage/UpdatedResourceSelection.vue
index b0e0044a3c4..bb0a1260f3c 100644
--- a/kolibri/plugins/coach/assets/src/views/lessons/LessonSummaryPage/UpdatedResourceSelection.vue
+++ b/kolibri/plugins/coach/assets/src/views/lessons/LessonSummaryPage/UpdatedResourceSelection.vue
@@ -38,11 +38,9 @@
import { ContentNodeKinds } from 'kolibri/constants';
import ContentCardList from '../../lessons/LessonResourceSelectionPage/ContentCardList.vue';
import ResourceSelectionBreadcrumbs from '../../lessons/LessonResourceSelectionPage/SearchTools/ResourceSelectionBreadcrumbs.vue';
+ import { PageNames } from '../../../constants';
import { injectResourceSelection } from './sidePanels/LessonResourceSelection/useResourceSelection';
- import {
- ResourceContentSource,
- ResourceSelectionView,
- } from './sidePanels/LessonResourceSelection/constants';
+ import { ResourceContentSource } from './sidePanels/LessonResourceSelection/constants';
export default {
name: 'UpdatedResourceSelection',
@@ -119,10 +117,7 @@
computed: {
channelsLink() {
return {
- name: this.$route.name,
- params: {
- viewId: ResourceSelectionView.SELECTION_INDEX,
- },
+ name: PageNames.LESSON_SELECT_RESOURCES_INDEX,
};
},
selectAllIndeterminate() {
diff --git a/kolibri/plugins/coach/assets/src/views/lessons/LessonSummaryPage/sidePanels/LessonResourceSelection/constants.js b/kolibri/plugins/coach/assets/src/views/lessons/LessonSummaryPage/sidePanels/LessonResourceSelection/constants.js
index 2f460e9a551..2b3c932a6cb 100644
--- a/kolibri/plugins/coach/assets/src/views/lessons/LessonSummaryPage/sidePanels/LessonResourceSelection/constants.js
+++ b/kolibri/plugins/coach/assets/src/views/lessons/LessonSummaryPage/sidePanels/LessonResourceSelection/constants.js
@@ -1,9 +1,3 @@
-export const ResourceSelectionView = {
- SELECTION_INDEX: 'selectionIndex',
- SELECT_FROM_BOOKMARKS: 'selectFromBookmarks',
- SELECT_FROM_CHANNELS: 'selectFromChannels',
-};
-
export const ResourceContentSource = {
BOOKMARKS: 'bookmarks',
TOPIC_TREE: 'topicTree',
diff --git a/kolibri/plugins/coach/assets/src/views/lessons/LessonSummaryPage/sidePanels/LessonResourceSelection/index.vue b/kolibri/plugins/coach/assets/src/views/lessons/LessonSummaryPage/sidePanels/LessonResourceSelection/index.vue
index c2f8f4165a7..0737d49b2ad 100644
--- a/kolibri/plugins/coach/assets/src/views/lessons/LessonSummaryPage/sidePanels/LessonResourceSelection/index.vue
+++ b/kolibri/plugins/coach/assets/src/views/lessons/LessonSummaryPage/sidePanels/LessonResourceSelection/index.vue
@@ -12,18 +12,24 @@