FreeTube/src/renderer/views/UserPlaylists/UserPlaylists.js

60 lines
1.5 KiB
JavaScript
Raw Normal View History

2020-02-16 19:30:00 +01:00
import Vue from 'vue'
import FtCard from '../../components/ft-card/ft-card.vue'
import FtFlexBox from '../../components/ft-flex-box/ft-flex-box.vue'
import FtTooltip from '../../components/ft-tooltip/ft-tooltip.vue'
import FtLoader from '../../components/ft-loader/ft-loader.vue'
2021-01-16 18:18:27 +01:00
import FtButton from '../../components/ft-button/ft-button.vue'
2020-02-16 19:30:00 +01:00
import FtElementList from '../../components/ft-element-list/ft-element-list.vue'
export default Vue.extend({
name: 'UserPlaylists',
components: {
'ft-card': FtCard,
'ft-flex-box': FtFlexBox,
'ft-tooltip': FtTooltip,
'ft-loader': FtLoader,
2021-01-16 18:18:27 +01:00
'ft-button': FtButton,
2020-02-16 19:30:00 +01:00
'ft-element-list': FtElementList
},
data: function () {
return {
isLoading: false,
dataLimit: 100
}
},
computed: {
favoritesPlaylist: function () {
return this.$store.getters.getFavorites
},
activeData: function () {
if (this.favoritesPlaylist.videos.length < this.dataLimit) {
return this.favoritesPlaylist.videos
} else {
return this.favoritesPlaylist.videos.slice(0, this.dataLimit)
}
}
},
watch: {
activeData() {
this.isLoading = true
setTimeout(() => {
this.isLoading = false
}, 100)
}
},
2020-02-16 19:30:00 +01:00
mounted: function () {
const limit = sessionStorage.getItem('favoritesLimit')
if (limit !== null) {
this.dataLimit = limit
}
},
methods: {
increaseLimit: function () {
this.dataLimit += 100
sessionStorage.setItem('favoritesLimit', this.dataLimit)
}
2020-02-16 19:30:00 +01:00
}
})