From 9e54cf6a487c7593e9f7737d6ee235c2568c1f00 Mon Sep 17 00:00:00 2001 From: Andry Yosua Date: Tue, 12 Sep 2023 12:01:26 +0700 Subject: [PATCH] Don't show audio language option if language is undetermined as a viewer i want simple option so i - don't need to see unnecessary option - have more simple option by not showing audio language option if language is undetermined fix https://github.com/TeamPiped/Piped/issues/1761 --- src/components/VideoPlayer.vue | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/components/VideoPlayer.vue b/src/components/VideoPlayer.vue index f988c905..a4d16a17 100644 --- a/src/components/VideoPlayer.vue +++ b/src/components/VideoPlayer.vue @@ -472,14 +472,7 @@ export default { this.$ui = new shaka.ui.Overlay(localPlayer, this.$refs.container, videoEl); - const overflowMenuButtons = [ - "quality", - "language", - "captions", - "picture_in_picture", - "playback_rate", - "airplay", - ]; + const overflowMenuButtons = ["quality", "captions", "picture_in_picture", "playback_rate", "airplay"]; if (this.isEmbed) { overflowMenuButtons.push("open_new_tab"); @@ -544,6 +537,20 @@ export default { player.selectAudioLanguage(lang); } + (() => { + const audioLanguages = player.getAudioLanguages(); + if (audioLanguages.length == 1 && audioLanguages[0] == "und") return; + + const overflowMenuButtons = this.$ui.getConfiguration().overflowMenuButtons; + // append language menu on index 1 + const newOverflowMenuButtons = [ + ...overflowMenuButtons.slice(0, 1), + "language", + ...overflowMenuButtons.slice(1), + ]; + this.$ui.configure("overflowMenuButtons", newOverflowMenuButtons); + })(); + if (qualityConds) { var leastDiff = Number.MAX_VALUE; var bestStream = null;