diff --git a/kolibri/core/assets/src/views/ContentRenderer/DownloadButton.vue b/kolibri/core/assets/src/views/ContentRenderer/DownloadButton.vue index d3cd11769aa..5b86c01c9cc 100644 --- a/kolibri/core/assets/src/views/ContentRenderer/DownloadButton.vue +++ b/kolibri/core/assets/src/views/ContentRenderer/DownloadButton.vue @@ -39,7 +39,6 @@ }), }; }); - console.log(options); return options; }, }, diff --git a/kolibri/core/assets/src/views/FullScreenSidePanel/index.vue b/kolibri/core/assets/src/views/FullScreenSidePanel/index.vue index af01a30448e..08615ef5ae5 100644 --- a/kolibri/core/assets/src/views/FullScreenSidePanel/index.vue +++ b/kolibri/core/assets/src/views/FullScreenSidePanel/index.vue @@ -13,13 +13,18 @@ :style="{ color: $themeTokens.text, backgroundColor: $themeTokens.surface, + right: (alignment === 'right' ? 0 : ''), + left: (alignment === 'left' ? 0 : ''), + width: (sidePanelOverrideWidth ? sidePanelOverrideWidth : '') }" > - +
+ +
-

{{ coreString(camelCase(key)) }}

-

+ {{ coreString(camelCase(key)) }} + + + +

+ {{ coreString(camelCase(nestedKey)) }} -

- - - + +
+ + + + - +

- -

{{ coreString(camelCase(key)) }}

- - - + {{ coreString(camelCase(key)) }} +

+
+
@@ -110,7 +122,7 @@ } export default { - name: 'CategorySearchModal', + name: 'CategorySearchModalOptions', mixins: [commonCoreStrings], props: { selectedCategory: { @@ -123,6 +135,16 @@ required: false, default: null, }, + numCols: { + type: String, + required: true, + default: null, + }, + span: { + type: String, + required: true, + default: null, + }, }, computed: { availablePaths() { @@ -154,12 +176,16 @@ return camelCase(val); }, }, - $trs: { - title: { - message: 'Choose a category', - context: 'Title of the category selection window', - }, - }, }; + + + diff --git a/kolibri/plugins/learn/assets/src/views/CategorySearchModal/index.vue b/kolibri/plugins/learn/assets/src/views/CategorySearchModal/index.vue new file mode 100644 index 00000000000..219a7ba4139 --- /dev/null +++ b/kolibri/plugins/learn/assets/src/views/CategorySearchModal/index.vue @@ -0,0 +1,120 @@ + + + + diff --git a/kolibri/plugins/learn/assets/src/views/ChannelCard/CardThumbnail.vue b/kolibri/plugins/learn/assets/src/views/ChannelCard/CardThumbnail.vue new file mode 100644 index 00000000000..81090d42061 --- /dev/null +++ b/kolibri/plugins/learn/assets/src/views/ChannelCard/CardThumbnail.vue @@ -0,0 +1,235 @@ + + + + + + + diff --git a/kolibri/plugins/learn/assets/src/views/ChannelCard/card.scss b/kolibri/plugins/learn/assets/src/views/ChannelCard/card.scss new file mode 100644 index 00000000000..1a58a228f28 --- /dev/null +++ b/kolibri/plugins/learn/assets/src/views/ChannelCard/card.scss @@ -0,0 +1,7 @@ +$ratio: 16 / 9; + +$thumb-width-desktop: 210px; +$thumb-height-desktop: round($thumb-width-desktop / $ratio); + +$thumb-height-mobile: 92px; +$thumb-width-mobile: round($thumb-height-mobile * $ratio); diff --git a/kolibri/plugins/learn/assets/src/views/ChannelCard/index.vue b/kolibri/plugins/learn/assets/src/views/ChannelCard/index.vue new file mode 100644 index 00000000000..13ecfb7fe91 --- /dev/null +++ b/kolibri/plugins/learn/assets/src/views/ChannelCard/index.vue @@ -0,0 +1,189 @@ + + + + + + + diff --git a/kolibri/plugins/learn/assets/src/views/ChannelCardGroupGrid.vue b/kolibri/plugins/learn/assets/src/views/ChannelCardGroupGrid.vue index 1282c28a829..b22e0f857ee 100644 --- a/kolibri/plugins/learn/assets/src/views/ChannelCardGroupGrid.vue +++ b/kolibri/plugins/learn/assets/src/views/ChannelCardGroupGrid.vue @@ -14,7 +14,7 @@ :tagline="getTagLine(content)" :progress="content.progress || 0" :numCoachContents="content.num_coach_contents" - :link="genContentLink(content.id, content.is_leaf)" + :link="genChannelLink(content.id, content.is_leaf)" :contentId="content.content_id" :copiesCount="content.copies_count" @openCopiesModal="openCopiesModal" @@ -35,7 +35,7 @@ @@ -221,18 +153,16 @@ .coach-content-label { display: inline-block; - padding-top: $margin; } .card { @extend %dropshadow-1dp; - position: relative; display: inline-block; - width: 100%; + width: $thumb-width-desktop; text-decoration: none; vertical-align: top; - border-radius: 8px; + border-radius: 2px; transition: box-shadow $core-time ease; &:hover { @extend %dropshadow-8dp; @@ -243,31 +173,26 @@ } } - .header-bar { - padding: 13px 18px 0; - margin-bottom: 0; - font-size: 13px; - } - - .k-labeled-icon { - display: inline-block; - max-width: calc(100% - 50px); - height: 24px; - margin-bottom: 0; - vertical-align: top; + .text { + position: relative; + height: 92px; + padding: $margin; } - .channel-logo { - display: inline-block; - float: right; - height: 24px; - margin-bottom: 0; + .title, + .subtitle { + margin: 0; } - .text { - position: relative; - height: 190px; - padding: $margin; + .subtitle { + position: absolute; + top: 38px; + right: $margin; + left: $margin; + overflow: hidden; + font-size: 14px; + text-overflow: ellipsis; + white-space: nowrap; } .footer { @@ -275,38 +200,35 @@ right: $margin; bottom: $margin; left: $margin; - display: inline-block; font-size: 12px; } - .k-linear-loader { - display: inline-block; - max-width: 70%; - } - - .left { - float: left; + .subtitle.no-footer { + top: unset; + bottom: $margin; } - .right { + .copies { + display: inline-block; float: right; } .mobile-card.card { width: 100%; - height: $thumb-height-mobile; + height: 450px; } .mobile-card { .thumbnail { position: absolute; } - .text { - height: 84px; - margin-left: $thumb-width-mobile; + .description { + padding: 8px; + margin-top: $thumb-height-mobile; } - .subtitle { - top: 36px; + .title { + margin-left: 16px; + text-decoration: none; } } diff --git a/kolibri/plugins/learn/assets/src/views/ContentCardGroupGrid.vue b/kolibri/plugins/learn/assets/src/views/ContentCardGroupGrid.vue index 55d8d1dfce0..847c8f5e522 100644 --- a/kolibri/plugins/learn/assets/src/views/ContentCardGroupGrid.vue +++ b/kolibri/plugins/learn/assets/src/views/ContentCardGroupGrid.vue @@ -1,34 +1,9 @@