diff --git a/NUXT/layouts/default.vue b/NUXT/layouts/default.vue index fa2ed08..cc59d66 100644 --- a/NUXT/layouts/default.vue +++ b/NUXT/layouts/default.vue @@ -94,18 +94,21 @@ export default { mounted() { //--- Back Button Listener ---// - CapacitorApp.addListener("backButton", ({ canGoBack }) => { - //--- Back Closes Search ---// - if (this.search) { - this.search = false; + this.backHandler = CapacitorApp.addListener( + "backButton", + ({ canGoBack }) => { + //--- Back Closes Search ---// + if (this.search) { + this.search = false; - //--- Back Goes Back ---// - } else if (!canGoBack) { - CapacitorApp.exitApp(); - } else { - window.history.back(); + //--- Back Goes Back ---// + } else if (!canGoBack) { + CapacitorApp.exitApp(); + } else { + window.history.back(); + } } - }); + ); // --- External URL Handling --- // CapacitorApp.addListener("appUrlOpen", (event) => { @@ -122,6 +125,10 @@ export default { document.head.appendChild(plugin); }, + beforeDestroy() { + if (this.backHandler) this.backHandler.remove(); + }, + methods: { textChanged(text) { if (text.length <= 0) { diff --git a/NUXT/pages/embed/_redirect_.vue b/NUXT/pages/embed/_redirect_.vue deleted file mode 100644 index 820d9e6..0000000 --- a/NUXT/pages/embed/_redirect_.vue +++ /dev/null @@ -1,19 +0,0 @@ - - - diff --git a/NUXT/pages/watch.vue b/NUXT/pages/watch.vue index 54a6af2..538c4f9 100644 --- a/NUXT/pages/watch.vue +++ b/NUXT/pages/watch.vue @@ -209,6 +209,8 @@ import ShelfRenderer from "~/components/SectionRenderers/shelfRenderer.vue"; import mainCommentRenderer from "~/components/Comments/mainCommentRenderer.vue"; import SwipeableBottomSheet from "~/components/ExtendedComponents/swipeableBottomSheet"; +import { App as CapacitorApp } from "@capacitor/app"; + export default { components: { ShelfRenderer, @@ -250,10 +252,29 @@ export default { mounted() { this.mountedInit(); + + this.backHandler = CapacitorApp.addListener( + "backButton", + ({ canGoBack }) => { + //--- Back Closes Search ---// + if (this.showComments) { + this.showComments = false; + + //--- Back Goes Back ---// + } else if (!canGoBack) { + this.$router.replace( + `/${localStorage.getItem("startPage") || "home"}` + ); + } else { + window.history.back(); + } + } + ); }, beforeDestroy() { clearInterval(this.interval); + if (this.backHandler) this.backHandler.remove(); }, methods: {