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 {
-
+