From 12f6e1bf6fdb7f2585fdbacfb71bd2a33206affe Mon Sep 17 00:00:00 2001 From: Nikita Krupin Date: Sun, 29 May 2022 13:08:21 -0400 Subject: [PATCH 01/10] player bugs & improvements, cooler video card thumbnail rounding --- NUXT/components/Player/fullscreen.vue | 2 +- NUXT/components/Player/index.vue | 59 +++++++++++-------- NUXT/components/Player/quality.vue | 2 +- NUXT/components/Player/seekbar.vue | 20 +++++-- NUXT/components/Player/speed.vue | 2 +- NUXT/components/Player/watchtime.vue | 6 +- .../UtilRenderers/baseVideoRenderer.vue | 28 +++++---- NUXT/pages/watch.vue | 13 ++-- 8 files changed, 82 insertions(+), 50 deletions(-) diff --git a/NUXT/components/Player/fullscreen.vue b/NUXT/components/Player/fullscreen.vue index 310b4bb..ca315da 100644 --- a/NUXT/components/Player/fullscreen.vue +++ b/NUXT/components/Player/fullscreen.vue @@ -3,7 +3,7 @@ fab text color="white" - style="position: absolute; bottom: 0.25rem; right: 0" + style="position: absolute; bottom: 0.25rem; right: 0.5rem" @click.stop="$emit('fullscreen')" > {{ fullscreen ? "mdi-fullscreen-exit" : "mdi-fullscreen" }} diff --git a/NUXT/components/Player/index.vue b/NUXT/components/Player/index.vue index 3558343..a9b1e2d 100644 --- a/NUXT/components/Player/index.vue +++ b/NUXT/components/Player/index.vue @@ -19,26 +19,32 @@ ref="player" autoplay width="100%" + :height="isFullscreen ? '100%' : 'auto'" :src="vidSrc" - style="transition: filter 0.15s ease-in-out; max-height: 100vh" - :class="controls ? 'dim' : ''" + style="transition: filter 0.15s ease-in-out" + :class="controls || seeking ? 'dim' : ''" :style="contain ? 'object-fit: contain;' : 'object-fit: cover;'" /> - - +

{{ video.title }}

+
{{ video.channelName }}
+ + +
@@ -123,11 +124,16 @@ export default { type: Array, required: true, }, + video: { + type: Object, + required: true, + }, }, data() { return { isFullscreen: false, controls: false, + seeking: false, contain: true, vidSrc: "", }; @@ -135,9 +141,11 @@ export default { mounted() { console.log("sources", this.sources); this.vidSrc = this.sources[this.sources.length - 1].url; + // TODO: detect orientation change and enter fullscreen + // TODO: detect video loading state and send this.loading to play button :loading = loading }, beforeDestroy() { - this.exitFullscreen(); + if (this.isFullscreen) this.exitFullscreen(); }, methods: { handleFullscreenChange() { @@ -184,4 +192,7 @@ export default { .dim { filter: brightness(50%); } +.invisible { + opacity: 0; +} diff --git a/NUXT/components/Player/quality.vue b/NUXT/components/Player/quality.vue index c16e4ff..52e72d2 100644 --- a/NUXT/components/Player/quality.vue +++ b/NUXT/components/Player/quality.vue @@ -3,7 +3,7 @@ fab text disabled - style="position: absolute; bottom: 0.25rem; right: 3.5rem" + style="position: absolute; bottom: 0.25rem; right: 4rem" > HD
diff --git a/NUXT/components/Player/seekbar.vue b/NUXT/components/Player/seekbar.vue index 4a80308..7c90dd9 100644 --- a/NUXT/components/Player/seekbar.vue +++ b/NUXT/components/Player/seekbar.vue @@ -11,29 +11,39 @@ query active style="width: 100%" + class="background" + :class="$vuetify.theme.dark ? 'lighten-1' : 'darken-1'" background-opacity="0.5" background-color="primary" :buffer-value="buffered" :value="percent" color="primary" height="2" + :style=" + fullscreen + ? 'width: calc(100% - 3rem); left: 1.5rem; position: absolute; bottom: 3.75rem;' + : 'width: 100%' + " /> @@ -62,7 +72,7 @@ diff --git a/NUXT/components/Player/seekbar.vue b/NUXT/components/Player/seekbar.vue index 7c90dd9..fc72249 100644 --- a/NUXT/components/Player/seekbar.vue +++ b/NUXT/components/Player/seekbar.vue @@ -11,14 +11,15 @@ query active style="width: 100%" - class="background" - :class="$vuetify.theme.dark ? 'lighten-1' : 'darken-1'" + :class=" + $vuetify.theme.dark ? 'transparent-lighten-1' : 'transparent-darken-1' + " background-opacity="0.5" background-color="primary" :buffer-value="buffered" :value="percent" color="primary" - height="2" + height="3" :style=" fullscreen ? 'width: calc(100% - 3rem); left: 1.5rem; position: absolute; bottom: 3.75rem;' @@ -33,7 +34,7 @@ dense track-color="transparent" :class="!controls && !fullscreen && !scrubbing ? 'invisible' : ''" - style="position: absolute; z-index: 69420" + style="position: absolute; z-index: 2" :style=" fullscreen ? 'width: calc(100% - 3rem); left: 1.5rem; bottom: 3.75rem;' diff --git a/NUXT/components/Player/speed.vue b/NUXT/components/Player/speed.vue index 89c07cf..d7b372c 100644 --- a/NUXT/components/Player/speed.vue +++ b/NUXT/components/Player/speed.vue @@ -1,10 +1,58 @@ + + diff --git a/NUXT/layouts/default.vue b/NUXT/layouts/default.vue index 4a8918b..ed6f57e 100644 --- a/NUXT/layouts/default.vue +++ b/NUXT/layouts/default.vue @@ -248,6 +248,12 @@ export default { backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); } +.transparent-lighten-1 { + background: #ffffff22; +} +.transparent-darken-1 { + background: #00000022; +} .debug { outline: 1px solid red; } diff --git a/NUXT/pages/watch.vue b/NUXT/pages/watch.vue index c636031..5439874 100644 --- a/NUXT/pages/watch.vue +++ b/NUXT/pages/watch.vue @@ -1,8 +1,8 @@ Playback Speed - - - - - - - {{ sped }}X - - + + + + + + + {{ src.qualityLabel }} ({{ src.quality }}) + + @@ -57,11 +56,5 @@ export default { data: () => ({ sheet: false, }), - mounted() { - console.log( - "sourcessourcessourcessourcessourcessourcessources", - this.sources - ); - }, }; diff --git a/NUXT/components/Player/speed.vue b/NUXT/components/Player/speed.vue index d7b372c..d598993 100644 --- a/NUXT/components/Player/speed.vue +++ b/NUXT/components/Player/speed.vue @@ -52,7 +52,7 @@ export default { props: ["video"], data: () => ({ sheet: false, - speeds: [0.25, 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2, 3, 4, 5, 10], + speeds: [0.25, 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2, 3, 4, 8, 16], }), }; From af82135813d1093d4fd4368b661d919c4a65c30f Mon Sep 17 00:00:00 2001 From: Nikita Krupin Date: Sun, 29 May 2022 14:49:31 -0400 Subject: [PATCH 04/10] quality selector label fix --- NUXT/components/Player/quality.vue | 2 +- NUXT/pages/watch.vue | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/NUXT/components/Player/quality.vue b/NUXT/components/Player/quality.vue index a3d731c..6244897 100644 --- a/NUXT/components/Player/quality.vue +++ b/NUXT/components/Player/quality.vue @@ -17,7 +17,7 @@ - Playback Speed + Quality for current video { + // TODO: add other resolutions as well this.sources = result.availableResolutions; console.log("Video info data", result); this.video = result; From 9d426ff9cf6a1b903c6459144d14f4aec8cfd6c4 Mon Sep 17 00:00:00 2001 From: Nikita Krupin Date: Sun, 29 May 2022 15:08:58 -0400 Subject: [PATCH 05/10] progressbar color fix --- NUXT/components/Player/seekbar.vue | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/NUXT/components/Player/seekbar.vue b/NUXT/components/Player/seekbar.vue index fc72249..0937c0e 100644 --- a/NUXT/components/Player/seekbar.vue +++ b/NUXT/components/Player/seekbar.vue @@ -10,10 +10,7 @@ Date: Sun, 29 May 2022 18:14:00 -0400 Subject: [PATCH 06/10] scaling tweaxes --- .../Comments/commentThreadRenderer.vue | 6 +++--- NUXT/components/Player/captions.vue | 8 +++++++- NUXT/components/Player/close.vue | 3 ++- NUXT/components/Player/fullscreen.vue | 3 ++- NUXT/components/Player/index.vue | 16 +++++++--------- NUXT/components/Player/loop.vue | 8 +++++++- NUXT/components/Player/minimize.vue | 8 +++++++- NUXT/components/Player/quality.vue | 3 ++- NUXT/components/Player/seekbar.vue | 4 ++-- NUXT/components/Player/speed.vue | 3 ++- NUXT/components/Player/watchtime.vue | 4 ++-- 11 files changed, 43 insertions(+), 23 deletions(-) diff --git a/NUXT/components/Comments/commentThreadRenderer.vue b/NUXT/components/Comments/commentThreadRenderer.vue index 8079cf0..c8f68b4 100644 --- a/NUXT/components/Comments/commentThreadRenderer.vue +++ b/NUXT/components/Comments/commentThreadRenderer.vue @@ -10,7 +10,7 @@ text to="/channel" class="avatar-link mr-4" - style="height: 3rem; width: 3rem" + style="height: 35px; width: 35px" @click.prevent=" $store.dispatch( 'channel/fetchChannel', @@ -117,8 +117,8 @@ .avatar-thumbnail { border-radius: 50%; - width: 48px; - height: 48px; + width: 35px; + height: 35px; } .comment-content { diff --git a/NUXT/components/Player/captions.vue b/NUXT/components/Player/captions.vue index a570f5b..c01ae1d 100644 --- a/NUXT/components/Player/captions.vue +++ b/NUXT/components/Player/captions.vue @@ -1,5 +1,11 @@ diff --git a/NUXT/components/Player/close.vue b/NUXT/components/Player/close.vue index cc671f2..3f53584 100644 --- a/NUXT/components/Player/close.vue +++ b/NUXT/components/Player/close.vue @@ -3,7 +3,8 @@ diff --git a/NUXT/components/Player/fullscreen.vue b/NUXT/components/Player/fullscreen.vue index ca315da..c4cfdb5 100644 --- a/NUXT/components/Player/fullscreen.vue +++ b/NUXT/components/Player/fullscreen.vue @@ -2,8 +2,9 @@ {{ fullscreen ? "mdi-fullscreen-exit" : "mdi-fullscreen" }} diff --git a/NUXT/components/Player/index.vue b/NUXT/components/Player/index.vue index b3d4a49..5985b0e 100644 --- a/NUXT/components/Player/index.vue +++ b/NUXT/components/Player/index.vue @@ -30,31 +30,29 @@ v-if="isFullscreen && controls" style=" position: absolute; - width: calc(100% - 13.5rem); - left: 3.5rem; - top: 1rem; + width: calc(100% - 12rem); + left: 3rem; + top: 0.5rem; " > -

{{ video.title }}

-
{{ video.channelName }}
+

{{ video.title }}

+
{{ video.channelName }}
diff --git a/NUXT/components/Player/loop.vue b/NUXT/components/Player/loop.vue index 930c489..dbf3cf9 100644 --- a/NUXT/components/Player/loop.vue +++ b/NUXT/components/Player/loop.vue @@ -1,5 +1,11 @@ diff --git a/NUXT/components/Player/minimize.vue b/NUXT/components/Player/minimize.vue index 15334ac..a09e89f 100644 --- a/NUXT/components/Player/minimize.vue +++ b/NUXT/components/Player/minimize.vue @@ -1,5 +1,11 @@ diff --git a/NUXT/components/Player/quality.vue b/NUXT/components/Player/quality.vue index 6244897..5d2d665 100644 --- a/NUXT/components/Player/quality.vue +++ b/NUXT/components/Player/quality.vue @@ -9,7 +9,8 @@ diff --git a/NUXT/components/Player/seekbar.vue b/NUXT/components/Player/seekbar.vue index 0937c0e..15cdb86 100644 --- a/NUXT/components/Player/seekbar.vue +++ b/NUXT/components/Player/seekbar.vue @@ -19,7 +19,7 @@ height="3" :style=" fullscreen - ? 'width: calc(100% - 3rem); left: 1.5rem; position: absolute; bottom: 3.75rem;' + ? 'width: calc(100% - 2rem); left: 1rem; position: absolute; bottom: 3rem;' : 'width: 100%' " /> @@ -34,7 +34,7 @@ style="position: absolute; z-index: 2" :style=" fullscreen - ? 'width: calc(100% - 3rem); left: 1.5rem; bottom: 3.75rem;' + ? 'width: calc(100% - 2rem); left: 1rem; bottom: 3rem;' : 'width: calc(100% - 0.8rem); left: 0.4rem; bottom: 0;' " :thumb-size="0" diff --git a/NUXT/components/Player/speed.vue b/NUXT/components/Player/speed.vue index d598993..e43fb08 100644 --- a/NUXT/components/Player/speed.vue +++ b/NUXT/components/Player/speed.vue @@ -9,7 +9,8 @@ diff --git a/NUXT/components/Player/watchtime.vue b/NUXT/components/Player/watchtime.vue index 7cc4ca2..496810b 100644 --- a/NUXT/components/Player/watchtime.vue +++ b/NUXT/components/Player/watchtime.vue @@ -2,8 +2,8 @@
Date: Sun, 29 May 2022 19:41:42 -0400 Subject: [PATCH 07/10] bunch of player stuff --- NUXT/components/Player/index.vue | 80 ++++++++++++++++++++++++++-- NUXT/components/Player/playpause.vue | 11 ++-- NUXT/components/Player/quality.vue | 7 ++- NUXT/components/Player/speed.vue | 7 ++- NUXT/pages/watch.vue | 11 ++-- 5 files changed, 98 insertions(+), 18 deletions(-) diff --git a/NUXT/components/Player/index.vue b/NUXT/components/Player/index.vue index 5985b0e..2e5f6b3 100644 --- a/NUXT/components/Player/index.vue +++ b/NUXT/components/Player/index.vue @@ -39,10 +39,18 @@
{{ video.channelName }}
- + mdi-rewind @@ -51,11 +59,18 @@ mdi-fast-forward - --> +
+ + mdi-rewind-5 + + + mdi-skip-previous + + + mdi-skip-next + + + mdi-fast-forward-5 + + - + {{ paused ? "mdi-play" : "mdi-pause" }} diff --git a/NUXT/components/Player/quality.vue b/NUXT/components/Player/quality.vue index 5d2d665..483500b 100644 --- a/NUXT/components/Player/quality.vue +++ b/NUXT/components/Player/quality.vue @@ -17,7 +17,12 @@ {{ sources.find((src) => src.url == video.src).qualityLabel }} - + Quality for current video - + Playback Speed mdi-chevron-up mdi-chevron-down
-
+
From f75a27c8b10479378df21de41f8612d0dfffaa0f Mon Sep 17 00:00:00 2001 From: Nikita Krupin Date: Sun, 29 May 2022 19:50:00 -0400 Subject: [PATCH 08/10] better watch page button text --- NUXT/components/Player/index.vue | 6 +++--- NUXT/pages/watch.vue | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/NUXT/components/Player/index.vue b/NUXT/components/Player/index.vue index 2e5f6b3..248beeb 100644 --- a/NUXT/components/Player/index.vue +++ b/NUXT/components/Player/index.vue @@ -88,7 +88,7 @@ style=" position: absolute; top: calc(50% - 1.25rem); - left: calc(50% - 9.5rem); + left: calc(50% - 10rem); " color="white" @click.stop="$refs.player.currentTime -= 5" @@ -101,7 +101,7 @@ style=" position: absolute; top: calc(50% - 1.75rem); - left: calc(50% - 6rem); + left: calc(50% - 6.5rem); " color="white" disabled @@ -260,7 +260,7 @@ export default {