added better hardsub handeling
This commit is contained in:
parent
f54cc1062a
commit
639c919ff0
@ -50,7 +50,7 @@ async function openAddAnime() {
|
|||||||
title: 'Add Anime',
|
title: 'Add Anime',
|
||||||
url: isProduction ? 'http://localhost:8079/addanime' : 'http://localhost:3000/addanime',
|
url: isProduction ? 'http://localhost:8079/addanime' : 'http://localhost:3000/addanime',
|
||||||
width: 700,
|
width: 700,
|
||||||
height: 450,
|
height: 550,
|
||||||
backgroundColor: '#111111'
|
backgroundColor: '#111111'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -233,6 +233,34 @@
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div v-if="service === 'crunchyroll'" class="relative flex flex-col select-none">
|
||||||
|
<div @click="selectHardSub ? (selectHardSub = false) : (selectHardSub = true)" class="bg-[#5c5b5b] focus:outline-none px-3 py-2 rounded-xl text-sm text-center cursor-pointer">
|
||||||
|
Hardsub:
|
||||||
|
{{ selectedHardSub ? `${selectedHardSub.name} (${selectedHardSub.format})` : 'No Hardsub selected' }}
|
||||||
|
</div>
|
||||||
|
<div v-if="selectHardSub" class="absolute top-full left-0 w-full bg-[#868585] rounded-xl h-40 grid grid-cols-8 gap-1 p-1 z-10 overflow-y-scroll">
|
||||||
|
<button
|
||||||
|
v-for="l in CRselectedShow?.Subs.map((s) => {
|
||||||
|
return { name: locales.find((l) => l.locale === s) ? locales.find((l) => l.locale === s)?.name : s, locale: s }
|
||||||
|
})"
|
||||||
|
@click="toggleHardsub(l, 'sub')"
|
||||||
|
class="flex flex-row items-center justify-center gap-3 py-2 rounded-xl text-sm"
|
||||||
|
:class="selectedHardSub && selectedHardSub.locale === l.locale && selectedHardSub.format === 'sub' ? 'bg-[#585858]' : 'hover:bg-[#747474]'"
|
||||||
|
>
|
||||||
|
{{ l.name }}<br>(sub)
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
v-for="l in CRselectedShow?.Dubs.map((s) => {
|
||||||
|
return { name: locales.find((l) => l.locale === s) ? locales.find((l) => l.locale === s)?.name : s, locale: s }
|
||||||
|
})"
|
||||||
|
@click="toggleHardsub(l, 'dub')"
|
||||||
|
class="flex flex-row items-center justify-center gap-3 py-2 rounded-xl text-sm"
|
||||||
|
:class="selectedHardSub && selectedHardSub.locale === l.locale && selectedHardSub.format === 'dub' ? 'bg-[#585858]' : 'hover:bg-[#747474]'"
|
||||||
|
>
|
||||||
|
{{ l.name }}<br>(dub)
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div v-if="service === 'adn' && ADNselectedShow" class="relative flex flex-col select-none">
|
<div v-if="service === 'adn' && ADNselectedShow" class="relative flex flex-col select-none">
|
||||||
<div @click="selectSub ? (selectSub = false) : (selectSub = true)" class="bg-[#5c5b5b] focus:outline-none px-3 py-2 rounded-xl text-sm text-center cursor-pointer">
|
<div @click="selectSub ? (selectSub = false) : (selectSub = true)" class="bg-[#5c5b5b] focus:outline-none px-3 py-2 rounded-xl text-sm text-center cursor-pointer">
|
||||||
Subs:
|
Subs:
|
||||||
@ -258,7 +286,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex flex-row gap-3">
|
<div class="flex flex-row gap-3">
|
||||||
<div v-if="service === 'crunchyroll'" class="relative flex flex-col w-full">
|
<!-- <div v-if="service === 'crunchyroll'" class="relative flex flex-col w-full">
|
||||||
<select
|
<select
|
||||||
v-model="hardsub"
|
v-model="hardsub"
|
||||||
name="episode"
|
name="episode"
|
||||||
@ -275,7 +303,7 @@
|
|||||||
<Icon name="mdi:loading" class="h-6 w-6 animate-spin" />
|
<Icon name="mdi:loading" class="h-6 w-6 animate-spin" />
|
||||||
<div class="text-sm">Loading</div></div
|
<div class="text-sm">Loading</div></div
|
||||||
>
|
>
|
||||||
</div>
|
</div> -->
|
||||||
<div v-if="service === 'crunchyroll'" class="relative flex flex-col w-full">
|
<div v-if="service === 'crunchyroll'" class="relative flex flex-col w-full">
|
||||||
<select v-model="quality" name="quality" class="bg-[#5c5b5b] focus:outline-none px-3 py-2 rounded-xl text-sm text-center cursor-pointer">
|
<select v-model="quality" name="quality" class="bg-[#5c5b5b] focus:outline-none px-3 py-2 rounded-xl text-sm text-center cursor-pointer">
|
||||||
<option :value="1080" class="text-sm text-slate-200">1080p</option>
|
<option :value="1080" class="text-sm text-slate-200">1080p</option>
|
||||||
@ -400,6 +428,9 @@ const subLocales = ref<Array<{ locale: string; name: string }>>([])
|
|||||||
const selectSub = ref<boolean>(false)
|
const selectSub = ref<boolean>(false)
|
||||||
const selectedSubs = ref<Array<{ name: string | undefined; locale: string }>>([])
|
const selectedSubs = ref<Array<{ name: string | undefined; locale: string }>>([])
|
||||||
|
|
||||||
|
const selectHardSub = ref<boolean>(false)
|
||||||
|
const selectedHardSub = ref<{ name: string | undefined; locale: string, format: string }>()
|
||||||
|
|
||||||
const tab = ref<number>(1)
|
const tab = ref<number>(1)
|
||||||
const search = ref<string>('')
|
const search = ref<string>('')
|
||||||
const searchActive = ref<boolean>(false)
|
const searchActive = ref<boolean>(false)
|
||||||
@ -836,6 +867,18 @@ const toggleSub = (lang: { name: string | undefined; locale: string }) => {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const toggleHardsub = (lang: { name: string | undefined; locale: string }, format: string) => {
|
||||||
|
if (selectedHardSub.value && selectedHardSub.value.format === format && selectedHardSub.value.name === lang.name) {
|
||||||
|
selectedHardSub.value = undefined
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
selectedHardSub.value = {
|
||||||
|
...lang,
|
||||||
|
format: format
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const addToPlaylist = async () => {
|
const addToPlaylist = async () => {
|
||||||
if (!episodes.value) return
|
if (!episodes.value) return
|
||||||
|
|
||||||
@ -854,7 +897,7 @@ const addToPlaylist = async () => {
|
|||||||
dubs: selectedDubs.value,
|
dubs: selectedDubs.value,
|
||||||
subs: selectedSubs.value,
|
subs: selectedSubs.value,
|
||||||
dir: path.value,
|
dir: path.value,
|
||||||
hardsub: hardsub.value,
|
hardsub: selectedHardSub.value,
|
||||||
quality: quality.value,
|
quality: quality.value,
|
||||||
qualityaudio: qualityaudio.value,
|
qualityaudio: qualityaudio.value,
|
||||||
service: 'CR',
|
service: 'CR',
|
||||||
|
Reference in New Issue
Block a user