diff --git a/src/mixins.ts b/src/mixins.ts index ed86740..acd90df 100644 --- a/src/mixins.ts +++ b/src/mixins.ts @@ -40,3 +40,14 @@ export async function getEndpoint(endpoint: string) { return data } + +export function chatVisible() { + const storage = localStorage.getItem('settings') + if (!storage) return true + const parsed = JSON.parse(storage) + + // Flip becuase on the setting page it's + // displayed as "Hide Chat", but the value + // is chatVisible + return !parsed.chatVisible.selected +} diff --git a/src/views/SettingsView.vue b/src/views/SettingsView.vue index d2c1487..9f3df88 100644 --- a/src/views/SettingsView.vue +++ b/src/views/SettingsView.vue @@ -17,6 +17,11 @@ export default { "selected": "480p", "type": "option" }, + "chatVisible": { + "name": "Hide Chat", + "selected": false, + "type": "checkbox" + }, } } else { settings = JSON.parse(storedSettings) diff --git a/src/views/UserView.vue b/src/views/UserView.vue index 6c6a073..d00e645 100644 --- a/src/views/UserView.vue +++ b/src/views/UserView.vue @@ -10,7 +10,7 @@ import LoadingScreen from '@/components/LoadingScreen.vue' import VideoTab from '@/components/user/VideoTab.vue' import type { StreamerData } from '@/types' -import { truncate, abbreviate, getEndpoint } from '@/mixins' +import { truncate, abbreviate, getEndpoint, chatVisible } from '@/mixins' export default { inject: ['rootBackendUrl'], @@ -59,7 +59,8 @@ export default { }, methods: { truncate, - abbreviate + abbreviate, + chatVisible } } @@ -167,6 +168,6 @@ export default { - + diff --git a/src/views/VodView.vue b/src/views/VodView.vue index e4a23be..e811666 100644 --- a/src/views/VodView.vue +++ b/src/views/VodView.vue @@ -9,7 +9,7 @@ import FollowButton from '@/components/FollowButton.vue' import LoadingScreen from '@/components/LoadingScreen.vue' import type { Video } from '@/types' -import { truncate, abbreviate, getEndpoint } from '@/mixins' +import { truncate, abbreviate, getEndpoint, chatVisible } from '@/mixins' interface ChatComponent { updateVodComments: (time: number) => void @@ -63,9 +63,11 @@ export default { truncate, abbreviate, handlePlayerTimeUpdate(time: number) { + if (!chatVisible()) return const chat = this.$refs.chat as ChatComponent chat.updateVodComments(time) - } + }, + chatVisible } } @@ -135,6 +137,6 @@ export default { - +