Skip to content

Commit 98a1919

Browse files
committed
Setting up logic for trimming amount of content on mobile
1 parent 789f5b0 commit 98a1919

File tree

1 file changed

+45
-11
lines changed
  • kolibri/plugins/learn/assets/src/views/learn-page

1 file changed

+45
-11
lines changed

kolibri/plugins/learn/assets/src/views/learn-page/index.vue

Lines changed: 45 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,29 +5,29 @@
55
<mat-svg slot="icon" category="action" name="home"/>
66
</page-header>
77
<content-card-carousel
8-
v-if="recommendations.resume.length"
8+
v-if="trimmedResume.length"
99
:gen-link="genLink"
10-
:contents="recommendations.resume"
10+
:contents="trimmedResume"
1111
:header="$tr('resumeSectionHeader')"
12-
:subheader="$tr('resumeSectionSubHeader', {numOfItems: recommendations.resume.length})"/>
12+
:subheader="$tr('resumeSectionSubHeader', {numOfItems: trimmedResume.length})"/>
1313
<content-card-carousel
14-
v-if="recommendations.nextSteps.length"
14+
v-if="trimmedNextSteps.length"
1515
:gen-link="genLink"
16-
:contents="recommendations.nextSteps"
16+
:contents="trimmedNextSteps"
1717
:header="$tr('suggestedNextStepsSectionHeader')"
18-
:subheader="$tr('suggestedNextStepsSectionSubHeader', {numOfItems: recommendations.nextSteps.length})"/>
18+
:subheader="$tr('suggestedNextStepsSectionSubHeader', {numOfItems: trimmedNextSteps.length})"/>
1919
<content-card-carousel
20-
v-if="recommendations.popular.length"
20+
v-if="trimmedPopular.length"
2121
:gen-link="genLink"
22-
:contents="recommendations.popular"
22+
:contents="trimmedPopular"
2323
:header="$tr('popularSectionHeader')"
24-
:subheader="$tr('popularSectionSubHeader', {numOfItems: recommendations.popular.length})"/>
24+
:subheader="$tr('popularSectionSubHeader', {numOfItems: trimmedPopular.length})"/>
2525
<content-card-carousel
26-
v-if="all.content.length"
26+
v-if="trimmedOverview.length"
2727
:showViewAll="true"
2828
:gen-link="genLink"
2929
:header="$tr('overviewSectionHeader')"
30-
:contents="all.content" />
30+
:contents="trimmedOverview" />
3131
</div>
3232

3333
</template>
@@ -39,6 +39,10 @@
3939
import { getCurrentChannelObject } from 'kolibri.coreVue.vuex.getters';
4040
import pageHeader from '../page-header';
4141
import contentCardCarousel from '../content-card-carousel';
42+
import responsiveWindow from 'kolibri.coreVue.mixins.responsiveWindow';
43+
44+
const mobileCardNumber = 3;
45+
4246
export default {
4347
$trNameSpace: 'learnPageIndex',
4448
$trs: {
@@ -51,10 +55,40 @@
5155
resumeSectionSubHeader: '{numOfItems, number} items to be resumed',
5256
overviewSectionHeader: 'Overview',
5357
},
58+
mixins: [responsiveWindow],
5459
components: {
5560
pageHeader,
5661
contentCardCarousel,
5762
},
63+
computed: {
64+
isMobile() {
65+
return this.windowSize.breakpoint <= 2;
66+
},
67+
trimmedResume() {
68+
if (this.isMobile) {
69+
return this.recommendations.resume.slice(0, mobileCardNumber);
70+
}
71+
return this.recommendations.resume.slice(0, mobileCardNumber);
72+
},
73+
trimmedNextSteps() {
74+
if (this.isMobile) {
75+
return this.recommendations.nextSteps.slice(0, mobileCardNumber);
76+
}
77+
return this.recommendations.nextSteps;
78+
},
79+
trimmedPopular() {
80+
if (this.isMobile) {
81+
return this.recommendations.popular.slice(0, mobileCardNumber);
82+
}
83+
return this.recommendations.popular;
84+
},
85+
trimmedOverview() {
86+
if (this.isMobile) {
87+
return this.all.content.slice(0, mobileCardNumber);
88+
}
89+
return this.all.content;
90+
},
91+
},
5892
methods: {
5993
genLink(id, kind) {
6094
if (kind === 'topic') {

0 commit comments

Comments
 (0)