From 591c80205b5c3ee3300fe66aa00e08bce0c7ff19 Mon Sep 17 00:00:00 2001 From: Amaru8 <52407090+Amaru8@users.noreply.github.com> Date: Thu, 28 Apr 2022 23:50:08 +0200 Subject: [PATCH] Implement Open Tab on Launch feature --- src/main/base/store.ts | 4 ++++ src/renderer/main/vueapp.js | 17 +++++++++++++++-- src/renderer/views/pages/settings.ejs | 20 ++++++++++++++++++++ 3 files changed, 39 insertions(+), 2 deletions(-) diff --git a/src/main/base/store.ts b/src/main/base/store.ts index f0ab7cbf..47aec291 100644 --- a/src/main/base/store.ts +++ b/src/main/base/store.ts @@ -45,6 +45,10 @@ export class Store { "enabled": false, "hidden": false, }, + "resumeWindow": { + "tab": "home", + "dynamicData": "" + }, "keybind": { "search": [ process.platform == "darwin" ? "Command" : "Control", diff --git a/src/renderer/main/vueapp.js b/src/renderer/main/vueapp.js index 1df1092d..7ae0e8a1 100644 --- a/src/renderer/main/vueapp.js +++ b/src/renderer/main/vueapp.js @@ -480,6 +480,13 @@ const app = new Vue({ app.modals[key] = false; } }, + restoreTabs() { + if (app.cfg.general.resumeWindow.tab == "dynamic") { + this.appRoute(app.cfg.general.resumeWindow.dynamicData) + } else { + this.appRoute(app.cfg.general.resumeWindow.tab) + } + }, promptAddToPlaylist() { app.modals.addToPlaylist = true; }, @@ -894,10 +901,9 @@ const app = new Vue({ document.body.removeAttribute("loading") if (window.location.hash != "") { this.appRoute(window.location.hash) - } else { - this.page = "home" } + this.restoreTabs() this.mediaKeyFixes() setTimeout(() => { @@ -1566,6 +1572,13 @@ const app = new Vue({ return; } route = route.replace(/#/g, "") + if (app.cfg.general.resumeWindow.tab == "dynamic") { + if (route == "home" || route == "library-songs" || route == "library-albums" || route == "library-artists" || route == "library-videos" || route == "podcasts") { + app.cfg.general.resumeWindow.dynamicData = route + } else { + app.cfg.general.resumeWindow.dynamicData = "home" + } + } // if the route contains does not include a / then route to the page directly if (route.indexOf("/") == -1) { this.page = route diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs index b0b387f6..ae74da02 100644 --- a/src/renderer/views/pages/settings.ejs +++ b/src/renderer/views/pages/settings.ejs @@ -61,6 +61,26 @@ +