diff --git a/src/renderer/components/general-settings/general-settings.js b/src/renderer/components/general-settings/general-settings.js index b47b3324cab1b..3dc6a56adaf02 100644 --- a/src/renderer/components/general-settings/general-settings.js +++ b/src/renderer/components/general-settings/general-settings.js @@ -70,8 +70,21 @@ export default defineComponent({ checkForBlogPosts: function () { return this.$store.getters.getCheckForBlogPosts }, + hidePlaylists: function () { + return this.$store.getters.getHidePlaylists + }, + hidePopularVideos: function () { + return this.$store.getters.getHidePopularVideos + }, + hideTrendingVideos: function () { + return this.$store.getters.getHideTrendingVideos + }, defaultPages: function () { - return this.$router.getRoutes().filter((route) => this.includedDefaultPageNames.includes(route.name)) + let includedPageNames = this.includedDefaultPageNames + if (this.hideTrendingVideos) includedPageNames = includedPageNames.filter((pageName) => pageName !== 'trending') + if (this.hidePlaylists) includedPageNames = includedPageNames.filter((pageName) => pageName !== 'userPlaylists') + if (!(!this.hidePopularVideos && (this.backendFallback || this.backendPreference === 'invidious'))) includedPageNames = includedPageNames.filter((pageName) => pageName !== 'popular') + return this.$router.getRoutes().filter((route) => includedPageNames.includes(route.name)) }, defaultPageNames: function () { return this.defaultPages.map((route) => this.$t(route.meta.title)) @@ -84,6 +97,11 @@ export default defineComponent({ return this.$store.getters.getBackendPreference }, landingPage: function () { + const landingPage = this.$store.getters.getLandingPage + // invalidate landing page selection & restore to default value if no longer valid + if (!this.defaultPageValues.includes(landingPage)) { + this.updateLandingPage('subscriptions') + } return this.$store.getters.getLandingPage }, region: function () {