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')"
>
@@ -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 @@
-
-
-
-
-
-
{{ $tr('title') }}
-
-
-
+
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)"
/>
- handleChange('channels', 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 @@
-
-
-
- {{ $tr('keywords') }}
-
- $emit('input', { ...value, keywords: val })"
- />
-
- {{ $tr('categories') }}
-
-
-
-
+
+
+ {{ $tr('keywords') }}
+
+ $emit('input', { ...value, keywords: val })"
/>
-
-
-
+ {{ $tr('categories') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ coreString('showResources') }}
+
+
+
+
+
-
-
-
-
-
-
- {{ coreString('showResources') }}
-
-
-
+
+
+ {{ $tr('keywords') }}
+
+ $emit('input', { ...value, keywords: val })"
+ />
+
+
+
+
-