diff --git a/src/components/cards/TorrentCard.vue b/src/components/cards/TorrentCard.vue index 002c005f..2dda925a 100644 --- a/src/components/cards/TorrentCard.vue +++ b/src/components/cards/TorrentCard.vue @@ -81,10 +81,19 @@ async function downloadTorrentFile() { // 获取优惠类型样式 function getPromotionClass(downloadVolumeFactor: number | undefined, uploadVolumeFactor: number | undefined) { - if (!downloadVolumeFactor) return 'free-discount' - if (downloadVolumeFactor === 0) return 'free-discount' - else if (downloadVolumeFactor < 1) return 'percent-discount' - else if (uploadVolumeFactor !== undefined && uploadVolumeFactor > 1) return 'upload-bonus' + if (!downloadVolumeFactor) return 'bg-success' + if (downloadVolumeFactor === 0) return 'bg-success' + else if (downloadVolumeFactor < 1) return 'bg-orange' + else if (uploadVolumeFactor !== undefined && uploadVolumeFactor > 1) return 'bg-purple' + else return '' +} + +// 获取优惠标签类 +function getPromotionChipClass(downloadVolumeFactor: number | undefined, uploadVolumeFactor: number | undefined) { + if (!downloadVolumeFactor) return 'chip-free' + if (downloadVolumeFactor === 0) return 'chip-free' + else if (downloadVolumeFactor < 1) return 'chip-discount' + else if (uploadVolumeFactor !== undefined && uploadVolumeFactor > 1) return 'chip-bonus' else return '' } @@ -108,109 +117,147 @@ onMounted(() => { :width="props.width || '100%'" :variant="downloaded.includes(torrent?.enclosure || '') ? 'outlined' : 'flat'" @click="handleAddDownload(props.torrent)" - class="torrent-card h-full" - :class="{ 'downloaded-card': downloaded.includes(torrent?.enclosure || '') }" + class="h-full cursor-pointer transition-transform hover:-translate-y-1 duration-300 d-flex flex-column overflow-hidden torrent-card" + :class="{ 'border-success border-2 opacity-85': downloaded.includes(torrent?.enclosure || '') }" + hover >
-