Improved track display

This commit is contained in:
Kylart 2020-09-07 01:40:51 +02:00
parent 4699ec7aad
commit 8d29fad72d
4 changed files with 51 additions and 14 deletions

View File

@ -4,7 +4,14 @@
v-btn.ma-0(v-on='on', small, outlined, icon, color='secondary accent-2') v-btn.ma-0(v-on='on', small, outlined, icon, color='secondary accent-2')
v-icon(small) music_note v-icon(small) music_note
v-list(dense).subtitle-lang v-list(
dense,
subheader
)
v-subheader Audio Track
v-divider
v-list-item( v-list-item(
v-for='track in audios.tracks', v-for='track in audios.tracks',
:key='track.id', :key='track.id',
@ -12,13 +19,17 @@
) )
v-list-item-title( v-list-item-title(
:class="{ 'blue--text': audios.current && track.id === audios.current.id }" :class="{ 'blue--text': audios.current && track.id === audios.current.id }"
) {{ track.lang }} ) {{ getLangName(track) }}
</template> </template>
<script> <script>
import LangName from '@/mixins/video/tracks/languageName.js'
export default { export default {
name: 'Audios', name: 'Audios',
mixins: [LangName],
props: { props: {
audios: { audios: {
type: Object type: Object

View File

@ -4,7 +4,14 @@
v-btn.ma-0(v-on='on', small, outlined, icon, color='secondary accent-2') v-btn.ma-0(v-on='on', small, outlined, icon, color='secondary accent-2')
v-icon(small) subtitles v-icon(small) subtitles
v-list(dense).subtitle-lang v-list(
dense,
subheader
)
v-subheader Subtitle Track
v-divider
v-list-item( v-list-item(
v-for='track in subtitles.tracks', v-for='track in subtitles.tracks',
:key='track.id', :key='track.id',
@ -12,13 +19,17 @@
) )
v-list-item-title( v-list-item-title(
:class="{ 'blue--text': subtitles.current && track.id === subtitles.current.id }" :class="{ 'blue--text': subtitles.current && track.id === subtitles.current.id }"
) {{ track.lang }} ) {{ getLangName(track) }}
</template> </template>
<script> <script>
import LangName from '@/mixins/video/tracks/languageName.js'
export default { export default {
name: 'Subtitles', name: 'Subtitles',
mixins: [LangName],
props: { props: {
subtitles: { subtitles: {
type: Object type: Object

View File

@ -0,0 +1,15 @@
import { mapState } from 'vuex'
export default {
computed: {
...mapState('config', {
langToName: 'subtitlesLanguages'
})
},
methods: {
getLangName (track) {
return track.title || this.langToName[track.lang] || track.lang || `Track #${track.id}`
}
}
}

View File

@ -30,16 +30,16 @@ export const qualities = [
'1080p' '1080p'
] ]
export const subtitlesLanguages = [ export const subtitlesLanguages = {
{ value: 'en', text: 'English' }, eng: 'English',
{ value: 'ar', text: 'Arabic' }, ara: 'Arabic',
{ value: 'ge', text: 'German' }, ger: 'German',
{ value: 'sp', text: 'Spanish' }, spa: 'Spanish',
{ value: 'fr', text: 'French' }, fre: 'French',
{ value: 'it', text: 'Italian' }, ita: 'Italian',
{ value: 'po', text: 'Portuguese' }, por: 'Portuguese',
{ value: 'ru', text: 'Russian' } rus: 'Russian'
] }
export const providers = [ export const providers = [
{ value: 'mal', text: 'MyAnimeList.net' }, { value: 'mal', text: 'MyAnimeList.net' },