diff --git a/package.json b/package.json index 0ccc4e89beb71..74545875f84c0 100644 --- a/package.json +++ b/package.json @@ -64,6 +64,7 @@ "lodash.debounce": "^4.0.8", "marked": "^12.0.2", "path-browserify": "^1.0.1", + "portal-vue": "^2.1.7", "process": "^0.11.10", "swiper": "^11.1.1", "video.js": "7.21.5", diff --git a/src/renderer/App.js b/src/renderer/App.js index eade3f2166a94..853f308a77e34 100644 --- a/src/renderer/App.js +++ b/src/renderer/App.js @@ -11,6 +11,7 @@ import FtToast from './components/ft-toast/ft-toast.vue' import FtProgressBar from './components/ft-progress-bar/ft-progress-bar.vue' import FtPlaylistAddVideoPrompt from './components/ft-playlist-add-video-prompt/ft-playlist-add-video-prompt.vue' import FtCreatePlaylistPrompt from './components/ft-create-playlist-prompt/ft-create-playlist-prompt.vue' +import FtSearchFilters from './components/ft-search-filters/ft-search-filters.vue' import { marked } from 'marked' import { IpcChannels } from '../constants' import packageDetails from '../../package.json' @@ -34,6 +35,7 @@ export default defineComponent({ FtProgressBar, FtPlaylistAddVideoPrompt, FtCreatePlaylistPrompt, + FtSearchFilters }, data: function () { return { @@ -46,6 +48,7 @@ export default defineComponent({ latestBlogUrl: '', updateChangelog: '', changeLogTitle: '', + isPromptOpen: false, lastExternalLinkToBeOpened: '', showExternalLinkOpeningPrompt: false, externalLinkOpeningPromptValues: [ @@ -77,6 +80,9 @@ export default defineComponent({ showCreatePlaylistPrompt: function () { return this.$store.getters.getShowCreatePlaylistPrompt }, + showSearchFilters: function () { + return this.$store.getters.getShowSearchFilters + }, windowTitle: function () { const routePath = this.$route.path if (!routePath.startsWith('/channel/') && !routePath.startsWith('/watch/') && !routePath.startsWith('/hashtag/')) { @@ -143,12 +149,6 @@ export default defineComponent({ secColor: 'checkThemeSettings', locale: 'setLocale', - - $route () { - // react to route changes... - // Hide top nav filter panel on page change - this.$refs.topNav?.hideFilters() - } }, created () { this.checkThemeSettings() @@ -295,6 +295,10 @@ export default defineComponent({ this.showBlogBanner = false }, + handlePromptPortalUpdate: function(newVal) { + this.isPromptOpen = newVal + }, + openDownloadsPage: function () { const url = 'https://freetubeapp.io#download' openExternalLink(url) @@ -544,7 +548,7 @@ export default defineComponent({ 'updateMainColor', 'updateSecColor', 'showOutlines', - 'hideOutlines' + 'hideOutlines', ]) } }) diff --git a/src/renderer/App.vue b/src/renderer/App.vue index fb49f342eec88..668622c77c206 100644 --- a/src/renderer/App.vue +++ b/src/renderer/App.vue @@ -8,45 +8,10 @@ isLocaleRightToLeft: isLocaleRightToLeft }" > - - - - - - - - - - - + + @@ -85,6 +53,51 @@ + + + + + + + + + + diff --git a/src/renderer/components/ft-create-playlist-prompt/ft-create-playlist-prompt.js b/src/renderer/components/ft-create-playlist-prompt/ft-create-playlist-prompt.js index 1beac5852a38a..1a01b59df8987 100644 --- a/src/renderer/components/ft-create-playlist-prompt/ft-create-playlist-prompt.js +++ b/src/renderer/components/ft-create-playlist-prompt/ft-create-playlist-prompt.js @@ -1,4 +1,4 @@ -import { defineComponent } from 'vue' +import { defineComponent, nextTick } from 'vue' import { mapActions } from 'vuex' import FtFlexBox from '../ft-flex-box/ft-flex-box.vue' import FtPrompt from '../ft-prompt/ft-prompt.vue' @@ -24,6 +24,9 @@ export default defineComponent({ } }, computed: { + title: function () { + return this.$t('User Playlists.CreatePlaylistPrompt.New Playlist Name') + }, allPlaylists: function () { return this.$store.getters.getAllPlaylists }, @@ -34,7 +37,7 @@ export default defineComponent({ mounted: function () { this.playlistName = this.newPlaylistVideoObject.title // Faster to input required playlist name - this.$refs.playlistNameInput.focus() + nextTick(() => this.$refs.playlistNameInput.focus()) }, methods: { createNewPlaylist: function () { diff --git a/src/renderer/components/ft-create-playlist-prompt/ft-create-playlist-prompt.vue b/src/renderer/components/ft-create-playlist-prompt/ft-create-playlist-prompt.vue index f541d08892a36..e82ca98ac1dd6 100644 --- a/src/renderer/components/ft-create-playlist-prompt/ft-create-playlist-prompt.vue +++ b/src/renderer/components/ft-create-playlist-prompt/ft-create-playlist-prompt.vue @@ -1,9 +1,10 @@