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 @@
![Blu-ray]()
+
{
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;