diff --git a/frontend/src/assets/dvd.webp b/frontend/src/assets/dvd.webp new file mode 100644 index 0000000..dea82d4 Binary files /dev/null and b/frontend/src/assets/dvd.webp differ diff --git a/frontend/src/components/ReleaseVersionCard.vue b/frontend/src/components/ReleaseVersionCard.vue index 0c2da97..77ca912 100644 --- a/frontend/src/components/ReleaseVersionCard.vue +++ b/frontend/src/components/ReleaseVersionCard.vue @@ -35,10 +35,16 @@
+ { const isDisc = computed(() => { if (!props.torrent.playable_file) return false; - const filename = props.torrent.playable_file.toLowerCase(); - return filename.endsWith('movieobject.bdmv') || filename.endsWith('index.bdmv') || filename.endsWith('.iso'); + const filename = props.torrent.playable_file; + return blurayPlayablePattern.test(filename) || dvdPlayablePattern.test(filename) || filename.toLowerCase().endsWith('.iso'); +}); + +const isBlurayDisc = computed(() => { + if (!props.torrent.playable_file) return false; + return blurayPlayablePattern.test(props.torrent.playable_file); +}); + +const isDvdDisc = computed(() => { + if (!props.torrent.playable_file) return false; + return dvdPlayablePattern.test(props.torrent.playable_file); }); const showBlurayLogo = computed(() => { - if (!isDisc.value) return false; - const filename = (props.torrent.playable_file || '').toLowerCase(); - if (filename.endsWith('movieobject.bdmv') || filename.endsWith('index.bdmv')) return true; - return hasAnyTag( - blurayTagPattern, - props.torrent.quality, - props.torrent.codec, - props.torrent.audio, - props.torrent.title, - ); + return isBlurayDisc.value; +}); + +const showDvdLogo = computed(() => { + return isDvdDisc.value; }); const displayQualityBadge = computed(() => { @@ -285,7 +299,7 @@ function handleActivate(event: MouseEvent | KeyboardEvent) { align-self: stretch; } -.version-bluray-logo { +.version-disc-logo { align-self: center; width: auto; height: 22px;