2022-05-28 05:16:27 +00:00
|
|
|
<template>
|
2022-05-29 18:13:09 +00:00
|
|
|
<div>
|
|
|
|
<v-bottom-sheet
|
|
|
|
v-model="sheet"
|
|
|
|
:attach="$parent.$refs.vidcontainer"
|
2022-06-09 16:39:44 +00:00
|
|
|
style="z-index: 777777"
|
2022-05-29 18:13:09 +00:00
|
|
|
scrollable
|
|
|
|
>
|
|
|
|
<template #activator="{ on, attrs }">
|
2023-05-08 10:41:11 +00:00
|
|
|
<v-btn
|
|
|
|
fab
|
|
|
|
text
|
|
|
|
small
|
|
|
|
color="white"
|
|
|
|
v-bind="attrs"
|
|
|
|
v-on="on"
|
|
|
|
>
|
2022-06-24 04:26:44 +00:00
|
|
|
{{
|
|
|
|
sources.find((src) => src.url == currentSource.src).qualityLabel
|
|
|
|
? sources.find((src) => src.url == currentSource.src).qualityLabel
|
|
|
|
: sources.find((src) => src.url == currentSource.src).quality
|
|
|
|
}}
|
2022-05-29 18:13:09 +00:00
|
|
|
</v-btn>
|
|
|
|
</template>
|
2022-06-07 18:39:26 +00:00
|
|
|
<v-card class="background">
|
|
|
|
<v-subheader
|
|
|
|
v-touch="{
|
|
|
|
down: () => (sheet = false),
|
|
|
|
}"
|
|
|
|
>
|
|
|
|
Quality for current video
|
2022-06-08 19:24:47 +00:00
|
|
|
<v-spacer />
|
|
|
|
<v-btn fab text small color="white" @click="sheet = false">
|
2022-06-07 18:39:26 +00:00
|
|
|
<v-icon>mdi-close</v-icon>
|
|
|
|
</v-btn>
|
|
|
|
</v-subheader>
|
|
|
|
<v-divider />
|
2022-06-08 17:56:14 +00:00
|
|
|
<v-card-text
|
2023-05-08 10:41:11 +00:00
|
|
|
style="max-height: 50vh; flex-direction: column !important"
|
2022-06-08 17:56:14 +00:00
|
|
|
class="pa-0 d-flex flex-column-reverse"
|
|
|
|
>
|
2022-05-29 18:42:39 +00:00
|
|
|
<v-list-item
|
|
|
|
v-for="src in sources"
|
|
|
|
:key="src"
|
2022-06-24 04:26:44 +00:00
|
|
|
two-line
|
2022-06-08 17:56:14 +00:00
|
|
|
@click="(sheet = false), $emit('quality', src.url)"
|
2022-05-29 18:42:39 +00:00
|
|
|
>
|
|
|
|
<v-list-item-avatar>
|
|
|
|
<v-icon
|
|
|
|
:color="
|
2022-06-08 17:56:14 +00:00
|
|
|
currentSource.src === src.url
|
2022-05-29 18:42:39 +00:00
|
|
|
? 'primary'
|
|
|
|
: $vuetify.theme.dark
|
|
|
|
? 'background lighten-2'
|
|
|
|
: 'background darken-2'
|
|
|
|
"
|
|
|
|
v-text="
|
2022-06-08 17:56:14 +00:00
|
|
|
currentSource.src === src.url
|
2022-05-30 01:44:51 +00:00
|
|
|
? 'mdi-radiobox-marked'
|
|
|
|
: 'mdi-radiobox-blank'
|
2022-05-29 18:42:39 +00:00
|
|
|
"
|
|
|
|
></v-icon>
|
|
|
|
</v-list-item-avatar>
|
2022-06-24 04:26:44 +00:00
|
|
|
<v-list-item-content>
|
|
|
|
<v-list-item-title>
|
|
|
|
{{ src.qualityLabel ? src.qualityLabel : "" }} ({{
|
|
|
|
src.quality
|
2023-05-08 10:41:11 +00:00
|
|
|
}}) {{ (src.bitrate / 1000000).toFixed(2) }}Mbps
|
2022-06-24 04:26:44 +00:00
|
|
|
</v-list-item-title>
|
|
|
|
<v-list-item-subtitle>
|
|
|
|
{{ src.mimeType }} {{ src.averageBitrate }}
|
|
|
|
</v-list-item-subtitle>
|
|
|
|
</v-list-item-content>
|
2022-05-29 18:42:39 +00:00
|
|
|
</v-list-item>
|
2022-05-29 18:13:09 +00:00
|
|
|
</v-card-text>
|
|
|
|
</v-card>
|
|
|
|
</v-bottom-sheet>
|
|
|
|
</div>
|
2022-05-28 05:16:27 +00:00
|
|
|
</template>
|
2022-05-29 18:13:09 +00:00
|
|
|
|
|
|
|
<script>
|
2023-05-08 10:41:11 +00:00
|
|
|
|
2022-05-29 18:13:09 +00:00
|
|
|
export default {
|
2022-06-08 17:56:14 +00:00
|
|
|
props: {
|
2023-05-08 10:41:11 +00:00
|
|
|
currentSource: {},
|
2022-06-08 17:56:14 +00:00
|
|
|
sources: {
|
|
|
|
type: Array,
|
|
|
|
required: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
emits: ["quality"],
|
2022-05-29 18:13:09 +00:00
|
|
|
data: () => ({
|
|
|
|
sheet: false,
|
|
|
|
}),
|
|
|
|
};
|
|
|
|
</script>
|