From 3e6cd185ae40b9f3a523334bea117755c83653a7 Mon Sep 17 00:00:00 2001 From: dragongoose Date: Mon, 21 Aug 2023 15:30:18 -0400 Subject: [PATCH] =?UTF-8?q?Audio-only=20support=20and=20invidious=20style?= =?UTF-8?q?=20selector=20=20=F0=9F=A5=B3=20#25?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/AudioPlayer.vue | 61 ++++++++++++++++++++++++++++++++++ src/main.ts | 4 +++ src/views/UserView.vue | 24 ++++++++++--- 3 files changed, 85 insertions(+), 4 deletions(-) create mode 100644 src/components/AudioPlayer.vue diff --git a/src/components/AudioPlayer.vue b/src/components/AudioPlayer.vue new file mode 100644 index 0000000..ed8a160 --- /dev/null +++ b/src/components/AudioPlayer.vue @@ -0,0 +1,61 @@ + + + \ No newline at end of file diff --git a/src/main.ts b/src/main.ts index 688f173..d49c8e5 100644 --- a/src/main.ts +++ b/src/main.ts @@ -22,6 +22,8 @@ app.provide('wsLink', `${wsProtocol}${import.meta.env.SAFETWITCH_BACKEND_DOMAIN} import { OhVueIcon, addIcons } from 'oh-vue-icons' import { IoSearchOutline, + BiHeadphones, + BiCameraVideoFill, IoLink, FaCircleNotch, BiTwitter, @@ -35,6 +37,8 @@ import { addIcons( IoSearchOutline, + BiHeadphones, + BiCameraVideoFill, IoLink, FaCircleNotch, BiTwitter, diff --git a/src/views/UserView.vue b/src/views/UserView.vue index fe7800f..4fcb0fa 100644 --- a/src/views/UserView.vue +++ b/src/views/UserView.vue @@ -8,6 +8,7 @@ import ErrorMessage from '@/components/ErrorMessage.vue' import FollowButton from '@/components/FollowButton.vue' import LoadingScreen from '@/components/LoadingScreen.vue' import VideoTab from '@/components/user/VideoTab.vue' +import AudioPlayer from '@/components/AudioPlayer.vue' import type { StreamerData } from '@/types' import { truncate, abbreviate, getEndpoint } from '@/mixins' @@ -32,11 +33,13 @@ export default { ], fluid: true } + const audioOptions = `${rootBackendUrl}/proxy/stream/${username}/hls.m3u8` return { data, status, - videoOptions + videoOptions, + audioOptions } }, async mounted() { @@ -56,7 +59,8 @@ export default { ErrorMessage, FollowButton, LoadingScreen, - VideoTab + VideoTab, + AudioPlayer }, methods: { truncate, @@ -78,7 +82,8 @@ export default { class="flex bg-ctp-crust flex-col p-6 rounded-lg w-[99vw] md:max-w-prose md:min-w-[65ch] lg:max-w-[70rem] text-white" >
- + +
-

{{ data.username }}

+
+

{{ data.username }}

+ + + + + + + +

{{ truncate(data.stream.title, 130) }}