diff --git a/package-lock.json b/package-lock.json
index 3697da3..c6c5e59 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -13,6 +13,7 @@
"oh-vue-icons": "^1.0.0-rc3",
"video.js": "^8.0.4",
"videojs-contrib-quality-levels": "^3.0.0",
+ "videojs-hls-quality-selector": "^1.1.4",
"vue": "^3.2.47",
"vue-router": "^4.1.6"
},
diff --git a/src/components/CategoryPreview.vue b/src/components/CategoryPreview.vue
new file mode 100644
index 0000000..1c72c35
--- /dev/null
+++ b/src/components/CategoryPreview.vue
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ category.displayName }}
+
+
{{ abbreviate(category.viewers) }} viewers
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/HomepageView.vue b/src/views/HomepageView.vue
index a679606..bbf8f3c 100644
--- a/src/views/HomepageView.vue
+++ b/src/views/HomepageView.vue
@@ -3,6 +3,7 @@ import { ref, type Ref } from 'vue'
import StreamPreviewVue from '@/components/StreamPreview.vue'
import ErrorMessage from '@/components/ErrorMessage.vue'
import LoadingScreen from '@/components/LoadingScreen.vue'
+import CategoryPreview from '@/components/CategoryPreview.vue'
export default {
async setup() {
@@ -20,14 +21,6 @@ export default {
}
},
methods: {
- abbreviate(text: number) {
- return Intl.NumberFormat('en-US', {
- //@ts-ignore
- notation: 'compact',
- maximumFractionDigits: 1
- }).format(text)
- },
-
filterSearches(toFilter: string) {
const categories = this.$refs.categoryItem
const wantedTags: string[] = toFilter.split(',').filter((v) => v.toLowerCase())
@@ -103,7 +96,8 @@ export default {
components: {
StreamPreviewVue,
ErrorMessage,
- LoadingScreen
+ LoadingScreen,
+ CategoryPreview
}
}
@@ -156,29 +150,7 @@ export default {
ref="categoryItem"
class="inline-flex m-2 hover:scale-105 transition-transform"
>
-
-
-
-
-
-
-
-
- {{ category.displayName }}
-
-
{{ abbreviate(category.viewers) }} viewers
-
-
-
-
-
+