From 4bb55fcfaaa723349bb40a3775cd7bce443d8688 Mon Sep 17 00:00:00 2001 From: Emma Date: Sun, 3 Mar 2024 06:32:14 -0500 Subject: [PATCH] Move `usingTouch` into the utils store Touch no longer has to be "redetected" on every video --- src/renderer/App.js | 4 +++- .../components/ft-video-player/ft-video-player.js | 14 +++++++++----- src/renderer/store/modules/utils.js | 11 ++++++++++- 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/renderer/App.js b/src/renderer/App.js index 96845815612c3..47fe02a368fbb 100644 --- a/src/renderer/App.js +++ b/src/renderer/App.js @@ -217,6 +217,7 @@ export default defineComponent({ }) }) }, + methods: { checkThemeSettings: function () { const theme = { @@ -551,7 +552,8 @@ export default defineComponent({ }, ...mapMutations([ - 'setInvidiousInstancesList' + 'setInvidiousInstancesList', + 'setUsingTouch' ]), ...mapActions([ diff --git a/src/renderer/components/ft-video-player/ft-video-player.js b/src/renderer/components/ft-video-player/ft-video-player.js index fdab860e4c29d..40d32afab54ab 100644 --- a/src/renderer/components/ft-video-player/ft-video-player.js +++ b/src/renderer/components/ft-video-player/ft-video-player.js @@ -1,5 +1,5 @@ import { defineComponent } from 'vue' -import { mapActions } from 'vuex' +import { mapActions, mapMutations } from 'vuex' import videojs from 'video.js' import qualitySelector from '@silvermine/videojs-quality-selector' @@ -146,7 +146,6 @@ export default defineComponent({ statsModal: null, showStatsModal: false, statsModalEventName: 'updateStats', - usingTouch: false, // whether or not sponsor segments should be skipped skipSponsors: true, // countdown before actually skipping sponsor segments @@ -185,6 +184,9 @@ export default defineComponent({ } }, computed: { + usingTouch: function () { + return this.$store.getters.getUsingTouch + }, currentLocale: function () { return this.$i18n.locale.replace('_', '-') }, @@ -1984,13 +1986,13 @@ export default defineComponent({ }, handleTouchStart: function () { - this.usingTouch = true + this.setUsingTouch(true) }, handleMouseOver: function () { // This addresses a discrepancy that only seems to occur in the mobile version of firefox if (navigator.userAgent.search('Firefox') !== -1 && (videojs.browser.IS_ANDROID || videojs.browser.IS_IOS)) { return } - this.usingTouch = false + this.setUsingTouch(false) }, toggleShowStatsModal: function () { @@ -2281,7 +2283,9 @@ export default defineComponent({ this.powerSaveBlocker = null } }, - + ...mapMutations([ + 'setUsingTouch' + ]), ...mapActions([ 'updateDefaultCaptionSettings', 'parseScreenshotCustomFileName', diff --git a/src/renderer/store/modules/utils.js b/src/renderer/store/modules/utils.js index 243520044a821..96f423ed035fc 100644 --- a/src/renderer/store/modules/utils.js +++ b/src/renderer/store/modules/utils.js @@ -49,7 +49,8 @@ const state = { externalPlayerNames: [], externalPlayerNameTranslationKeys: [], externalPlayerValues: [], - externalPlayerCmdArguments: {} + externalPlayerCmdArguments: {}, + usingTouch: false } const getters = { @@ -143,6 +144,10 @@ const getters = { getExternalPlayerCmdArguments () { return state.externalPlayerCmdArguments + }, + + getUsingTouch () { + return state.usingTouch } } @@ -884,6 +889,10 @@ const mutations = { setExternalPlayerCmdArguments (state, value) { state.externalPlayerCmdArguments = value + }, + + setUsingTouch(state, value) { + state.usingTouch = value } }