diff --git a/kolibri/plugins/coach/assets/src/views/quizzes/CreateExamPage/ResourceSelection.vue b/kolibri/plugins/coach/assets/src/views/quizzes/CreateExamPage/ResourceSelection.vue index c594f25bd9..fcb6d40278 100644 --- a/kolibri/plugins/coach/assets/src/views/quizzes/CreateExamPage/ResourceSelection.vue +++ b/kolibri/plugins/coach/assets/src/views/quizzes/CreateExamPage/ResourceSelection.vue @@ -4,7 +4,7 @@
-
+

-
+

{{ coreString('selectFromBookmarks') }}

@@ -97,12 +97,6 @@ :topicsLink="topicsLink" /> - -
+ + + - +
+ +
+ + + + diff --git a/kolibri/plugins/learn/assets/src/views/TopicsPage/index.vue b/kolibri/plugins/learn/assets/src/views/TopicsPage/index.vue index 0ba3a3c6f3..bb512a4af5 100644 --- a/kolibri/plugins/learn/assets/src/views/TopicsPage/index.vue +++ b/kolibri/plugins/learn/assets/src/views/TopicsPage/index.vue @@ -186,26 +186,24 @@
@@ -974,8 +972,11 @@ .side-panel { position: absolute; top: $total-height; + left: 0; min-height: calc(100vh - #{$toolbar-height}); - padding-top: 16px; + // Padding & scroll to ensure user can scroll all the way down + padding: 1em 1em 6em; + overflow-y: scroll; } .main-content-grid { @@ -1049,4 +1050,13 @@ margin-bottom: 24px; } + /deep/ .activities-wrapper { + grid-template-columns: repeat(auto-fit, minmax(80px, 1fr)); + } + + /deep/ .btn-activity { + width: 80px; + height: 80px; + } + diff --git a/kolibri/plugins/learn/assets/test/views/library-page.spec.js b/kolibri/plugins/learn/assets/test/views/library-page.spec.js index b16aabc082..f4a9b76d2d 100644 --- a/kolibri/plugins/learn/assets/test/views/library-page.spec.js +++ b/kolibri/plugins/learn/assets/test/views/library-page.spec.js @@ -140,7 +140,7 @@ describe('LibraryPage', () => { options: { stubs: ['SidePanelModal'] }, }); // not displayed by default - expect(wrapper.findComponent({ name: 'SearchFiltersPanel' }).element).toBeUndefined(); + expect(wrapper.find('[data-test="side-panel"]').element).toBeUndefined(); wrapper.find('[data-test="filter-button"]').trigger('click'); await wrapper.vm.$nextTick(); expect(wrapper.findComponent({ name: 'SearchFiltersPanel' }).element).toBeTruthy(); @@ -355,7 +355,7 @@ describe('LibraryPage', () => { windowIsLarge: true, })); const wrapper = await makeWrapper(); - expect(wrapper.find('[data-test="side-panel"').element).toBeTruthy(); + expect(wrapper.find('[data-test="side-panel-local"').element).toBeTruthy(); }); }); diff --git a/packages/kolibri-common/components/SearchBox.vue b/packages/kolibri-common/components/SearchBox.vue index 7b3cefbde9..ede7f3f5f9 100644 --- a/packages/kolibri-common/components/SearchBox.vue +++ b/packages/kolibri-common/components/SearchBox.vue @@ -25,7 +25,7 @@ class="search-input" :class="$computedClass(searchInputStyle)" dir="auto" - :placeholder="coreString(placeholder)" + :placeholder="placeholder || coreString('searchLabel')" >
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + diff --git a/packages/kolibri-common/components/SearchFiltersPanel/ActivityButtonsGroup.vue b/packages/kolibri-common/components/SearchFiltersPanel/ActivityButtonsGroup.vue index 762f9a6db5..66e1b6c404 100644 --- a/packages/kolibri-common/components/SearchFiltersPanel/ActivityButtonsGroup.vue +++ b/packages/kolibri-common/components/SearchFiltersPanel/ActivityButtonsGroup.vue @@ -4,28 +4,30 @@

{{ $tr('activities') }}

- - + - -

- {{ coreString(camelCase(activity)) }} -

-
-
+ + +

+ {{ coreString(camelCase(activity)) }} +

+
+ +
@@ -54,8 +56,8 @@ activityStyles() { return { color: this.$themeTokens.text, - width: '50%', - height: '100px', + width: '120px', + height: '120px', border: '2px solid transparent', textTransform: 'capitalize', fontWeight: 'normal', @@ -126,4 +128,9 @@ margin-top: -12px; } + .wrapper { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(80px, 1fr)); + } + diff --git a/packages/kolibri-common/components/SearchFiltersPanel/CategorySearchModal/CategorySearchOptions.vue b/packages/kolibri-common/components/SearchFiltersPanel/CategorySearchModal/CategorySearchOptions.vue index 82a6da6917..19c0b0f076 100644 --- a/packages/kolibri-common/components/SearchFiltersPanel/CategorySearchModal/CategorySearchOptions.vue +++ b/packages/kolibri-common/components/SearchFiltersPanel/CategorySearchModal/CategorySearchOptions.vue @@ -23,6 +23,7 @@

diff --git a/packages/kolibri-common/components/SearchFiltersPanel/CategorySearchModal/index.vue b/packages/kolibri-common/components/SearchFiltersPanel/CategorySearchModal/index.vue index 0d5c255264..42b8a3c5f2 100644 --- a/packages/kolibri-common/components/SearchFiltersPanel/CategorySearchModal/index.vue +++ b/packages/kolibri-common/components/SearchFiltersPanel/CategorySearchModal/index.vue @@ -1,36 +1,16 @@ diff --git a/packages/kolibri-common/components/SearchFiltersPanel/SelectGroup.vue b/packages/kolibri-common/components/SearchFiltersPanel/SelectGroup.vue index 419bc994fd..2c171f020c 100644 --- a/packages/kolibri-common/components/SearchFiltersPanel/SelectGroup.vue +++ b/packages/kolibri-common/components/SearchFiltersPanel/SelectGroup.vue @@ -24,18 +24,6 @@ :style="selectorStyle" @change="val => handleChange('grade_levels', val)" /> - Object.prototype.hasOwnProperty.call(value, k)); }, }, - showChannels: { - type: Boolean, - default: true, - }, }, computed: { selectorStyle() { @@ -151,16 +133,6 @@ enabledContentLevels() { return this.contentLevelsList.filter(c => !c.disabled); }, - channelOptionsList() { - return this.availableChannels.map(channel => ({ - value: channel.id, - disabled: this.searchableLabels && !this.searchableLabels.channels.includes(channel.id), - label: channel.name, - })); - }, - enabledChannelOptions() { - return this.channelOptionsList.filter(c => !c.disabled); - }, langId() { return Object.keys(this.value.languages)[0]; }, @@ -188,15 +160,6 @@ } return this.contentLevelsList.find(o => o.value === this.levelId) || {}; }, - channelId() { - return Object.keys(this.value.channels)[0]; - }, - selectedChannel() { - if (!this.channelId && this.enabledChannelOptions.length === 1) { - return this.enabledChannelOptions[0]; - } - return this.channelOptionsList.find(o => o.value === this.channelId) || {}; - }, }, methods: { handleChange(field, value) { diff --git a/packages/kolibri-common/components/SearchFiltersPanel/index.vue b/packages/kolibri-common/components/SearchFiltersPanel/index.vue index 94e6fe83c1..9d4ad114dd 100644 --- a/packages/kolibri-common/components/SearchFiltersPanel/index.vue +++ b/packages/kolibri-common/components/SearchFiltersPanel/index.vue @@ -1,10 +1,7 @@ @@ -127,8 +165,9 @@